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

Reply via email to