From 453a07430c3ebce938047f9d5d0339ff90c6bfcc Mon Sep 17 00:00:00 2001 From: Brent Theisen Date: Fri, 9 May 2014 19:45:53 -0400 Subject: [PATCH] Fix IllegalStateException in CqlPagingRecordReader for inputPageRowSize patch by btheisen reviewed by dbrosius for cassandra-7198 --- CHANGES.txt | 1 + .../cassandra/hadoop/cql3/CqlPagingRecordReader.java | 12 +++++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index 9e6f1732c9..32bd539a27 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -8,6 +8,7 @@ * Fix potential NumberFormatException when deserializing IntegerType (CASSANDRA-7088) * cqlsh can't tab-complete disabling compaction (CASSANDRA-7185) * cqlsh: Accept and execute CQL statement(s) from command-line parameter (CASSANDRA-7172) + * Fix IllegalStateException in CqlPagingRecordReader (CASSANDRA-7198) 2.0.8 diff --git a/src/java/org/apache/cassandra/hadoop/cql3/CqlPagingRecordReader.java b/src/java/org/apache/cassandra/hadoop/cql3/CqlPagingRecordReader.java index b6922808ee..1492ce060e 100644 --- a/src/java/org/apache/cassandra/hadoop/cql3/CqlPagingRecordReader.java +++ b/src/java/org/apache/cassandra/hadoop/cql3/CqlPagingRecordReader.java @@ -24,6 +24,7 @@ import java.nio.ByteBuffer; import java.nio.charset.CharacterCodingException; import java.util.*; +import com.google.common.base.Optional; import com.google.common.collect.AbstractIterator; import com.google.common.collect.Iterables; import org.apache.cassandra.hadoop.HadoopCompat; @@ -115,13 +116,14 @@ public class CqlPagingRecordReader extends RecordReader, columns = CqlConfigHelper.getInputcolumns(conf); userDefinedWhereClauses = CqlConfigHelper.getInputWhereClauses(conf); - try + Optional pageRowSizeOptional = CqlConfigHelper.getInputPageRowSize(conf); + try { - pageRowSize = CqlConfigHelper.getInputPageRowSize(conf).get(); - } - catch (NumberFormatException e) + pageRowSize = pageRowSizeOptional.isPresent() ? pageRowSizeOptional.get() : DEFAULT_CQL_PAGE_LIMIT; + } + catch(NumberFormatException e) { - pageRowSize = DEFAULT_CQL_PAGE_LIMIT; + pageRowSize = DEFAULT_CQL_PAGE_LIMIT; } partitioner = ConfigHelper.getInputPartitioner(HadoopCompat.getConfiguration(context));