You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafodion.apache.org by se...@apache.org on 2019/02/01 18:33:30 UTC
[trafodion] branch master updated: [TRAFODION-3260] SSMP may wait 3
seconds before handling requests
This is an automated email from the ASF dual-hosted git repository.
selva pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafodion.git
The following commit(s) were added to refs/heads/master by this push:
new d7ca0aa [TRAFODION-3260] SSMP may wait 3 seconds before handling requests
new dcacef0 Merge pull request #1786 from zhenxingh/traf-3260-ssmp-wait-3-seconds
d7ca0aa is described below
commit d7ca0aabff11fa12901dd9ba1f6b234556295844
Author: He Zhenxing <zh...@esgyn.cn>
AuthorDate: Wed Jan 30 16:55:00 2019 +0800
[TRAFODION-3260] SSMP may wait 3 seconds before handling requests
---
core/sql/bin/ex_ssmp_main.cpp | 9 +++++++--
core/sql/runtimestats/ssmpipc.cpp | 2 +-
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/core/sql/bin/ex_ssmp_main.cpp b/core/sql/bin/ex_ssmp_main.cpp
index cfbe07b..6797890 100755
--- a/core/sql/bin/ex_ssmp_main.cpp
+++ b/core/sql/bin/ex_ssmp_main.cpp
@@ -51,6 +51,7 @@
#include "PortProcessCalls.h"
#include "seabed/ms.h"
#include "seabed/fs.h"
+#include "seabed/pctl.h"
extern void my_mpi_fclose();
#include "SCMVersHelp.h"
DEFINE_DOVERS(mxssmp)
@@ -246,8 +247,12 @@ void runServer(Int32 argc, char **argv)
}
}
*/
- // wait for system messages only until ssmp starts receiving msgs.
- cc->wait(300);
+ // Wait for messages, but we need ssmp to wake up periodically to
+ // perform garbage collection.
+ short mask = XWAIT(LREQ | LDONE, ssmpGlobals->getStatsMergeTimeout());
+ if (mask & LREQ) {
+ cc->wait(0);
+ }
// go do GC.
ssmpGlobals->work();
}
diff --git a/core/sql/runtimestats/ssmpipc.cpp b/core/sql/runtimestats/ssmpipc.cpp
index e56c761..98fc04c 100755
--- a/core/sql/runtimestats/ssmpipc.cpp
+++ b/core/sql/runtimestats/ssmpipc.cpp
@@ -540,7 +540,7 @@ static Int64 SikGcInterval = -1;
void SsmpGlobals::work()
{
- getIpcEnv()->getAllConnections()->waitOnAll(getStatsMergeTimeout());
+ getIpcEnv()->getAllConnections()->waitOnAll(0);
finishPendingSscpMessages();
// Cleanup IpcEnvironment