[ 
https://issues.apache.org/jira/browse/ASTERIXDB-1407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15253479#comment-15253479
 ] 

Yingyi Bu commented on ASTERIXDB-1407:
--------------------------------------

>> 2. The data properties of the probe branch can still be maintained after a 
>> nested loop join but a broadcast will clear all data properties of a branch.
It turns out that this is not true because of the I/O optimization we did for 
block nested loop join:

{noformat}
\\ iterate over the build (inner) branch frames
 while (runFileReader.nextFrame(innerBuffer)) {
                \\ iterate over the probe (outer) branch frames
                for (int i = 0; i < outerBufferMngr.getNumFrames(); i++) {
                    blockJoin(outerBufferMngr.getFrame(i, tempInfo), 
innerBuffer.getBuffer(), writer);
                }
}
{noformat}

> Let the build branch instead of the probe branch to broadcast for NLJ
> ---------------------------------------------------------------------
>
>                 Key: ASTERIXDB-1407
>                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-1407
>             Project: Apache AsterixDB
>          Issue Type: Improvement
>            Reporter: Yingyi Bu
>            Assignee: Yingyi Bu
>
> There are two motivations for that change:
> 1.  Usually the build branch is smaller;
> 2.  The data properties of the probe branch can still be maintained after a 
> nested loop join but a broadcast will clear all data properties of a branch.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to