Repository: phoenix Updated Branches: refs/heads/master 5a16bff9f -> ca58fae20
PHOENIX-4366 Rebuilding a local index fails sometimes (addendum) Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/ca58fae2 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/ca58fae2 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/ca58fae2 Branch: refs/heads/master Commit: ca58fae2037b0da9331aa97d9836ca195f289bb1 Parents: 5a16bff Author: James Taylor <jtay...@salesforce.com> Authored: Wed Apr 11 15:20:08 2018 -0700 Committer: James Taylor <jtay...@salesforce.com> Committed: Wed Apr 11 15:22:00 2018 -0700 ---------------------------------------------------------------------- .../NonAggregateRegionScannerFactory.java | 37 +++++++++++--------- 1 file changed, 20 insertions(+), 17 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/phoenix/blob/ca58fae2/phoenix-core/src/main/java/org/apache/phoenix/iterate/NonAggregateRegionScannerFactory.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/iterate/NonAggregateRegionScannerFactory.java b/phoenix-core/src/main/java/org/apache/phoenix/iterate/NonAggregateRegionScannerFactory.java index da99ff5..ba6a08f 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/iterate/NonAggregateRegionScannerFactory.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/iterate/NonAggregateRegionScannerFactory.java @@ -18,8 +18,15 @@ package org.apache.phoenix.iterate; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; +import static org.apache.phoenix.util.EncodedColumnsUtil.getMinMaxQualifiersFromScan; + +import java.io.ByteArrayInputStream; +import java.io.DataInputStream; +import java.io.IOException; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.KeyValue; @@ -61,16 +68,8 @@ import org.apache.phoenix.util.IndexUtil; import org.apache.phoenix.util.ScanUtil; import org.apache.phoenix.util.ServerUtil; - -import java.io.ByteArrayInputStream; -import java.io.DataInputStream; -import java.io.IOException; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.List; -import java.util.Set; - -import static org.apache.phoenix.util.EncodedColumnsUtil.getMinMaxQualifiersFromScan; +import com.google.common.collect.Lists; +import com.google.common.collect.Sets; public class NonAggregateRegionScannerFactory extends RegionScannerFactory { @@ -103,13 +102,17 @@ public class NonAggregateRegionScannerFactory extends RegionScannerFactory { boolean useNewValueColumnQualifier = EncodedColumnsUtil.useNewValueColumnQualifier(scan); Set<KeyValueColumnExpression> arrayKVRefs = Sets.newHashSet(); + KeyValueSchema kvSchema = null; + ValueBitSet kvSchemaBitSet = null; Expression[] arrayFuncRefs = deserializeArrayPositionalExpressionInfoFromScan(scan, innerScanner, arrayKVRefs); - KeyValueSchema.KeyValueSchemaBuilder builder = new KeyValueSchema.KeyValueSchemaBuilder(0); - for (Expression expression : arrayFuncRefs) { - builder.addField(expression); + if (arrayFuncRefs != null) { + KeyValueSchema.KeyValueSchemaBuilder builder = new KeyValueSchema.KeyValueSchemaBuilder(0); + for (Expression expression : arrayFuncRefs) { + builder.addField(expression); + } + kvSchema = builder.build(); + kvSchemaBitSet = ValueBitSet.newInstance(kvSchema); } - KeyValueSchema kvSchema = builder.build(); - ValueBitSet kvSchemaBitSet = ValueBitSet.newInstance(kvSchema); TupleProjector tupleProjector = null; Region dataRegion = null; IndexMaintainer indexMaintainer = null;