zhenxingh commented on a change in pull request #1786: [TRAFODION-3260] SSMP
may wait 3 seconds before handling requests
URL: https://github.com/apache/trafodion/pull/1786#discussion_r252545887
##########
File path: core/sql/bin/ex_ssmp_main.cpp
##########
@@ -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);
Review comment:
There is a subtle difference, the waitOnAll() function called in
ssmpGlobals::work() does not wait on all connections simultaneously, it
actually only waits on the first connection with an exponentially increased
timeout (3 seconds maximum), and then cycle through all other connections
without waiting. This can still lead to a unnecessary wait if there are data
arrival on connections other than the first.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services