Ejemplo n.º 1
0
  public int getNumberOfPages() throws Exception {
    clearIO();
    try {
      PagingStore pageStore = pagingManager.getPageStore(address);

      if (!pageStore.isPaging()) {
        return 0;
      } else {
        return pagingManager.getPageStore(address).getNumberOfPages();
      }
    } finally {
      blockOnIO();
    }
  }
Ejemplo n.º 2
0
  protected PagingManager createPageManager(
      final StorageManager storageManager,
      final Configuration configuration,
      final ExecutorFactory executorFactory,
      final HierarchicalRepository<AddressSettings> addressSettingsRepository)
      throws Exception {

    PagingManager paging =
        new PagingManagerImpl(
            new PagingStoreFactoryNIO(
                configuration.getPagingDirectory(), 1000, null, executorFactory, false),
            storageManager,
            addressSettingsRepository);

    paging.start();
    return paging;
  }
Ejemplo n.º 3
0
 public boolean isPaging() throws Exception {
   clearIO();
   try {
     return pagingManager.getPageStore(address).isPaging();
   } finally {
     blockOnIO();
   }
 }
Ejemplo n.º 4
0
 public long getAddressSize() throws Exception {
   clearIO();
   try {
     return pagingManager.getPageStore(address).getAddressSize();
   } finally {
     blockOnIO();
   }
 }
Ejemplo n.º 5
0
 public long getNumberOfBytesPerPage() throws Exception {
   clearIO();
   try {
     return pagingManager.getPageStore(address).getPageSizeBytes();
   } finally {
     blockOnIO();
   }
 }
Ejemplo n.º 6
0
  @Test
  public void testSendPackets() throws Exception {
    setupServer(true);

    StorageManager storage = getStorage();

    manager = liveServer.getReplicationManager();
    waitForComponent(manager);

    Journal replicatedJournal = new ReplicatedJournal((byte) 1, new FakeJournal(), manager);

    replicatedJournal.appendPrepareRecord(1, new FakeData(), false);

    replicatedJournal.appendAddRecord(1, (byte) 1, new FakeData(), false);
    replicatedJournal.appendUpdateRecord(1, (byte) 2, new FakeData(), false);
    replicatedJournal.appendDeleteRecord(1, false);
    replicatedJournal.appendAddRecordTransactional(2, 2, (byte) 1, new FakeData());
    replicatedJournal.appendUpdateRecordTransactional(2, 2, (byte) 2, new FakeData());
    replicatedJournal.appendCommitRecord(2, false);

    replicatedJournal.appendDeleteRecordTransactional(3, 4, new FakeData());
    replicatedJournal.appendPrepareRecord(3, new FakeData(), false);
    replicatedJournal.appendRollbackRecord(3, false);

    blockOnReplication(storage, manager);

    Assert.assertTrue(
        "Expecting no active tokens:" + manager.getActiveTokens(),
        manager.getActiveTokens().isEmpty());

    ServerMessage msg = new ServerMessageImpl(1, 1024);

    SimpleString dummy = new SimpleString("dummy");
    msg.setAddress(dummy);

    replicatedJournal.appendAddRecordTransactional(23, 24, (byte) 1, new FakeData());

    PagedMessage pgmsg = new PagedMessageImpl(msg, new long[0]);
    manager.pageWrite(pgmsg, 1);
    manager.pageWrite(pgmsg, 2);
    manager.pageWrite(pgmsg, 3);
    manager.pageWrite(pgmsg, 4);

    blockOnReplication(storage, manager);

    PagingManager pagingManager =
        createPageManager(
            backupServer.getStorageManager(), backupServer.getConfiguration(),
            backupServer.getExecutorFactory(), backupServer.getAddressSettingsRepository());

    PagingStore store = pagingManager.getPageStore(dummy);
    store.start();
    Assert.assertEquals(4, store.getNumberOfPages());
    store.stop();

    manager.pageDeleted(dummy, 1);
    manager.pageDeleted(dummy, 2);
    manager.pageDeleted(dummy, 3);
    manager.pageDeleted(dummy, 4);
    manager.pageDeleted(dummy, 5);
    manager.pageDeleted(dummy, 6);

    blockOnReplication(storage, manager);

    ServerMessageImpl serverMsg = new ServerMessageImpl();
    serverMsg.setMessageID(500);
    serverMsg.setAddress(new SimpleString("tttt"));

    HornetQBuffer buffer = HornetQBuffers.dynamicBuffer(100);
    serverMsg.encodeHeadersAndProperties(buffer);

    manager.largeMessageBegin(500);

    manager.largeMessageWrite(500, new byte[1024]);

    manager.largeMessageDelete(Long.valueOf(500));

    blockOnReplication(storage, manager);

    store.start();

    Assert.assertEquals(0, store.getNumberOfPages());
  }