You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "Yingyi Bu (JIRA)" <ji...@apache.org> on 2017/02/12 21:28:42 UTC

[jira] [Created] (ASTERIXDB-1789) ArrayIndexOutOfBound in hybrid hash join

Yingyi Bu created ASTERIXDB-1789:
------------------------------------

             Summary: ArrayIndexOutOfBound in hybrid hash join
                 Key: ASTERIXDB-1789
                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-1789
             Project: Apache AsterixDB
          Issue Type: Bug
            Reporter: Yingyi Bu
            Assignee: Taewoo Kim


I have a two node cluster, where each node with one iodevice.

The data is tpch query at scale 0.4.

The query is q7:

{noformat}
USE tpch;

WITH q7_volume_shipping_tmp AS
(
    SELECT n1.n_name AS supp_nation,
           n2.n_name AS cust_nation,
           n1.n_nationkey AS s_nationkey,
           n2.n_nationkey AS c_nationkey
    FROM  Nation as n1,
          Nation as n2
    WHERE (n1.n_name='FRANCE' AND n2.n_name='GERMANY') OR (n1.n_name='GERMANY' AND n2.n_name='FRANCE')
)

SELECT supp_nation, cust_nation, l_year, sum(volume) AS revenue
FROM
  (
    SELECT t.supp_nation, t.cust_nation, GET_YEAR(l3.l_shipdate) AS l_year,
           l3.l_extendedprice * (1 - l3.l_discount) AS volume
    FROM q7_volume_shipping_tmp t JOIN
        (
           SELECT l2.l_shipdate, l2.l_extendedprice, l2.l_discount, l2.c_nationkey, s.s_nationkey
           FROM Supplier s JOIN
             (
              SELECT l1.l_shipdate, l1.l_extendedprice, l1.l_discount, l1.l_suppkey, c.c_nationkey
              FROM Customer c JOIN
                 (
                   SELECT l.l_shipdate, l.l_extendedprice, l.l_discount, l.l_suppkey, o.o_custkey
                   FROM Orders o
                   JOIN LineItem l ON o.o_orderkey = l.l_orderkey AND l.l_shipdate >= '1995-01-01'
                        AND l.l_shipdate <= '1996-12-31'
               ) l1 ON c.c_custkey = l1.o_custkey

            ) l2 ON s.s_suppkey = l2.l_suppkey
         ) l3 ON t.c_nationkey = l3.c_nationkey AND t.s_nationkey = l3.s_nationkey
   ) shipping
GROUP BY supp_nation, cust_nation, l_year
ORDER BY supp_nation, cust_nation, l_year;
{noformat}


{noformat}
org.apache.hyracks.api.exceptions.HyracksException: Job failed on account of:
HYR0003: 32768

        at org.apache.hyracks.control.cc.job.JobRun.waitForCompletion(JobRun.java:223)
        at org.apache.hyracks.control.cc.work.WaitForJobCompletionWork$1.run(WaitForJobCompletionWork.java:50)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.hyracks.api.exceptions.HyracksDataException: HYR0003: 32768
        at org.apache.hyracks.control.common.utils.ExceptionUtils.setNodeIds(ExceptionUtils.java:62)
        at org.apache.hyracks.control.nc.Task.run(Task.java:330)
        ... 3 more
Caused by: org.apache.hyracks.api.exceptions.HyracksDataException: 32768
        at org.apache.hyracks.control.nc.Task.pushFrames(Task.java:378)
        at org.apache.hyracks.control.nc.Task.run(Task.java:308)
        ... 3 more
Caused by: java.lang.ArrayIndexOutOfBoundsException: 32768
        at org.apache.hyracks.data.std.accessors.MurmurHash3BinaryHash.hash(MurmurHash3BinaryHash.java:46)
        at org.apache.asterix.dataflow.data.nontagged.hash.AMurmurHash3BinaryHashFunctionFamily$1.hash(AMurmurHash3BinaryHashFunctionFamily.java:103)
        at org.apache.hyracks.dataflow.common.data.partition.FieldHashPartitionComputerFamily$1.partition(FieldHashPartitionComputerFamily.java:56)
        at org.apache.hyracks.dataflow.std.structures.SerializableHashTable.updateHeaderToContentPointerInHeaderFrame(SerializableHashTable.java:392)
        at org.apache.hyracks.dataflow.std.structures.SerializableHashTable.MigrateSlot(SerializableHashTable.java:335)
        at org.apache.hyracks.dataflow.std.structures.SerializableHashTable.collectGarbage(SerializableHashTable.java:177)
        at org.apache.hyracks.dataflow.std.join.InMemoryHashJoin.compactHashTable(InMemoryHashJoin.java:151)
        at org.apache.hyracks.dataflow.std.join.InMemoryHashJoin.compactTableAndInsertAgain(InMemoryHashJoin.java:138)
        at org.apache.hyracks.dataflow.std.join.InMemoryHashJoin.build(InMemoryHashJoin.java:131)
        at org.apache.hyracks.dataflow.std.join.OptimizedHybridHashJoin$1.nextFrame(OptimizedHybridHashJoin.java:466)
        at org.apache.hyracks.dataflow.std.buffermanager.VPartitionTupleBufferManager.flushPartition(VPartitionTupleBufferManager.java:285)
        at org.apache.hyracks.dataflow.std.join.OptimizedHybridHashJoin.loadDataInMemJoin(OptimizedHybridHashJoin.java:458)
        at org.apache.hyracks.dataflow.std.join.OptimizedHybridHashJoin.closeBuild(OptimizedHybridHashJoin.java:237)
        at org.apache.hyracks.dataflow.std.join.OptimizedHybridHashJoinOperatorDescriptor$PartitionAndBuildActivityNode$1.close(OptimizedHybridHashJoinOperatorDescriptor.java:310)
        at org.apache.hyracks.control.nc.Task.pushFrames(Task.java:367)
        ... 4 more
{noformat}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)