[
https://issues.apache.org/jira/browse/DRILL-1173?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jacques Nadeau updated DRILL-1173:
----------------------------------
Fix Version/s: (was: 0.4.0)
0.5.0
> Query CSV file works fine, add an AND clause and it blows up
> ------------------------------------------------------------
>
> Key: DRILL-1173
> URL: https://issues.apache.org/jira/browse/DRILL-1173
> Project: Apache Drill
> Issue Type: Bug
> Components: Client - CLI
> Affects Versions: 1.0.0
> Environment: Linux Mint, Java 1.7.0_51
> Reporter: Jim Scott
> Fix For: 0.5.0
>
>
> I have a simple CSV address list file.
> When I run this query it runs fine:
> !sql select columns[4] as first, columns[6] as last from
> dfs.`/data/AddressList.csv` where columns[4] like '%B%';
> When I run this query the following error occurs:
> !sql select columns[4] as first, columns[6] as last from
> dfs.`/data/AddressList.csv` where columns[4] like '%B%' and columns[6] like
> '%S%';
> Exception in thread "343e9a34-bf64-4e8a-817d-91f0884dd086:frag:0:0 - Producer
> Thread" java.lang.UnsupportedOperationException: Attemped to access a
> DeadBuf. This would happen if you attempted to interact with a buffer that
> has been moved or not yet initialized.
> at org.apache.drill.exec.record.DeadBuf.getInt(DeadBuf.java:240)
> at
> org.apache.drill.exec.vector.UInt4Vector$Accessor.get(UInt4Vector.java:293)
> at
> org.apache.drill.exec.vector.RepeatedVarCharVector$Mutator.setValueCount(RepeatedVarCharVector.java:463)
> at
> org.apache.drill.exec.store.text.DrillTextRecordReader.next(DrillTextRecordReader.java:160)
> at
> org.apache.drill.exec.physical.impl.ScanBatch.next(ScanBatch.java:138)
> at
> org.apache.drill.exec.physical.impl.producer.ProducerConsumerBatch$Producer.run(ProducerConsumerBatch.java:122)
> at java.lang.Thread.run(Thread.java:744)
> Query failed: org.apache.drill.exec.rpc.RpcException: Remote failure while
> running query.[error_id: "348b4278-1e73-4211-a4a7-787ff6bfd582"
> endpoint {
> address: "blandserver"
> user_port: 31010
> control_port: 31011
> data_port: 31012
> }
> error_type: 0
> message: "Screen received stop request sent. < SchemaChangeException:[
> Failure while attempting to load generated class ] <
> ClassTransformationException:[ Failure generating transformation classes for
> value:
>
> package org.apache.drill.exec.test.generated;
> import java.util.regex.Pattern;
> import org.apache.drill.exec.exception.SchemaChangeException;
> import org.apache.drill.exec.expr.holders.NullableBitHolder;
> import org.apache.drill.exec.expr.holders.NullableVarCharHolder;
> import org.apache.drill.exec.expr.holders.VarCharHolder;
> import org.apache.drill.exec.ops.FragmentContext;
> import org.apache.drill.exec.record.RecordBatch;
> import org.apache.drill.exec.vector.RepeatedVarCharVector;
> import org.apache.drill.exec.vector.ValueHolderHelper;
> public class FiltererGen24 {
> Pattern work1;
> RepeatedVarCharVector vv2;
> VarCharHolder string6;
> VarCharHolder constant7;
> Pattern work9;
> RepeatedVarCharVector vv10;
> VarCharHolder string14;
> VarCharHolder constant15;
> public boolean doEval(int inIndex, int outIndex)
> throws SchemaChangeException
> {
> {
> NullableBitHolder out0 = new NullableBitHolder();
> AndOP0:
> {
> NullableVarCharHolder out5 = new NullableVarCharHolder();
> int isNull = 0;
> complex:
> vv2 .getAccessor().getReader().setPosition((inIndex));
> vv2 .getAccessor().getReader().read(6, out5);
> //---- start of eval portion of like function. ----//
> NullableBitHolder out8 = new NullableBitHolder();
> {
> if (out5 .isSet == 0) {
> out8 .isSet = 0;
> } else {
> final NullableBitHolder out = new NullableBitHolder();
> NullableVarCharHolder input = out5;
> VarCharHolder pattern = constant7;
> Pattern regPattern = work1;
>
> StringFunctions$Like_eval: {
> out.value = regPattern.matcher(input.toString()).matches() ? 1 : 0;
> }
>
> work1 = regPattern;
> out.isSet = 1;
> out8 = out;
> out.isSet = 1;
> }
> }
> //---- end of eval portion of like function. ----//
> if ((out8 .isSet == 1)&&(out8 .value!= 1)) {
> out0 .isSet = 1;
> out0 .value = 0;
> break AndOP0;
> }
> NullableVarCharHolder out13 = new NullableVarCharHolder();
> int isNull = 0;
> complex:
> vv10 .getAccessor().getReader().setPosition((inIndex));
> vv10 .getAccessor().getReader().read(4, out13);
> //---- start of eval portion of like function. ----//
> NullableBitHolder out16 = new NullableBitHolder();
> {
> if (out13 .isSet == 0) {
> out16 .isSet = 0;
> } else {
> final NullableBitHolder out = new NullableBitHolder();
> NullableVarCharHolder input = out13;
> VarCharHolder pattern = constant15;
> Pattern regPattern = work9;
>
> StringFunctions$Like_eval: {
> out.value = regPattern.matcher(input.toString()).matches() ? 1 : 0;
> }
>
> work9 = regPattern;
> out.isSet = 1;
> out16 = out;
> out.isSet = 1;
> }
> }
> //---- end of eval portion of like function. ----//
> if ((out16 .isSet == 1)&&(out16 .value!= 1)) {
> out0 .isSet = 1;
> out0 .value = 0;
> break AndOP0;
> }
> if ((out8 .isSet*out16 .isSet) == 0) {
> out0 .isSet = 0;
> } else {
> out0 .isSet = 1;
> out0 .value = 1;
> }
> }
> return (out0 .value == 1);
> }
> }
> public void doSetup(FragmentContext context, RecordBatch incoming,
> RecordBatch outgoing)
> throws SchemaChangeException
> {
> {
> int[] fieldIds3 = new int[ 1 ] ;
> fieldIds3 [ 0 ] = 0;
> Object tmp4 =
> (incoming).getValueAccessorById(RepeatedVarCharVector.class,
> fieldIds3).getValueVector();
> if (tmp4 == null) {
> throw new SchemaChangeException("Failure while loading vector
> vv2 with id: org.apache.drill.exec.record.TypedFieldId@33526f4d.");
> }
> vv2 = ((RepeatedVarCharVector) tmp4);
> string6 = ValueHolderHelper.getVarCharHolder("%S%");
> constant7 = string6;
> /** start SETUP for function like **/
> {
> VarCharHolder pattern = constant7;
> Pattern regPattern = work1;
>
> StringFunctions$Like_setup: {
> regPattern =
> java.util.regex.Pattern.compile(org.apache.drill.exec.expr.fn.impl.RegexpUtil.sqlToRegexLike(pattern.toString()));
> }
>
> work1 = regPattern;
> }
> /** end SETUP for function like **/
> int[] fieldIds11 = new int[ 1 ] ;
> fieldIds11 [ 0 ] = 0;
> Object tmp12 =
> (incoming).getValueAccessorById(RepeatedVarCharVector.class,
> fieldIds11).getValueVector();
> if (tmp12 == null) {
> throw new SchemaChangeException("Failure while loading vector
> vv10 with id: org.apache.drill.exec.record.TypedFieldId@335267cb.");
> }
> vv10 = ((RepeatedVarCharVector) tmp12);
> string14 = ValueHolderHelper.getVarCharHolder("%B%");
> constant15 = string14;
> /** start SETUP for function like **/
> {
> VarCharHolder pattern = constant15;
> Pattern regPattern = work9;
>
> StringFunctions$Like_setup: {
> regPattern =
> java.util.regex.Pattern.compile(org.apache.drill.exec.expr.fn.impl.RegexpUtil.sqlToRegexLike(pattern.toString()));
> }
>
> work9 = regPattern;
> }
> /** end SETUP for function like **/
> }
> }
> }
> ] < CompileException:[ Line 65, Column 27: Redefinition of local variable
> "isNull" ]"
> ]Error: exception while executing query (state=,code=0)
--
This message was sent by Atlassian JIRA
(v6.2#6252)