-
Notifications
You must be signed in to change notification settings - Fork 304
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-32922 Capture lookahead timings for join and keyedjoin activities #19255
Conversation
Jira Issue: https://hpccsystems.atlassian.net//browse/HPCC-32922 Jirabot Action Result: |
cfedbed
to
888ad90
Compare
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 - please see comments.
@@ -2662,6 +2662,7 @@ class CKeyedJoinSlave : public CSlaveActivity, implements IJoinProcessor, implem | |||
} | |||
void readAhead() | |||
{ | |||
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 means it will only update at the very end of reading the whole LHS input.
Perhaps should do every rows, it should call a t.commitTime() - that updates and reset startTime to current.
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.
But also, I'm not sure that what it's considering as lookahead time is correct here (not just the time it spend reading from the input). Is it right?
As it stands, it's going to consider the input read time + the rest of the logica here in readAhead (e.g. the matching, lookup etc.), so totalCycles + lookAheadCycles - inputCycles, could leave local cycles looking too big,
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.
I'm putting the lookahead around just the two inputStream->nextRow calls. That should mean that the tracking is more frequent and it should exclude the time for the other logic.
@@ -1447,6 +1447,7 @@ class CInMemJoinBase : public CSlaveActivity, public CAllOrLookupHelper<HELPER>, | |||
IBitSet *queryRhsChannelStopSet() { dbgassertex(0 == queryJobChannelNumber()); return rhsChannelStop; } | |||
void startLeftInput() | |||
{ | |||
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.
why not around the startInput(0) ?
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.
The changes related to lookahead in thlookupjoinslave.cpp is being done in #19261. This change is removed from this PR.
@@ -1565,6 +1566,7 @@ class CInMemJoinBase : public CSlaveActivity, public CAllOrLookupHelper<HELPER>, | |||
CAsyncCallStart asyncLeftStart(std::bind(&CInMemJoinBase::startLeftInput, this)); | |||
try | |||
{ | |||
ActivityTimer s(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.
Unless I've missed something I think this should move to head of this start() function.
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.
The changes related to lookahead in thlookupjoinslave.cpp is being done in #19261. This change is removed from this PR.
d8e637f
to
cea98b2
Compare
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. Please update the commit, PR and JIRA message to indicate that it is related to join and keyedjoin only.
Please go ahead and squash.
Signed-off-by: Shamser Ahmed <[email protected]>
@jakesmith Squashed. |
Jirabot Action Result: |
Type of change:
Checklist:
Smoketest:
Testing: