[19/50] [abbrv] hbase git commit: HBASE-16554 Rebuild WAL tracker if trailer is corrupted.

2016-09-22 Thread busbey
HBASE-16554 Rebuild WAL tracker if trailer is corrupted.

Change-Id: Iecc3347de3de9fc57f57ab5f498aad404d02ec52


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

Branch: refs/heads/hbase-14439
Commit: b2eac0da33c4161aa8188213171afb03b72048a4
Parents: c5b8aab
Author: Apekshit Sharma 
Authored: Sat Sep 17 17:38:40 2016 -0700
Committer: Apekshit Sharma 
Committed: Mon Sep 19 12:23:48 2016 -0700

--
 .../procedure2/store/ProcedureStoreTracker.java | 15 +++-
 .../procedure2/store/wal/ProcedureWALFile.java  |  2 +
 .../store/wal/ProcedureWALFormat.java   | 14 +++-
 .../store/wal/ProcedureWALFormatReader.java | 59 +++---
 .../procedure2/store/wal/WALProcedureStore.java | 50 ++--
 .../store/wal/TestWALProcedureStore.java| 82 
 6 files changed, 178 insertions(+), 44 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/b2eac0da/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/ProcedureStoreTracker.java
--
diff --git 
a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/ProcedureStoreTracker.java
 
