You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@tajo.apache.org by Jung JaeHwa <jh...@gruter.com> on 2014/02/27 04:01:53 UTC

Review Request 18556: TAJO-620: A join query can cause IndexOutOfBoundsException if one of tables is empty.

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18556/
-----------------------------------------------------------

Review request for Tajo.


Bugs: TAJO-620
    https://issues.apache.org/jira/browse/TAJO-620


Repository: tajo


Description
-------

A join query can cause IndexOutOfBoundsException if one of tables is empty. The reproduction condition is very straightforward. We should fix it.


Diffs
-----

  tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/benchmark/TPCH.java 2e12b1d 
  tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/Repartitioner.java 0d3f95e 
  tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java 3a95724 
  tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testInnerJoinWithEmptyTable.sql PRE-CREATION 
  tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testInnerJoinWithEmptyTable.result PRE-CREATION 

Diff: https://reviews.apache.org/r/18556/diff/


Testing
-------

mvn clean install


Thanks,

Jung JaeHwa


Re: Review Request 18556: TAJO-620: A join query can cause IndexOutOfBoundsException if one of tables is empty.

Posted by Hyunsik Choi <hy...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18556/#review35591
-----------------------------------------------------------


The bug fix looks nice for me. I leave some comments about more comments and correctness.


tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/Repartitioner.java
<https://reviews.apache.org/r/18556/#comment66231>

    Could you comment the purpose of this code?
    
    Actually, so far, we have been lazy for commenting. Later, we need to make an effort to add more comprehensive comments.



tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/Repartitioner.java
<https://reviews.apache.org/r/18556/#comment66232>

    It may be wrong in some cases. groupby, sort, limit, and projection can be stacked on the JoinNode. In those cases, this if-condition will pass this workaround code.
    
    If you use PlannerUtil.findMostBottomNode, it will be true in all cases because the most bottom join node is the subject to require the shuffle.


- Hyunsik Choi


On Feb. 27, 2014, 12:01 p.m., Jung JaeHwa wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18556/
> -----------------------------------------------------------
> 
> (Updated Feb. 27, 2014, 12:01 p.m.)
> 
> 
> Review request for Tajo.
> 
> 
> Bugs: TAJO-620
>     https://issues.apache.org/jira/browse/TAJO-620
> 
> 
> Repository: tajo
> 
> 
> Description
> -------
> 
> A join query can cause IndexOutOfBoundsException if one of tables is empty. The reproduction condition is very straightforward. We should fix it.
> 
> 
> Diffs
> -----
> 
>   tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/benchmark/TPCH.java 2e12b1d 
>   tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/Repartitioner.java 0d3f95e 
>   tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java 3a95724 
>   tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testInnerJoinWithEmptyTable.sql PRE-CREATION 
>   tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testInnerJoinWithEmptyTable.result PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/18556/diff/
> 
> 
> Testing
> -------
> 
> mvn clean install
> 
> 
> Thanks,
> 
> Jung JaeHwa
> 
>


Re: Review Request 18556: TAJO-620: A join query can cause IndexOutOfBoundsException if one of tables is empty.

Posted by Hyunsik Choi <hy...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18556/#review35597
-----------------------------------------------------------

Ship it!


+1

Thank you for your contribution. Ship it.

- Hyunsik Choi


On Feb. 27, 2014, 1:34 p.m., Jung JaeHwa wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18556/
> -----------------------------------------------------------
> 
> (Updated Feb. 27, 2014, 1:34 p.m.)
> 
> 
> Review request for Tajo.
> 
> 
> Bugs: TAJO-620
>     https://issues.apache.org/jira/browse/TAJO-620
> 
> 
> Repository: tajo
> 
> 
> Description
> -------
> 
> A join query can cause IndexOutOfBoundsException if one of tables is empty. The reproduction condition is very straightforward. We should fix it.
> 
> 
> Diffs
> -----
> 
>   tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/benchmark/TPCH.java 2e12b1d 
>   tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/Repartitioner.java 0d3f95e 
>   tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java 3a95724 
>   tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testInnerJoinWithEmptyTable.sql PRE-CREATION 
>   tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testInnerJoinWithEmptyTable.result PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/18556/diff/
> 
> 
> Testing
> -------
> 
> mvn clean install
> 
> 
> Thanks,
> 
> Jung JaeHwa
> 
>


Re: Review Request 18556: TAJO-620: A join query can cause IndexOutOfBoundsException if one of tables is empty.

Posted by Jung JaeHwa <jh...@gruter.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18556/
-----------------------------------------------------------

(Updated Feb. 27, 2014, 4:34 a.m.)


Review request for Tajo.


Changes
-------

Hi, Hyunsik.

Thank you for your nice comments.
I updated the patch.
Please review it again. :)

Cheers


Bugs: TAJO-620
    https://issues.apache.org/jira/browse/TAJO-620


Repository: tajo


Description
-------

A join query can cause IndexOutOfBoundsException if one of tables is empty. The reproduction condition is very straightforward. We should fix it.


Diffs (updated)
-----

  tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/benchmark/TPCH.java 2e12b1d 
  tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/Repartitioner.java 0d3f95e 
  tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java 3a95724 
  tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testInnerJoinWithEmptyTable.sql PRE-CREATION 
  tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testInnerJoinWithEmptyTable.result PRE-CREATION 

Diff: https://reviews.apache.org/r/18556/diff/


Testing
-------

mvn clean install


Thanks,

Jung JaeHwa