imply-cheddar opened a new pull request, #13580:
URL: https://github.com/apache/druid/pull/13580

   Change the Operator interface introduced for Window functions to be more of 
a push-model.  The impetus for this is to generate better stack traces.  With 
the pull-based model, the stack trace of an exception shows the operator chain 
that still has work to do without any indication of which operators have done 
work so far.
   
   With the change in the API introduced here, we will produce stack traces 
that start with the full operator chain running down the `.go()` method.  Then 
the stack will walk back up towards the `Receiver` that was passed into the 
`.go()` method.  This should produce a stack trace that tells us both the full 
operator chain that is being executed as well as give an indication of what 
actions have happened so far as the data has been processed.
   
   It remains important that Operators are implemented directly without any 
usage of fluent-style programming.  This is something that we will likely have 
to enforce through review.
   
   This PR is a refactoring with no additional functionality.
   
   It's based on this HTTP refactoring, so cannot be merged until that is 
merged: https://github.com/apache/druid/pull/13564
   
   It probably also shouldn't be reviewed until that is merged as this will 
contain all of the diffs for that PR too.
   
   This PR has:
   
   - [ ] been self-reviewed.
      - [ ] using the [concurrency 
checklist](https://github.com/apache/druid/blob/master/dev/code-review/concurrency.md)
 (Remove this item if the PR doesn't have any relation to concurrency.)
   - [ ] added documentation for new or modified features or behaviors.
   - [ ] a release note entry in the PR description.
   - [ ] added Javadocs for most classes and all non-trivial methods. Linked 
related entities via Javadoc links.
   - [ ] added or updated version, license, or notice information in 
[licenses.yaml](https://github.com/apache/druid/blob/master/dev/license.md)
   - [ ] added comments explaining the "why" and the intent of the code 
wherever would not be obvious for an unfamiliar reader.
   - [ ] added unit tests or modified existing tests to cover new code paths, 
ensuring the threshold for [code 
coverage](https://github.com/apache/druid/blob/master/dev/code-review/code-coverage.md)
 is met.
   - [ ] added integration tests.
   - [ ] been tested in a test Druid cluster.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to