[ https://issues.apache.org/jira/browse/DRILL-2511?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14394860#comment-14394860 ]
Mehant Baid commented on DRILL-2511: ------------------------------------ The error has changed, we are no longer seeing the assert and getting an exception. However the initial query that was reported seems to be working as expected. I will investigate the problem with the new query. > Assert with full outer join when one of the join predicates is of a required > type (nullabe parquet) > --------------------------------------------------------------------------------------------------- > > Key: DRILL-2511 > URL: https://issues.apache.org/jira/browse/DRILL-2511 > Project: Apache Drill > Issue Type: Bug > Components: Execution - Data Types > Affects Versions: 0.8.0 > Reporter: Victoria Markman > Assignee: Mehant Baid > Fix For: 0.9.0 > > Attachments: j3.parquet.required, j4.parquet.required > > > Columns in tables j3 and j4 are created as 'required' data type: > {code} > [Fri Mar 20 11:30:42 root@~/parquet-tools-1.5.1-SNAPSHOT ] # ./parquet-schema > ~/0_0_0.parquet > message root { > required binary c_varchar (UTF8); > required int32 c_integer; > required int64 c_bigint; > required float c_float; > required double c_double; > required int32 c_date (DATE); > required int32 c_time (TIME); > required int64 c_timestamp (TIMESTAMP); > required boolean c_boolean; > required double d9; > required double d18; > required double d28; > required double d38; > } > {code} > Full outer join on j3/j4 asserts. > This is happening with the join predicate of every SQL type except boolean. > {code} > select * from j3 full outer join j4 on (j3.c_varchar = j4.c_varchar); > java.lang.AssertionError at > org.apache.drill.exec.vector.VarCharVector$Accessor.get(VarCharVector.java:382) > at > org.apache.drill.exec.vector.VarCharVector$Accessor.getObject(VarCharVector.java:408) > at > org.apache.drill.exec.vector.accessor.VarCharAccessor.getObject(VarCharAccessor.java:98) > at > org.apache.drill.exec.vector.accessor.BoundCheckingAccessor.getObject(BoundCheckingAccessor.java:137) > at > org.apache.drill.jdbc.AvaticaDrillSqlAccessor.getObject(AvaticaDrillSqlAccessor.java:146) > at > net.hydromatic.avatica.AvaticaResultSet.getObject(AvaticaResultSet.java:351) > at sqlline.SqlLine$Rows$Row.<init>(SqlLine.java:2388) > at sqlline.SqlLine$IncrementalRows.hasNext(SqlLine.java:2504) > at sqlline.SqlLine$TableOutputFormat.print(SqlLine.java:2148) > at sqlline.SqlLine.print(SqlLine.java:1809) > at sqlline.SqlLine$Commands.execute(SqlLine.java:3766) > at sqlline.SqlLine$Commands.sql(SqlLine.java:3663) > at sqlline.SqlLine.dispatch(SqlLine.java:889) > at sqlline.SqlLine.begin(SqlLine.java:763) > at sqlline.SqlLine.start(SqlLine.java:498) > at sqlline.SqlLine.main(SqlLine.java:460) > {code} > Same problem happens if you one table column types are optional and the other > one is required. -- This message was sent by Atlassian JIRA (v6.3.4#6332)