Shiva Jahangiri created ASTERIXDB-2656:
------------------------------------------

             Summary: No need for frame constraint in probe phase of hybrid 
hash join
                 Key: ASTERIXDB-2656
                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-2656
             Project: Apache AsterixDB
          Issue Type: Bug
          Components: *DB - AsterixDB
            Reporter: Shiva Jahangiri


In an optimized hybrid hash join, there is a constraint that a spilled 
partition cannot have more than 1 frame. While it seems to be necessary during 
the build phase to help with having as much data for in-memory partitions, it 
seems an unnecessary constraint during the probe phase.

During the probe, we should let the spilled partitions to grow and use the 
leftover frames not used by in-memory partitions. This also solves a bug that 
hybrid hash join currently has.

During the probe phase, in case there is not enough memory for inserting a 
large record, asterixdb may either flush the record directly to the disk or 
spill the largest spilled partition to the disk, depending on which one is 
larger. In the case that the biggest spilled partition is the vicitim to flush 
and release the frames, the large record cannot use the freed frames as it 
belongs to a spilled partition(otherwise it would have been probed) and as such 
1-frame limit is applied on it.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to