diff --git a/dbcon/joblist/resourcemanager.cpp b/dbcon/joblist/resourcemanager.cpp
index 03d05bfda..cbf44109f 100644
--- a/dbcon/joblist/resourcemanager.cpp
+++ b/dbcon/joblist/resourcemanager.cpp
@@ -87,7 +87,8 @@ ResourceManager::ResourceManager(bool runningInExeMgr) :
0),
fHJPmMaxMemorySmallSideSessionMap(
getUintVal(fHashJoinStr, "PmMaxMemorySmallSide", defaultHJPmMaxMemorySmallSide)),
- isExeMgr(runningInExeMgr)
+ isExeMgr(runningInExeMgr),
+ fJlMaxOutstandingRequests(defaultMaxOutstandingRequests)
{
int temp;
int configNumCores = -1;
@@ -127,9 +128,27 @@ ResourceManager::ResourceManager(bool runningInExeMgr) :
temp = getIntVal(fJobListStr, "ProcessorThreadsPerScan", -1);
+
if (temp > 0)
fJlProcessorThreadsPerScan = temp;
+ temp = getIntVal(fJobListStr, "MaxOutstandingRequests", -1);
+
+ if (temp > 0)
+ fJlMaxOutstandingRequests = temp;
+ else
+ {
+ oam::Oam oam;
+ oam::ModuleTypeConfig moduletypeconfig;
+ oam.getSystemConfig("pm", moduletypeconfig);
+ const auto temp = moduletypeconfig.ModuleCount * fNumCores * 4 / fJlProcessorThreadsPerScan;
+
+ if (temp > defaultMaxOutstandingRequests)
+ {
+ fJlMaxOutstandingRequests = temp;
+ }
+ }
+
temp = getIntVal(fJobListStr, "NumScanReceiveThreads", -1);
if (temp > 0)
@@ -140,7 +159,7 @@ ResourceManager::ResourceManager(bool runningInExeMgr) :
if (temp > 0)
fTwNumThreads = temp;
- pmJoinMemLimit = getIntVal(fHashJoinStr, "PmMaxMemorySmallSide",
+ pmJoinMemLimit = getUintVal(fHashJoinStr, "PmMaxMemorySmallSide",
defaultHJPmMaxMemorySmallSide);
// Need to use different limits if this instance isn't running on the UM,
@@ -200,10 +219,12 @@ ResourceManager::ResourceManager(bool runningInExeMgr) :
nt = fConfig->getConfig("RowAggregation", "RowAggrThreads");
if (nt.empty())
- if ( numCores() < 4 )
+ {
+ if ( numCores() > 0 )
fAggNumThreads = numCores();
else
- fAggNumThreads = 4;
+ fAggNumThreads = 1;
+ }
else
fAggNumThreads = fConfig->uFromText(nt);
@@ -213,7 +234,7 @@ ResourceManager::ResourceManager(bool runningInExeMgr) :
fAggNumBuckets = fAggNumThreads * 4;
else
fAggNumBuckets = fConfig->uFromText(nb);
-
+
nr = fConfig->getConfig("RowAggregation", "RowAggrRowGroupsPerThread");
if (nr.empty())
diff --git a/dbcon/joblist/resourcemanager.h b/dbcon/joblist/resourcemanager.h
index 4a92a35b2..d9190419c 100644
--- a/dbcon/joblist/resourcemanager.h
+++ b/dbcon/joblist/resourcemanager.h
@@ -261,7 +261,8 @@ public:
}
uint32_t getJlMaxOutstandingRequests() const
{
- return getUintVal(fJobListStr, "MaxOutstandingRequests", defaultMaxOutstandingRequests);
+ return fJlMaxOutstandingRequests;
+ //getUintVal(fJobListStr, "MaxOutstandingRequests", defaultMaxOutstandingRequests);
}
uint32_t getJlJoinerChunkSize() const
{
@@ -577,6 +578,7 @@ private:
uint32_t fJlProcessorThreadsPerScan;
uint32_t fJlNumScanReceiveThreads;
uint8_t fTwNumThreads;
+ uint32_t fJlMaxOutstandingRequests;
/* old HJ support */
ResourceDistributor fHJUmMaxMemorySmallSideDistributor;
diff --git a/oam/etc/Columnstore.xml b/oam/etc/Columnstore.xml
index 78ecc633e..d07d0c0de 100644
--- a/oam/etc/Columnstore.xml
+++ b/oam/etc/Columnstore.xml
@@ -486,8 +486,8 @@
128
128K
- 128
- 64M
+ 64
+ 1G
50%
10%
100
@@ -500,7 +500,7 @@
16K
- 32
+ 16
1
- 20
+
100
diff --git a/oam/etc/Columnstore.xml.singleserver b/oam/etc/Columnstore.xml.singleserver
index de91668f0..260f0caf7 100644
--- a/oam/etc/Columnstore.xml.singleserver
+++ b/oam/etc/Columnstore.xml.singleserver
@@ -477,8 +477,8 @@
128
128K
- 128
- 64M
+ 64
+ 1G
25%
10%
100
@@ -491,7 +491,7 @@
16K
- 32
+ 16
1
- 20
+
100
diff --git a/tools/configMgt/autoConfigure.cpp b/tools/configMgt/autoConfigure.cpp
index 04754cb5c..2f30a14bd 100644
--- a/tools/configMgt/autoConfigure.cpp
+++ b/tools/configMgt/autoConfigure.cpp
@@ -2122,7 +2122,6 @@ int main(int argc, char* argv[])
{
ColScanReadAheadBlocks = sysConfigOld->getConfig("PrimitiveServers", "ColScanReadAheadBlocks");
PrefetchThreshold = sysConfigOld->getConfig("PrimitiveServers", "PrefetchThreshold");
- MaxOutstandingRequests = sysConfigOld->getConfig("JobList", "MaxOutstandingRequests");
PmMaxMemorySmallSide = sysConfigOld->getConfig("HashJoin", "PmMaxMemorySmallSide");
ThreadPoolSize = sysConfigOld->getConfig("JobList", "ThreadPoolSize");
}
@@ -2133,7 +2132,6 @@ int main(int argc, char* argv[])
{
sysConfigNew->setConfig("PrimitiveServers", "ColScanReadAheadBlocks", ColScanReadAheadBlocks);
sysConfigNew->setConfig("PrimitiveServers", "PrefetchThreshold", PrefetchThreshold);
- sysConfigNew->setConfig("JobList", "MaxOutstandingRequests", MaxOutstandingRequests);
sysConfigNew->setConfig("HashJoin", "PmMaxMemorySmallSide", PmMaxMemorySmallSide);
sysConfigNew->setConfig("JobList", "ThreadPoolSize", ThreadPoolSize);
}