Example #1
0
  @Test
  public void preallocate() {
    WriteAheadLog wal = new WriteAheadLog(null);
    wal.open(WriteAheadLog.NOREPLAY);
    wal.startNextFile();

    wal.walPutPreallocate(111111L);
    wal.seal();

    final AtomicInteger c = new AtomicInteger();

    wal.replayWAL(
        new WriteAheadLog.WALReplay() {
          @Override
          public void beforeReplayStart() {}

          @Override
          public void afterReplayFinished() {}

          @Override
          public void writeLong(long offset, long value) {
            fail();
          }

          @Override
          public void writeRecord(long recid, long walId, Volume vol, long volOffset, int length) {
            fail();
          }

          @Override
          public void writeByteArray(
              long offset, long walId, Volume vol, long volOffset, int length) {
            fail();
          }

          @Override
          public void commit() {
            fail();
          }

          @Override
          public void rollback() {
            fail();
          }

          @Override
          public void writeTombstone(long recid) {
            fail();
          }

          @Override
          public void writePreallocate(long recid) {
            c.incrementAndGet();
            assertEquals(111111L, recid);
          }
        });
    assertEquals(1, c.get());
  }