-
Notifications
You must be signed in to change notification settings - Fork 303
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HPCC-32930 Capture and report start timings for activities derived from CInMemJoinBase #19261
Conversation
Jira Issue: https://hpccsystems.atlassian.net//browse/HPCC-32930 Jirabot Action Result: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@shamser - a couple of issues
@@ -1449,7 +1449,10 @@ class CInMemJoinBase : public CSlaveActivity, public CAllOrLookupHelper<HELPER>, | |||
{ | |||
try | |||
{ | |||
startInput(0); | |||
{ | |||
LookAheadTimer t(slaveTimerStats, timeActivities); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this isn't necessarily look ahead time, startLeftInput() can be called synchronously:
if (rhsStartedBefore && isRhsConstant()) // if this is the 2nd+ iteration and the RHS is constant, don't bother restarting right, it will not be used.
{
startLeftInput();
}
else
{
CAsyncCallStart asyncLeftStart(std::bind(&CInMemJoinBase::startLeftInput, this));
@@ -1565,6 +1568,7 @@ class CInMemJoinBase : public CSlaveActivity, public CAllOrLookupHelper<HELPER>, | |||
CAsyncCallStart asyncLeftStart(std::bind(&CInMemJoinBase::startLeftInput, this)); | |||
try | |||
{ | |||
ActivityTimer timer(slaveTimerStats, timeActivities); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should be a head of start, so it includes the whole of start() time afaics.
and normally for convention only: "ActivityTimer s(slaveTimerStats, timeActivities);" i.e. 's' for start.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@shamser - 1 minor comment that I think worth addressing before squashing.
@@ -1462,6 +1465,10 @@ class CInMemJoinBase : public CSlaveActivity, public CAllOrLookupHelper<HELPER>, | |||
leftexception.setown(e); | |||
} | |||
} | |||
void startLeftInputAsync() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
minor: not needed, see comment on async (bind) call below
@@ -1565,10 +1573,9 @@ class CInMemJoinBase : public CSlaveActivity, public CAllOrLookupHelper<HELPER>, | |||
} | |||
else | |||
{ | |||
CAsyncCallStart asyncLeftStart(std::bind(&CInMemJoinBase::startLeftInput, this)); | |||
CAsyncCallStart asyncLeftStart(std::bind(&CInMemJoinBase::startLeftInputAsync, this)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
instead of introducing a new method, can pass (bind) the bool here:
CAsyncCallStart asyncLeftStart(std::bind(&CInMemJoinBase::startLeftInput, this, true));
…om CInMemJoinBase Capture start timing for input activities started asynchronously by CInMemJoinBase. Signed-off-by: Shamser Ahmed <shamser.ahmed@lexisnexis.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@shamser - looks good.
Jirabot Action Result: |
Capture start timing for input activities started asynchronously by CInMemJoinBase.
Type of change:
Checklist:
Smoketest:
Testing: