[
https://issues.apache.org/jira/browse/TRAFODION-2146?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15412591#comment-15412591
]
ASF GitHub Bot commented on TRAFODION-2146:
-------------------------------------------
Github user DaveBirdsall commented on a diff in the pull request:
https://github.com/apache/incubator-trafodion/pull/647#discussion_r73969758
--- Diff: core/sqf/src/stfs/stfs_stub.cpp ---
@@ -328,63 +332,69 @@ copySTFSLocation(int pv_instnum)
{
//Directory locations not specified
- if ((STFS_stub::stfsDirsHDD_.numLocations <= 0) &&
(STFS_stub::overflowType_ == STFS_HDD)) {
+ if ((STFS_stub::stfsDirsHDD_.numLocations <= 0) &&
(STFS_stub::overflowType_ == STFS_HDD))
return;
- }
- if ((STFS_stub::stfsDirsSSD_.numLocations <= 0) &&
(STFS_stub::overflowType_ == STFS_SSD)) {
+
+ if ((STFS_stub::stfsDirsSSD_.numLocations <= 0) &&
(STFS_stub::overflowType_ == STFS_SSD))
return;
- }
+
- if(STFS_stub::overflowType_ == STFS_HDD) {
- copyLocationHelper(STFS_stub::stfsDirsHDD_, pv_instnum);
- }
- else if(STFS_stub::overflowType_ == STFS_SSD) {
+ if(STFS_stub::overflowType_ == STFS_HDD)
+ copyLocationHelper(STFS_stub::stfsDirsHDD_, pv_instnum);
+ else if(STFS_stub::overflowType_ == STFS_SSD)
copyLocationHelper(STFS_stub::stfsDirsSSD_, pv_instnum);
- }
+
- if (STFS_stub::stfsLocation_[strlen(STFS_stub::stfsLocation_) - 1] !=
'/') {
+ if (STFS_stub::stfsLocation_[strlen(STFS_stub::stfsLocation_) - 1] !=
'/')
strcat(STFS_stub::stfsLocation_, "/");
- }
-
+
}
+/// \brief Sets the scratchdisks as specified in the CQD SCRATCH_DISKS
+/// and avoids looking at envvar
+void STFS_set_scratch_dirs(char *pv_scratchloc)
+{
+ memset(STFS_stub::scratchCQDLocationString_, 0,
sizeof(STFS_stub::scratchCQDLocationString_));
+ strcpy((char *)STFS_stub::scratchCQDLocationString_,pv_scratchloc);
--- End diff --
strncpy would be safer (notwithstanding that scratchCQDLocationString_ is
almost 131072 bytes)
> Use of CQD to set scratch directory locations
> ---------------------------------------------
>
> Key: TRAFODION-2146
> URL: https://issues.apache.org/jira/browse/TRAFODION-2146
> Project: Apache Trafodion
> Issue Type: Improvement
> Components: foundation, sql-exe
> Reporter: Sandhya Sundaresan
> Assignee: Sandhya Sundaresan
>
> Allow a CQD specification to override the env settings for STFS locations.
> Currently the scratch directory locations and set at installtion time . The
> STFS layer that manages the scratch file creation reads the envvar in ms.env
> to determine where to create the scratch files.
> Now we allow a CQD to be specified that will override the envvar setting. If
> the CQD is not set (empty) , the envvar setting will work. This will give the
> user some flexibility to change scratch directory locations. The requirement
> is that the directoryies MUST exists on every node and that Trafodion user
> will need permissions to write to those directories. If not an error will be
> returned when a query invliving sort/hash overflow is executed. .
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)