[ 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)