You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by ja...@apache.org on 2016/02/16 18:03:23 UTC

phoenix git commit: PHOENIX-2635 Partial index rebuild doesn't work for mutable data

Repository: phoenix
Updated Branches:
  refs/heads/master d2fcd21d4 -> 4ccce0ed1


PHOENIX-2635 Partial index rebuild doesn't work for mutable data


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/4ccce0ed
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/4ccce0ed
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/4ccce0ed

Branch: refs/heads/master
Commit: 4ccce0ed103db04667da95ab515eda76029dacdb
Parents: d2fcd21
Author: James Taylor <jt...@salesforce.com>
Authored: Tue Feb 16 09:00:24 2016 -0800
Committer: James Taylor <jt...@salesforce.com>
Committed: Tue Feb 16 09:03:10 2016 -0800

----------------------------------------------------------------------
 .../apache/phoenix/coprocessor/MetaDataRegionObserver.java  | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/phoenix/blob/4ccce0ed/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataRegionObserver.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataRegionObserver.java b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataRegionObserver.java
index 0cce4d7..9bcf2d0 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataRegionObserver.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataRegionObserver.java
@@ -56,6 +56,7 @@ import org.apache.log4j.Level;
 import org.apache.log4j.Logger;
 import org.apache.phoenix.cache.GlobalCache;
 import org.apache.phoenix.cache.ServerCacheClient;
+import org.apache.phoenix.hbase.index.util.IndexManagementUtil;
 import org.apache.phoenix.index.IndexMaintainer;
 import org.apache.phoenix.index.PhoenixIndexCodec;
 import org.apache.phoenix.jdbc.PhoenixConnection;
@@ -320,8 +321,12 @@ public class MetaDataRegionObserver extends BaseRegionObserver {
                     long timeStamp = Math.max(0, earliestDisableTimestamp - overlapTime);
                     
                     LOG.info("Starting to build indexes=" + indexesToPartiallyRebuild + " from timestamp=" + timeStamp);
-                    Scan dataTableScan = new Scan();
-                    dataTableScan.setRaw(true);
+                    new Scan();
+                    List<IndexMaintainer> maintainers = Lists.newArrayListWithExpectedSize(indexesToPartiallyRebuild.size());
+                    for (PTable index : indexesToPartiallyRebuild) {
+                        maintainers.add(index.getIndexMaintainer(dataPTable, conn));
+                    }
+                    Scan dataTableScan = IndexManagementUtil.newLocalStateScan(maintainers);
                     dataTableScan.setTimeRange(timeStamp, HConstants.LATEST_TIMESTAMP);
                     byte[] physicalTableName = dataPTable.getPhysicalName().getBytes();
                     try (HTableInterface dataHTable = conn.getQueryServices().getTable(physicalTableName)) {