You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by ec...@apache.org on 2013/12/19 21:33:30 UTC

[05/13] git commit: ACCUMULO-2057 handle multiple last locations gracefully

ACCUMULO-2057 handle multiple last locations gracefully


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/2235b503
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/2235b503
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/2235b503

Branch: refs/heads/1.5.1-SNAPSHOT
Commit: 2235b5038a85147cae3495d4d0368e0bd9f38098
Parents: 40df8cd
Author: Eric Newton <er...@gmail.com>
Authored: Thu Dec 19 15:00:22 2013 -0500
Committer: Eric Newton <er...@gmail.com>
Committed: Thu Dec 19 15:17:02 2013 -0500

----------------------------------------------------------------------
 .../accumulo/server/master/state/MetaDataTableScanner.java       | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/2235b503/src/server/src/main/java/org/apache/accumulo/server/master/state/MetaDataTableScanner.java
----------------------------------------------------------------------
diff --git a/src/server/src/main/java/org/apache/accumulo/server/master/state/MetaDataTableScanner.java b/src/server/src/main/java/org/apache/accumulo/server/master/state/MetaDataTableScanner.java
index e10b1b3..157cb76 100644
--- a/src/server/src/main/java/org/apache/accumulo/server/master/state/MetaDataTableScanner.java
+++ b/src/server/src/main/java/org/apache/accumulo/server/master/state/MetaDataTableScanner.java
@@ -127,6 +127,7 @@ public class MetaDataTableScanner implements Iterator<TabletLocationState> {
     TServerInstance future = null;
     TServerInstance current = null;
     TServerInstance last = null;
+    long lastTimestamp = 0;
     List<Collection<String>> walogs = new ArrayList<Collection<String>>();
     boolean chopped = false;
     
@@ -144,7 +145,8 @@ public class MetaDataTableScanner implements Iterator<TabletLocationState> {
         String[] split = entry.getValue().toString().split("\\|")[0].split(";");
         walogs.add(Arrays.asList(split));
       } else if (cf.compareTo(Constants.METADATA_LAST_LOCATION_COLUMN_FAMILY) == 0) {
-        last = new TServerInstance(entry.getValue(), cq);
+        if (lastTimestamp < entry.getKey().getTimestamp())
+          last = new TServerInstance(entry.getValue(), cq);
       } else if (cf.compareTo(Constants.METADATA_CHOPPED_COLUMN_FAMILY) == 0) {
         chopped = true;
       } else if (Constants.METADATA_PREV_ROW_COLUMN.equals(cf, cq)) {