You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Jacques Nadeau (JIRA)" <ji...@apache.org> on 2014/07/31 07:55:39 UTC
[jira] [Updated] (DRILL-1173) Query CSV file works fine, add an AND
clause and it blows up
[ 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)