songwdfu opened a new pull request, #16205:
URL: https://github.com/apache/pinot/pull/16205
Currently all hashtables build sequentially in a single query. Consider the
a query with two hashjoins:
```
HashJoin1
| \
HashJoin2 Scan1
| \
Scan2 Scan3
```
When calling `getNextBlock` on HashJoin1, it bulids hashtable by getting all
blocks from right-side Scan1 before calling `getNextBlock` on HashJoin2, only
after which HashJoin2 get blocks from Scan3 and build its hash table.
Essentially hashtable build for HashJoin2 waits for that of HashJoin1.
This PR enables async build of hashtables by introducing a `init` method.
Consider the same scenario, when calling `getNextBlock` on HashJoin1, it calls
`init` that first start an async hashtable build for HashJoin1, then calls
`init` on its child HashJoin2 to trigger its async hashtable build, allowing
them to be built concurrently.
--
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]