[
https://issues.apache.org/jira/browse/DRILL-2166?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Chun Chang closed DRILL-2166.
-----------------------------
Assignee: Chun Chang (was: Chris Westin)
verified fix.
{noformat}
0: jdbc:drill:schema=dfs.drillTestDirComplexJ> select a.id, a.soa, b.sfa[0],
b.soa[1] from `complex.json` a left outer join `complex.json` b on
a.sia[0]=b.sia[0] order by a.id limit 20;
+----+-----+--------+--------+
| id | soa | EXPR$2 | EXPR$3 |
+----+-----+--------+--------+
| 1 |
[{"in":1},{"in":1,"fl":1.12345},{"in":1,"fl":10.12345},{"in":1,"fl":10.6789,"bool":true,"str":"here
is a string at row 1"}] | 0.0 | {"in":1,"fl":1.12345} |
| 2 |
[{"in":2},{"in":2,"fl":2.12345},{"in":2,"fl":20.12345},{"in":2,"fl":20.6789,"bool":true,"str":"here
is a string at row 2","nul":"not null"}] | 0.0 | {"in":2,"fl":2.12345} |
| 3 | [{"in":3},{"in":3,"fl":3.12345},{"in":3,"fl":30.12345,"nul":"not
null"},{"in":3,"fl":30.6789,"bool":true,"str":"here is a string at row 3"}] |
0.0 | {"in":3,"fl":3.12345} |
| 4 | [{"in":4},{"in":4,"fl":4.12345},{"in":4,"fl":40.12345,"nul":"not
null"},{"in":4,"fl":40.6789,"bool":false,"str":"here is a string at row
4","nul":"not null"}] | 0.0 | {"in":4,"fl":4.12345} |
| 5 | [{"in":5},{"in":5,"fl":5.12345},{"in":5,"fl":50.12345,"nul":"not
null"},{"in":5,"fl":50.6789,"bool":false,"str":"here is a string at row 5"}] |
0.0 | {"in":5,"fl":5.12345} |
| 6 | [{"in":6},{"in":6,"fl":6.12345},{"in":6,"fl":60.12345,"nul":"not
null"},{"in":6,"fl":60.6789,"bool":false,"str":"here is a string at row 6"}] |
0.0 | {"in":6,"fl":6.12345} |
| 7 | [{"in":7},{"in":7,"fl":7.12345},{"in":7,"fl":70.12345,"nul":"not
null"},{"in":7,"fl":70.6789,"bool":false,"str":"here is a string at row
7","nul":"not null"}] | 0.0 | {"in":7,"fl":7.12345} |
| 8 | [{"in":8},{"in":8,"fl":8.12345},{"in":8,"fl":80.12345,"nul":"not
null"},{"in":8,"fl":80.6789,"bool":true,"str":"here is a string at row
8","nul":"not null"}] | 0.0 | {"in":8,"fl":8.12345} |
| 9 | [{"in":9},{"in":9,"fl":9.12345},{"in":9,"fl":90.12345,"nul":"not
null"},{"in":9,"fl":90.6789,"bool":true,"str":"here is a string at row 9"}] |
0.0 | {"in":9,"fl":9.12345} |
| 10 | [{"in":10},{"in":10,"fl":10.12345},{"in":10,"fl":100.12345,"nul":"not
null"},{"in":10,"fl":100.6789,"bool":false,"str":"here is a string at row
10","nul":"not null"}] | 0.0 | {"in":10,"fl":10.12345} |
| 11 | [{"in":11},{"in":11,"fl":11.12345},{"in":11,"fl":110.12345,"nul":"not
null"},{"in":11,"fl":110.6789,"bool":true,"str":"here is a string at row
11","nul":"not null"}] | 0.0 | {"in":11,"fl":11.12345} |
| 12 |
[{"in":12},{"in":12,"fl":12.12345},{"in":12,"fl":120.12345},{"in":12,"fl":120.6789,"bool":false,"str":"here
is a string at row 12","nul":"not null"}] | 0.0 | {"in":12,"fl":12.12345} |
| 13 |
[{"in":13},{"in":13,"fl":13.12345},{"in":13,"fl":130.12345},{"in":13,"fl":130.6789,"bool":true,"str":"here
is a string at row 13"}] | 0.0 | {"in":13,"fl":13.12345} |
| 14 |
[{"in":14},{"in":14,"fl":14.12345},{"in":14,"fl":140.12345},{"in":14,"fl":140.6789,"bool":false,"str":"here
is a string at row 14","nul":"not null"}] | 0.0 | {"in":14,"fl":14.12345} |
| 15 | [{"in":15},{"in":15,"fl":15.12345},{"in":15,"fl":150.12345,"nul":"not
null"},{"in":15,"fl":150.6789,"bool":true,"str":"here is a string at row
15","nul":"not null"}] | 0.0 | {"in":15,"fl":15.12345} |
| 16 |
[{"in":16},{"in":16,"fl":16.12345},{"in":16,"fl":160.12345},{"in":16,"fl":160.6789,"bool":false,"str":"here
is a string at row 16","nul":"not null"}] | 0.0 | {"in":16,"fl":16.12345} |
| 17 | [{"in":17},{"in":17,"fl":17.12345},{"in":17,"fl":170.12345,"nul":"not
null"},{"in":17,"fl":170.6789,"bool":true,"str":"here is a string at row 17"}]
| 0.0 | {"in":17,"fl":17.12345} |
| 18 |
[{"in":18},{"in":18,"fl":18.12345},{"in":18,"fl":180.12345},{"in":18,"fl":180.6789,"bool":false,"str":"here
is a string at row 18"}] | 0.0 | {"in":18,"fl":18.12345} |
| 19 |
[{"in":19},{"in":19,"fl":19.12345},{"in":19,"fl":190.12345},{"in":19,"fl":190.6789,"bool":false,"str":"here
is a string at row 19"}] | 0.0 | {"in":19,"fl":19.12345} |
| 20 | [{"in":20},{"in":20,"fl":20.12345},{"in":20,"fl":200.12345,"nul":"not
null"},{"in":20,"fl":200.6789,"bool":false,"str":"here is a string at row 20"}]
| 0.0 | {"in":20,"fl":20.12345} |
+----+-----+--------+--------+
{noformat}
> left join with complex type throw ClassTransformationException
> --------------------------------------------------------------
>
> Key: DRILL-2166
> URL: https://issues.apache.org/jira/browse/DRILL-2166
> Project: Apache Drill
> Issue Type: Bug
> Components: Execution - Relational Operators
> Affects Versions: 0.8.0
> Reporter: Chun Chang
> Assignee: Chun Chang
> Fix For: 1.2.0
>
>
> #Thu Jan 29 18:00:57 EST 2015
> git.commit.id.abbrev=09f7fb2
> Dataset can be downloaded from
> https://s3.amazonaws.com/apache-drill/files/complex.json.gz
> The following query caused the exception:
> {code}
> 0: jdbc:drill:schema=dfs.drillTestDirComplexJ> select a.id, a.soa, b.sfa[0],
> b.soa[1] from `complex.json` a left outer join `complex.json` b on
> a.sia[0]=b.sia[0] order by a.id limit 20;
> Query failed: RemoteRpcException: Failure while running fragment., Line 35,
> Column 32: No applicable constructor/method found for actual parameters "int,
> int, org.apache.drill.exec.vector.complex.MapVector"; candidates are: "public
> void org.apache.drill.exec.vector.NullableTinyIntVector.copyFromSafe(int,
> int, org.apache.drill.exec.vector.NullableTinyIntVector)", "public void
> org.apache.drill.exec.vector.NullableTinyIntVector.copyFromSafe(int, int,
> org.apache.drill.exec.vector.TinyIntVector)" [
> fbf47be8-b5fe-4d56-9488-15d45d4224e4 on qa-node117.qa.lab:31010 ]
> [ fbf47be8-b5fe-4d56-9488-15d45d4224e4 on qa-node117.qa.lab:31010 ]
> Error: exception while executing query: Failure while executing query.
> (state=,code=0)
> {code}
> stack from drill bit.log
> {code}
> 2015-02-04 13:37:22,117 [2b2d6eee-105b-5544-9111-83a3a356285d:frag:2:6] WARN
> o.a.d.e.w.fragment.FragmentExecutor - Error while initializing or executing
> fragment
> org.apache.drill.common.exceptions.DrillRuntimeException:
> org.apache.drill.exec.exception.SchemaChangeException:
> org.apache.drill.exec.exception.ClassTransformationException:
> java.util.concurrent.ExecutionException:
> org.apache.drill.exec.exception.ClassTransformationException: Failure
> generating transformation classes for value:
> package org.apache.drill.exec.test.generated;
> import org.apache.drill.exec.exception.SchemaChangeException;
> import org.apache.drill.exec.ops.FragmentContext;
> import org.apache.drill.exec.record.RecordBatch;
> import org.apache.drill.exec.record.VectorContainer;
> import org.apache.drill.exec.vector.NullableBigIntVector;
> import org.apache.drill.exec.vector.NullableFloat8Vector;
> import org.apache.drill.exec.vector.NullableTinyIntVector;
> import org.apache.drill.exec.vector.complex.MapVector;
> import org.apache.drill.exec.vector.complex.RepeatedMapVector;
> {code}
> from forman drill bit.log
> {code}
> 2015-02-04 13:37:22,189 [BitServer-5] ERROR
> o.a.d.exec.rpc.RpcExceptionHandler - Exception in pipeline. Closing channel
> between local /10.10.100.117:31012 and remote /10.10.100.120:56250
> io.netty.handler.codec.DecoderException: java.lang.NullPointerException
> at
> io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:99)
> [netty-codec-4.0.24.Final.jar:4.0.24.Final]
> at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
> [netty-transport-4.0.24.Final.jar:4.0.24.Final]
> at
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319)
> [netty-transport-4.0.24.Final.jar:4.0.24.Final]
> at
> io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
> [netty-codec-4.0.24.Final.jar:4.0.24.Final]
> at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
> [netty-transport-4.0.24.Final.jar:4.0.24.Final]
> at
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319)
> [netty-transport-4.0.24.Final.jar:4.0.24.Final]
> at
> io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:161)
> [netty-codec-4.0.24.Final.jar:4.0.24.Final]
> at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
> [netty-transport-4.0.24.Final.jar:4.0.24.Final]
> at
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319)
> [netty-transport-4.0.24.Final.jar:4.0.24.Final]
> at
> io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
> [netty-transport-4.0.24.Final.jar:4.0.24.Final]
> at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
> [netty-transport-4.0.24.Final.jar:4.0.24.Final]
> at
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319)
> [netty-transport-4.0.24.Final.jar:4.0.24.Final]
> at
> io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:787)
> [netty-transport-4.0.24.Final.jar:4.0.24.Final]
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)