-
Notifications
You must be signed in to change notification settings - Fork 57
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
Fix sample stats for step invariant and subquery #506
Conversation
924e9c4
to
d122688
Compare
c40ab9b
to
f86337d
Compare
ff6d901
to
7263b8d
Compare
engine/explain.go
Outdated
if a.OperatorTelemetry.StepInvariant() { | ||
// Children of step invariant operator outputs one step, but they should be counted towards all the steps. | ||
for i := 0; i < len(a.totalSamplesPerStep); i++ { | ||
childSamples := child.TotalSamples() |
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.
Do we need to recalculate this for each loop iteration?
I also wonder if we can modify the implementation of the step invariant analysis to fit into the existing algorithm instead of tweaking the algorithm to specially handle the step invariant case.
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 also wonder if we can modify the implementation of the step invariant analysis
The other option was to IncrementSamples() in StepInvariant operator and skip counting samples from its children. I initially preferred this option, but ran into problem with pi()
. The stepInvariant operator doesn't know if these samples are real samples or synthetic samples.
7263b8d
to
0145afa
Compare
Signed-off-by: 🌲 Harry 🌊 John 🏔 <[email protected]>
1d2c3de
to
1f7de1f
Compare
Signed-off-by: 🌲 Harry 🌊 John 🏔 <[email protected]>
1f7de1f
to
d89d82a
Compare
Signed-off-by: 🌲 Harry 🌊 John 🏔 <[email protected]>
Changes
Note
Fuzzing did uncover a case which cannot be addressed without an upstream change