gpt4 book ai didi

org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore.delete()方法的使用及代码示例

转载 作者:知者 更新时间:2024-03-24 05:41:05 25 4
gpt4 key购买 nike

本文整理了Java中org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore.delete()方法的一些代码示例,展示了WALProcedureStore.delete()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。WALProcedureStore.delete()方法的具体详情如下:
包路径:org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore
类名称:WALProcedureStore
方法名:delete

WALProcedureStore.delete介绍

暂无

代码示例

代码示例来源:origin: apache/hbase

@Override
public void delete(final long[] procIds, final int offset, final int count) {
 if (count == 0) return;
 if (offset == 0 && count == procIds.length) {
  delete(procIds);
 } else if (count == 1) {
  delete(procIds[offset]);
 } else {
  delete(Arrays.copyOfRange(procIds, offset, offset + count));
 }
}

代码示例来源:origin: apache/hbase

@Override
 public void run() {
  Random rand = new Random();
  TestProcedure proc;
  do {
   // After HBASE-15579 there may be gap in the procId sequence, trying to simulate that.
   long procId = procCounter.addAndGet(1 + rand.nextInt(3));
   proc = new TestProcedure(procId);
   // Insert
   procStore.insert(proc, null);
   // Update
   for (int i = 0, nupdates = rand.nextInt(10); i <= nupdates; ++i) {
    try { Thread.sleep(0, rand.nextInt(15)); } catch (InterruptedException e) {}
    procStore.update(proc);
   }
   // Delete
   procStore.delete(proc.getProcId());
  } while (proc.getProcId() < LAST_PROC_ID);
 }
};

代码示例来源:origin: apache/hbase

private void writeWals() throws IOException {
 List<Integer> procStates = shuffleProcWriteSequence();
 TestProcedure[] procs = new TestProcedure[numProcs + 1];  // 0 is not used.
 int numProcsPerWal = numWals > 0 ? procStates.size() / numWals : Integer.MAX_VALUE;
 long startTime = currentTimeMillis();
 long lastTime = startTime;
 for (int i = 0; i < procStates.size(); ++i) {
  int procId = procStates.get(i);
  if (procId < 0) {
   store.delete(procs[-procId].getProcId());
   procs[-procId] = null;
  } else if (procs[procId] == null) {
   procs[procId] = new TestProcedure(procId, 0);
   procs[procId].setData(serializedState);
   store.insert(procs[procId], null);
  } else {
   store.update(procs[procId]);
  }
  if (i > 0 && i % numProcsPerWal == 0) {
   long currentTime = currentTimeMillis();
   System.out.println("Forcing wall roll. Time taken on last WAL: " +
     (currentTime - lastTime) / 1000.0f + " sec");
   store.rollWriterForTesting();
   lastTime = currentTime;
  }
 }
 long timeTaken = currentTimeMillis() - startTime;
 System.out.println("\n\nDone writing WALs.\nNum procs : " + numProcs + "\nTotal time taken : "
   + StringUtils.humanTimeDiff(timeTaken) + "\n\n");
}

代码示例来源:origin: apache/hbase

@Test
public void testWalCleanerNoHoles() throws Exception {
 final Procedure<?>[] procs = new Procedure[5];
 ArrayList<ProcedureWALFile> logs = null;
 // Insert procedures and roll wal after every insert.
 for (int i = 0; i < procs.length; i++) {
  procs[i] = new TestSequentialProcedure();
  procStore.insert(procs[i], null);
  procStore.rollWriterForTesting();
  logs = procStore.getActiveLogs();
  assertEquals(i + 2, logs.size());  // Extra 1 for current ongoing wal.
 }
 for (int i = 1; i < procs.length; i++) {
  procStore.delete(procs[i].getProcId());
 }
 assertEquals(procs.length + 1, procStore.getActiveLogs().size());
 procStore.delete(procs[0].getProcId());
 assertEquals(1, procStore.getActiveLogs().size());
}

代码示例来源:origin: apache/hbase

