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: commits-unsubscr...@pinot.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org For additional commands, e-mail: commits-h...@pinot.apache.org