public void finish() throws IOException { // notify the loader about the max proc ID loader.setMaxProcId(maxProcId); // build the procedure execution tree. When building we will verify that whether a procedure is // valid. WALProcedureTree tree = WALProcedureTree.build(procedureMap.getProcedures()); loader.load(tree.getValidProcs()); loader.handleCorrupted(tree.getCorruptedProcs()); }
@Test public void testMissingStackId() throws IOException { TestProcedure proc0 = createProc(1, Procedure.NO_PROC_ID); proc0.addStackIndex(0); TestProcedure proc1 = createProc(2, 1); proc1.addStackIndex(1); TestProcedure proc2 = createProc(3, 2); proc2.addStackIndex(3); WALProcedureTree tree = WALProcedureTree.build(toProtos(proc0, proc1, proc2)); List<TestProcedure> validProcs = getProcs(tree.getValidProcs()); assertEquals(0, validProcs.size()); List<TestProcedure> corruptedProcs = getProcs(tree.getCorruptedProcs()); assertEquals(3, corruptedProcs.size()); assertEquals(1, corruptedProcs.get(0).getProcId()); assertEquals(2, corruptedProcs.get(1).getProcId()); assertEquals(3, corruptedProcs.get(2).getProcId()); }
@Test public void testDuplicatedStackId() throws IOException { TestProcedure proc0 = createProc(1, Procedure.NO_PROC_ID); proc0.addStackIndex(0); TestProcedure proc1 = createProc(2, 1); proc1.addStackIndex(1); TestProcedure proc2 = createProc(3, 2); proc2.addStackIndex(1); WALProcedureTree tree = WALProcedureTree.build(toProtos(proc0, proc1, proc2)); List<TestProcedure> validProcs = getProcs(tree.getValidProcs()); assertEquals(0, validProcs.size()); List<TestProcedure> corruptedProcs = getProcs(tree.getCorruptedProcs()); assertEquals(3, corruptedProcs.size()); assertEquals(1, corruptedProcs.get(0).getProcId()); assertEquals(2, corruptedProcs.get(1).getProcId()); assertEquals(3, corruptedProcs.get(2).getProcId()); }
@Test public void testOrphan() throws IOException { TestProcedure proc0 = createProc(1, Procedure.NO_PROC_ID); proc0.addStackIndex(0); TestProcedure proc1 = createProc(2, 1); proc1.addStackIndex(1); TestProcedure proc2 = createProc(3, Procedure.NO_PROC_ID); proc2.addStackIndex(0); TestProcedure proc3 = createProc(5, 4); proc3.addStackIndex(1); WALProcedureTree tree = WALProcedureTree.build(toProtos(proc0, proc1, proc2, proc3)); List<TestProcedure> validProcs = getProcs(tree.getValidProcs()); assertEquals(3, validProcs.size()); List<TestProcedure> corruptedProcs = getProcs(tree.getCorruptedProcs()); assertEquals(1, corruptedProcs.size()); assertEquals(5, corruptedProcs.get(0).getProcId()); assertEquals(4, corruptedProcs.get(0).getParentProcId()); }
public void finish() throws IOException { // notify the loader about the max proc ID loader.setMaxProcId(maxProcId); // build the procedure execution tree. When building we will verify that whether a procedure is // valid. WALProcedureTree tree = WALProcedureTree.build(procedureMap.getProcedures()); loader.load(tree.getValidProcs()); loader.handleCorrupted(tree.getCorruptedProcs()); }
@Test public void testMissingStackId() throws IOException { TestProcedure proc0 = createProc(1, Procedure.NO_PROC_ID); proc0.addStackIndex(0); TestProcedure proc1 = createProc(2, 1); proc1.addStackIndex(1); TestProcedure proc2 = createProc(3, 2); proc2.addStackIndex(3); WALProcedureTree tree = WALProcedureTree.build(toProtos(proc0, proc1, proc2)); List<TestProcedure> validProcs = getProcs(tree.getValidProcs()); assertEquals(0, validProcs.size()); List<TestProcedure> corruptedProcs = getProcs(tree.getCorruptedProcs()); assertEquals(3, corruptedProcs.size()); assertEquals(1, corruptedProcs.get(0).getProcId()); assertEquals(2, corruptedProcs.get(1).getProcId()); assertEquals(3, corruptedProcs.get(2).getProcId()); }
@Test public void testDuplicatedStackId() throws IOException { TestProcedure proc0 = createProc(1, Procedure.NO_PROC_ID); proc0.addStackIndex(0); TestProcedure proc1 = createProc(2, 1); proc1.addStackIndex(1); TestProcedure proc2 = createProc(3, 2); proc2.addStackIndex(1); WALProcedureTree tree = WALProcedureTree.build(toProtos(proc0, proc1, proc2)); List<TestProcedure> validProcs = getProcs(tree.getValidProcs()); assertEquals(0, validProcs.size()); List<TestProcedure> corruptedProcs = getProcs(tree.getCorruptedProcs()); assertEquals(3, corruptedProcs.size()); assertEquals(1, corruptedProcs.get(0).getProcId()); assertEquals(2, corruptedProcs.get(1).getProcId()); assertEquals(3, corruptedProcs.get(2).getProcId()); }
@Test public void testOrphan() throws IOException { TestProcedure proc0 = createProc(1, Procedure.NO_PROC_ID); proc0.addStackIndex(0); TestProcedure proc1 = createProc(2, 1); proc1.addStackIndex(1); TestProcedure proc2 = createProc(3, Procedure.NO_PROC_ID); proc2.addStackIndex(0); TestProcedure proc3 = createProc(5, 4); proc3.addStackIndex(1); WALProcedureTree tree = WALProcedureTree.build(toProtos(proc0, proc1, proc2, proc3)); List<TestProcedure> validProcs = getProcs(tree.getValidProcs()); assertEquals(3, validProcs.size()); List<TestProcedure> corruptedProcs = getProcs(tree.getCorruptedProcs()); assertEquals(1, corruptedProcs.size()); assertEquals(5, corruptedProcs.get(0).getProcId()); assertEquals(4, corruptedProcs.get(0).getParentProcId()); }