HBASE-13202 Procedure v2 - core framework (addendum)

This commit is contained in:
Matteo Bertozzi 2015-04-18 09:36:30 +01:00
parent 92e922e11d
commit b7abdd61c9
2 changed files with 23 additions and 1 deletions

View File

@ -211,6 +211,7 @@ public class ProcedureStoreTracker {
long newStart = alignDown(procId); long newStart = alignDown(procId);
delta = (int)(start - newStart) >> ADDRESS_BITS_PER_WORD; delta = (int)(start - newStart) >> ADDRESS_BITS_PER_WORD;
offset = delta; offset = delta;
start = newStart;
} else { } else {
// Add to tail // Add to tail
long newEnd = alignUp(procId + 1); long newEnd = alignUp(procId + 1);
@ -383,7 +384,7 @@ public class ProcedureStoreTracker {
@InterfaceAudience.Private @InterfaceAudience.Private
public void setDeleted(final long procId, final boolean isDeleted) { public void setDeleted(final long procId, final boolean isDeleted) {
BitSetNode node = getOrCreateNode(procId); BitSetNode node = getOrCreateNode(procId);
assert node.contains(procId) : "expected procId in the node"; assert node.contains(procId) : "expected procId=" + procId + " in the node=" + node;
node.updateState(procId, isDeleted); node.updateState(procId, isDeleted);
} }

View File

@ -190,4 +190,25 @@ public class TestProcedureStoreTracker {
tracker.clear(); tracker.clear();
} }
} }
@Test
public void testLoad() {
final int MAX_PROCS = 1000;
final ProcedureStoreTracker tracker = new ProcedureStoreTracker();
for (int numProcs = 1; numProcs < MAX_PROCS; ++numProcs) {
for (int start = 1; start <= numProcs; ++start) {
assertTrue(tracker.isEmpty());
LOG.debug("loading " + numProcs + " procs from start=" + start);
for (int i = start; i <= numProcs; ++i) {
tracker.setDeleted(i, false);
}
for (int i = 1; i < start; ++i) {
tracker.setDeleted(i, false);
}
tracker.clear();
}
}
}
} }