procStore.delete(toDelete, 2, 0);
LoadCounter loader = restartAndAssert(9, 9, 0, 0);
for (int i = 1; i < 10; ++i) {
procStore.delete(toDelete, 0, toDelete.length);
loader = restartAndAssert(9, 5, 0, 0);
for (int i = 1; i < 10; ++i) {
procStore.delete(toDelete, 2, 2);
loader = restartAndAssert(9, 3, 0, 0);
for (int i = 1; i < 10; ++i) {
procStore.delete(toDelete, 0, 1);
loader = restartAndAssert(9, 2, 0, 0);
for (int i = 1; i < 10; ++i) {
procStore.delete(toDelete, 1, 2);
loader = restartAndAssert(0, 0, 0, 0);
for (int i = 1; i < 10; ++i) {

代码示例来源:origin: apache/hbase

@Test
public void testWalCleanerSequentialClean() throws Exception {
 final Procedure<?>[] procs = new Procedure[5];
 ArrayList<ProcedureWALFile> logs = null;
 // Insert procedures and roll wal after every insert.
 for (int i = 0; i < procs.length; i++) {
  procs[i] = new TestSequentialProcedure();
  procStore.insert(procs[i], null);
  procStore.rollWriterForTesting();
  logs = procStore.getActiveLogs();
  assertEquals(logs.size(), i + 2);  // Extra 1 for current ongoing wal.
 }
 // Delete procedures in sequential order make sure that only the corresponding wal is deleted
 // from logs list.
 final int[] deleteOrder = new int[] { 0, 1, 2, 3, 4 };
 for (int i = 0; i < deleteOrder.length; i++) {
  procStore.delete(procs[deleteOrder[i]].getProcId());
  procStore.removeInactiveLogsForTesting();
  assertFalse(logs.get(deleteOrder[i]).toString(),
   procStore.getActiveLogs().contains(logs.get(deleteOrder[i])));
  assertEquals(procStore.getActiveLogs().size(), procs.length - i);
 }
}

代码示例来源:origin: apache/hbase

@Test
public void testRollAndRemove() throws IOException {
 // Insert something in the log
 Procedure<?> proc1 = new TestSequentialProcedure();
 procStore.insert(proc1, null);
 Procedure<?> proc2 = new TestSequentialProcedure();
 procStore.insert(proc2, null);
 // roll the log, now we have 2
 procStore.rollWriterForTesting();
 assertEquals(2, procStore.getActiveLogs().size());
 // everything will be up to date in the second log
 // so we can remove the first one
 procStore.update(proc1);
 procStore.update(proc2);
 assertEquals(1, procStore.getActiveLogs().size());
 // roll the log, now we have 2
 procStore.rollWriterForTesting();
 assertEquals(2, procStore.getActiveLogs().size());
 // remove everything active
 // so we can remove all the logs
 procStore.delete(proc1.getProcId());
 procStore.delete(proc2.getProcId());
 assertEquals(1, procStore.getActiveLogs().size());
}

代码示例来源:origin: apache/hbase

procStore2.delete(proc2.getProcId()); // delete the procedure so that the WAL is removed later

代码示例来源:origin: apache/hbase

procStore.insert(procs[2], null);
procStore.insert(procs[3], null);
procStore.delete(procs[0].getProcId());
procStore.rollWriterForTesting();
procStore.delete(procs[2].getProcId());
procStore.update(procs[3]);
procStore.insert(procs[4], null);
procStore.rollWriterForTesting();
procStore.delete(procs[4].getProcId());
procStore.insert(procs[5], null);

代码示例来源:origin: apache/hbase

@Test
public void testBatchInsert() throws Exception {
 final int count = 10;
 final TestProcedure[] procs = new TestProcedure[count];
 for (int i = 0; i < procs.length; ++i) {
  procs[i] = new TestProcedure(i + 1);
 }
 procStore.insert(procs);
 restartAndAssert(count, count, 0, 0);
 for (int i = 0; i < procs.length; ++i) {
  final long procId = procs[i].getProcId();
  procStore.delete(procId);
  restartAndAssert(procId != count ? count : 0, count - (i + 1), 0, 0);
 }
 procStore.removeInactiveLogsForTesting();
 assertEquals("WALs=" + procStore.getActiveLogs(), 1, procStore.getActiveLogs().size());
}

代码示例来源:origin: apache/hbase

@Test
public void testWalCleanerWithEmptyRolls() throws Exception {
 final Procedure<?>[] procs = new Procedure[3];
 for (int i = 0; i < procs.length; ++i) {
  procs[i] = new TestSequentialProcedure();
  procStore.insert(procs[i], null);
 }
 assertEquals(1, procStore.getActiveLogs().size());
 procStore.rollWriterForTesting();
 assertEquals(2, procStore.getActiveLogs().size());
 procStore.rollWriterForTesting();
 assertEquals(3, procStore.getActiveLogs().size());
 for (int i = 0; i < procs.length; ++i) {
  procStore.update(procs[i]);
  procStore.rollWriterForTesting();
  procStore.rollWriterForTesting();
  if (i < (procs.length - 1)) {
   assertEquals(3 + ((i + 1) * 2), procStore.getActiveLogs().size());
  }
 }
 assertEquals(7, procStore.getActiveLogs().size());
 for (int i = 0; i < procs.length; ++i) {
  procStore.delete(procs[i].getProcId());
  assertEquals(7 - ((i + 1) * 2), procStore.getActiveLogs().size());
 }
 assertEquals(1, procStore.getActiveLogs().size());
}

代码示例来源:origin: apache/hbase

procStore.delete(child2[1].getProcId());
procIds.remove(child2[1].getProcId());

代码示例来源:origin: apache/hbase

backupStore3.getStoreTracker().setDeleted(1, false);
try {
 backupStore3.delete(1);
 fail("expected RuntimeException 'sync aborted'");
} catch (RuntimeException e) {

代码示例来源:origin: apache/hbase

procStore.delete(proc1.getProcId());
procStore.rollWriterForTesting();
procStore.delete(proc2.getProcId());
procStore.delete(proc0.getProcId());
procStore.periodicRollForTesting();
assertEquals(1, fs.listStatus(logDir).length);

代码示例来源:origin: apache/hbase

@Test
public void testProcIdHoles() throws Exception {
 // Insert
 for (int i = 0; i < 100; i += 2) {
  procStore.insert(new TestProcedure(i), null);
  if (i > 0 && (i % 10) == 0) {
   LoadCounter loader = new LoadCounter();
   storeRestart(loader);
   assertEquals(0, loader.getCorruptedCount());
   assertEquals((i / 2) + 1, loader.getLoadedCount());
  }
 }
 assertEquals(10, procStore.getActiveLogs().size());
 // Delete
 for (int i = 0; i < 100; i += 2) {
  procStore.delete(i);
 }
 assertEquals(1, procStore.getActiveLogs().size());
 LoadCounter loader = new LoadCounter();
 storeRestart(loader);
 assertEquals(0, loader.getLoadedCount());
 assertEquals(0, loader.getCorruptedCount());
}

代码示例来源:origin: apache/hbase

@Test
public void testLoadChildren() throws Exception {
 TestProcedure a = new TestProcedure(1, 0);
 TestProcedure b = new TestProcedure(2, 1);
 TestProcedure c = new TestProcedure(3, 1);
 // INIT
 procStore.insert(a, null);
 // Run A first step
 a.addStackId(0);
 procStore.update(a);
 // Run A second step
 a.addStackId(1);
 procStore.insert(a, new Procedure[] { b, c });
 // Run B first step
 b.addStackId(2);
 procStore.update(b);
 // Run C first and last step
 c.addStackId(3);
 procStore.update(c);
 // Run B second setp
 b.addStackId(4);
 procStore.update(b);
 // back to A
 a.addStackId(5);
 a.setSuccessState();
 procStore.delete(a, new long[] { b.getProcId(), c.getProcId() });
 restartAndAssert(3, 0, 1, 0);
}

代码示例来源:origin: org.apache.hbase/hbase-procedure

@Override
public void delete(final long[] procIds, final int offset, final int count) {
 if (count == 0) return;
 if (offset == 0 && count == procIds.length) {
  delete(procIds);
 } else if (count == 1) {
  delete(procIds[offset]);
 } else {
  delete(Arrays.copyOfRange(procIds, offset, offset + count));
 }
}

代码示例来源:origin: com.aliyun.hbase/alihbase-procedure

@Override
public void delete(final long[] procIds, final int offset, final int count) {
 if (count == 0) return;
 if (offset == 0 && count == procIds.length) {
  delete(procIds);
 } else if (count == 1) {
  delete(procIds[offset]);
 } else {
  delete(Arrays.copyOfRange(procIds, offset, offset + count));
 }
}

代码示例来源:origin: org.apache.hbase/hbase-procedure

@Test
public void testBatchInsert() throws Exception {
 final int count = 10;
 final TestProcedure[] procs = new TestProcedure[count];
 for (int i = 0; i < procs.length; ++i) {
  procs[i] = new TestProcedure(i + 1);
 }
 procStore.insert(procs);
 restartAndAssert(count, count, 0, 0);
 for (int i = 0; i < procs.length; ++i) {
  final long procId = procs[i].getProcId();
  procStore.delete(procId);
  restartAndAssert(procId != count ? count : 0, count - (i + 1), 0, 0);
 }
 procStore.removeInactiveLogsForTesting();
 assertEquals("WALs=" + procStore.getActiveLogs(), 1, procStore.getActiveLogs().size());
}

代码示例来源:origin: com.aliyun.hbase/alihbase-procedure

@Test
public void testBatchInsert() throws Exception {
 final int count = 10;
 final TestProcedure[] procs = new TestProcedure[count];
 for (int i = 0; i < procs.length; ++i) {
  procs[i] = new TestProcedure(i + 1);
 }
 procStore.insert(procs);
 restartAndAssert(count, count, 0, 0);
 for (int i = 0; i < procs.length; ++i) {
  final long procId = procs[i].getProcId();
  procStore.delete(procId);
  restartAndAssert(procId != count ? count : 0, count - (i + 1), 0, 0);
 }
 procStore.removeInactiveLogsForTesting();
 assertEquals("WALs=" + procStore.getActiveLogs(), 1, procStore.getActiveLogs().size());
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com