b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/ProcedureStoreTracker.java
index 78d6a44..a60ba3f 100644
--- 
a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/ProcedureStoreTracker.java
+++ 
b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/ProcedureStoreTracker.java
@@ -93,6 +93,7 @@ public class ProcedureStoreTracker {
 private long[] updated;
 /**
  * Keeps track of procedure ids which belong to this bitmap's range and 
have been deleted.
+ * This represents global state since it's not reset on WAL rolls.
  */
 private long[] deleted;
 /**
@@ -449,8 +450,7 @@ public class ProcedureStoreTracker {
 }
   }
 
-  public void resetToProto(ProcedureProtos.ProcedureStoreTracker 
trackerProtoBuf)
-  throws IOException {
+  public void resetToProto(final ProcedureProtos.ProcedureStoreTracker 
trackerProtoBuf) {
 reset();
 for (ProcedureProtos.ProcedureStoreTracker.TrackerNode protoNode: 
trackerProtoBuf.getNodeList()) {
   final BitSetNode node = new BitSetNode(protoNode);
@@ -536,6 +536,7 @@ public class ProcedureStoreTracker {
 BitSetNode node = getOrCreateNode(procId);
 assert node.contains(procId) : "expected procId=" + procId + " in the 
node=" + node;
 node.updateState(procId, isDeleted);
+trackProcIds(procId);
   }
 
   public void reset() {
@@ -545,6 +546,11 @@ public class ProcedureStoreTracker {
 resetUpdates();
   }
 
+  public boolean isUpdated(long procId) {
+final Map.Entry entry = map.floorEntry(procId);
+return entry != null && entry.getValue().contains(procId) && 
entry.getValue().isUpdated(procId);
+  }
+
   /**
* If {@link #partial} is false, returns state from the bitmap. If no state 
is found for
* {@code procId}, returns YES.
@@ -583,6 +589,10 @@ public class ProcedureStoreTracker {
 }
   }
 
+  public boolean isPartial() {
+return partial;
+  }
+
   public void setPartialFlag(boolean isPartial) {
 if (this.partial && !isPartial) {
   for (Map.Entry entry : map.entrySet()) {
@@ -720,6 +730,7 @@ public class ProcedureStoreTracker {
   entry.getValue().dump();
 }
   }
+
   /**
* Iterates over
* {@link BitSetNode}s in this.map and subtracts with corresponding ones 
from {@code other}

http://git-wip-us.apache.org/repos/asf/hbase/blob/b2eac0da/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFile.java
--
diff --git 
a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFile.java
 
b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFile.java
index 99e7a7e..b9726a8 100644
--- 
a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFile.java
+++ 
b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFile.java
@@ -62,6 +62,7 @@ public class ProcedureWALFile implements 
Comparable {
 this.logFile = logStatus.getPath();
 this.logSize = logStatus.getLen();
 this.timestamp = logStatus.getModificationTime();
+tracker.setPartialFlag(true);
   }
 
   public ProcedureWALFile(FileSystem fs, Path logFile, ProcedureWALHeader 
header,
@@ -72,6 +73,7 @@ public class ProcedureWALFile implements 

[50/50] [abbrv] hbase git commit: HBASE-16554 Rebuild WAL tracker if trailer is corrupted.

2016-09-19 Thread syuanjiang
HBASE-16554 Rebuild WAL tracker if trailer is corrupted.

Change-Id: Iecc3347de3de9fc57f57ab5f498aad404d02ec52


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

Branch: refs/heads/hbase-12439
Commit: b2eac0da33c4161aa8188213171afb03b72048a4
Parents: c5b8aab
Author: Apekshit Sharma 
Authored: Sat Sep 17 17:38:40 2016 -0700
Committer: Apekshit Sharma 
Committed: Mon Sep 19 12:23:48 2016 -0700

--
 .../procedure2/store/ProcedureStoreTracker.java | 15 +++-
 .../procedure2/store/wal/ProcedureWALFile.java  |  2 +
 .../store/wal/ProcedureWALFormat.java   | 14 +++-
 .../store/wal/ProcedureWALFormatReader.java | 59 +++---
 .../procedure2/store/wal/WALProcedureStore.java | 50 ++--
 .../store/wal/TestWALProcedureStore.java| 82 
 6 files changed, 178 insertions(+), 44 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/b2eac0da/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/ProcedureStoreTracker.java
--
diff --git 
a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/ProcedureStoreTracker.java
 
b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/ProcedureStoreTracker.java
index 78d6a44..a60ba3f 100644
--- 
a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/ProcedureStoreTracker.java
+++ 
b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/ProcedureStoreTracker.java
@@ -93,6 +93,7 @@ public class ProcedureStoreTracker {
 private long[] updated;
 /**
  * Keeps track of procedure ids which belong to this bitmap's range and 
have been deleted.
+ * This represents global state since it's not reset on WAL rolls.
  */
 private long[] deleted;
 /**
@@ -449,8 +450,7 @@ public class ProcedureStoreTracker {
 }
   }
 
-  public void resetToProto(ProcedureProtos.ProcedureStoreTracker 
trackerProtoBuf)
-  throws IOException {
+  public void resetToProto(final ProcedureProtos.ProcedureStoreTracker 
trackerProtoBuf) {
 reset();
 for (ProcedureProtos.ProcedureStoreTracker.TrackerNode protoNode: 
trackerProtoBuf.getNodeList()) {
   final BitSetNode node = new BitSetNode(protoNode);
@@ -536,6 +536,7 @@ public class ProcedureStoreTracker {
 BitSetNode node = getOrCreateNode(procId);
 assert node.contains(procId) : "expected procId=" + procId + " in the 
node=" + node;
 node.updateState(procId, isDeleted);
+trackProcIds(procId);
   }
 
   public void reset() {
@@ -545,6 +546,11 @@ public class ProcedureStoreTracker {
 resetUpdates();
   }
 
+  public boolean isUpdated(long procId) {
+final Map.Entry entry = map.floorEntry(procId);
+return entry != null && entry.getValue().contains(procId) && 
entry.getValue().isUpdated(procId);
+  }
+
   /**
* If {@link #partial} is false, returns state from the bitmap. If no state 
is found for
* {@code procId}, returns YES.
@@ -583,6 +589,10 @@ public class ProcedureStoreTracker {
 }
   }
 
+  public boolean isPartial() {
+return partial;
+  }
+
   public void setPartialFlag(boolean isPartial) {
 if (this.partial && !isPartial) {
   for (Map.Entry entry : map.entrySet()) {
@@ -720,6 +730,7 @@ public class ProcedureStoreTracker {
   entry.getValue().dump();
 }
   }
+
   /**
* Iterates over
* {@link BitSetNode}s in this.map and subtracts with corresponding ones 
from {@code other}

http://git-wip-us.apache.org/repos/asf/hbase/blob/b2eac0da/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFile.java
--
diff --git 
a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFile.java
 
b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFile.java
index 99e7a7e..b9726a8 100644
--- 
a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFile.java
+++ 
b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFile.java
@@ -62,6 +62,7 @@ public class ProcedureWALFile implements 
Comparable {
 this.logFile = logStatus.getPath();
 this.logSize = logStatus.getLen();
 this.timestamp = logStatus.getModificationTime();
+tracker.setPartialFlag(true);
   }
 
   public ProcedureWALFile(FileSystem fs, Path logFile, ProcedureWALHeader 
header,
@@ -72,6 +73,7 @@ public class ProcedureWALFile implements 

hbase git commit: HBASE-16554 Rebuild WAL tracker if trailer is corrupted.

2016-09-19 Thread appy
Repository: hbase
Updated Branches:
  refs/heads/master c5b8aabab -> b2eac0da3


HBASE-16554 Rebuild WAL tracker if trailer is corrupted.

Change-Id: Iecc3347de3de9fc57f57ab5f498aad404d02ec52


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

Branch: refs/heads/master
Commit: b2eac0da33c4161aa8188213171afb03b72048a4
Parents: c5b8aab
Author: Apekshit Sharma 
Authored: Sat Sep 17 17:38:40 2016 -0700
Committer: Apekshit Sharma 
Committed: Mon Sep 19 12:23:48 2016 -0700

--
 .../procedure2/store/ProcedureStoreTracker.java | 15 +++-
 .../procedure2/store/wal/ProcedureWALFile.java  |  2 +
 .../store/wal/ProcedureWALFormat.java   | 14 +++-
 .../store/wal/ProcedureWALFormatReader.java | 59 +++---
 .../procedure2/store/wal/WALProcedureStore.java | 50 ++--
 .../store/wal/TestWALProcedureStore.java| 82 
 6 files changed, 178 insertions(+), 44 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/b2eac0da/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/ProcedureStoreTracker.java
--
diff --git 
a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/ProcedureStoreTracker.java
 
b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/ProcedureStoreTracker.java
index 78d6a44..a60ba3f 100644
--- 
a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/ProcedureStoreTracker.java
+++ 
b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/ProcedureStoreTracker.java
@@ -93,6 +93,7 @@ public class ProcedureStoreTracker {
 private long[] updated;
 /**
  * Keeps track of procedure ids which belong to this bitmap's range and 
have been deleted.
+ * This represents global state since it's not reset on WAL rolls.
  */
 private long[] deleted;
 /**
@@ -449,8 +450,7 @@ public class ProcedureStoreTracker {
 }
   }
 
-  public void resetToProto(ProcedureProtos.ProcedureStoreTracker 
trackerProtoBuf)
-  throws IOException {
+  public void resetToProto(final ProcedureProtos.ProcedureStoreTracker 
trackerProtoBuf) {
 reset();
 for (ProcedureProtos.ProcedureStoreTracker.TrackerNode protoNode: 
trackerProtoBuf.getNodeList()) {
   final BitSetNode node = new BitSetNode(protoNode);
@@ -536,6 +536,7 @@ public class ProcedureStoreTracker {
 BitSetNode node = getOrCreateNode(procId);
 assert node.contains(procId) : "expected procId=" + procId + " in the 
node=" + node;
 node.updateState(procId, isDeleted);
+trackProcIds(procId);
   }
 
   public void reset() {
@@ -545,6 +546,11 @@ public class ProcedureStoreTracker {
 resetUpdates();
   }
 
+  public boolean isUpdated(long procId) {
+final Map.Entry entry = map.floorEntry(procId);
+return entry != null && entry.getValue().contains(procId) && 
entry.getValue().isUpdated(procId);
+  }
+
   /**
* If {@link #partial} is false, returns state from the bitmap. If no state 
is found for
* {@code procId}, returns YES.
@@ -583,6 +589,10 @@ public class ProcedureStoreTracker {
 }
   }
 
+  public boolean isPartial() {
+return partial;
+  }
+
   public void setPartialFlag(boolean isPartial) {
 if (this.partial && !isPartial) {
   for (Map.Entry entry : map.entrySet()) {
@@ -720,6 +730,7 @@ public class ProcedureStoreTracker {
   entry.getValue().dump();
 }
   }
+
   /**
* Iterates over
* {@link BitSetNode}s in this.map and subtracts with corresponding ones 
from {@code other}

http://git-wip-us.apache.org/repos/asf/hbase/blob/b2eac0da/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFile.java
--
diff --git 
a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFile.java
 
b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFile.java
index 99e7a7e..b9726a8 100644
--- 
a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFile.java
+++ 
b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFile.java
@@ -62,6 +62,7 @@ public class ProcedureWALFile implements 
Comparable {
 this.logFile = logStatus.getPath();
 this.logSize = logStatus.getLen();
 this.timestamp = logStatus.getModificationTime();
+tracker.setPartialFlag(true);
   }
 
   public ProcedureWALFile(FileSystem fs, Path logFile,