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