[ 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)