org.apache.activemq.artemis.tests.unit.core.journal.impl.fakes.SimpleEncoding

Here are the examples of the java api class org.apache.activemq.artemis.tests.unit.core.journal.impl.fakes.SimpleEncoding taken from open source projects.

1. AlignedJournalImplTest#testReloadWithPreparedTransaction()

Project: activemq-artemis
File: AlignedJournalImplTest.java
@Test
public void testReloadWithPreparedTransaction() throws Exception {
    final int JOURNAL_SIZE = 3 * 1024;
    setupAndLoadJournal(JOURNAL_SIZE, 1);
    Assert.assertEquals(0, records.size());
    Assert.assertEquals(0, transactions.size());
    for (int i = 0; i < 10; i++) {
        journalImpl.appendAddRecordTransactional(1, i, (byte) 1, new SimpleEncoding(50, (byte) 1));
        journalImpl.forceMoveNextFile();
    }
    journalImpl.debugWait();
    SimpleEncoding xid1 = new SimpleEncoding(10, (byte) 1);
    journalImpl.appendPrepareRecord(1L, xid1, false);
    Assert.assertEquals(12, factory.listFiles("tt").size());
    setupAndLoadJournal(JOURNAL_SIZE, 1024);
    Assert.assertEquals(0, records.size());
    Assert.assertEquals(1, transactions.size());
    Assert.assertEquals(10, transactions.get(0).getExtraData().length);
    for (int i = 0; i < 10; i++) {
        Assert.assertEquals((byte) 1, transactions.get(0).getExtraData()[i]);
    }
    journalImpl.checkReclaimStatus();
    Assert.assertEquals(10, journalImpl.getDataFilesCount());
    Assert.assertEquals(12, factory.listFiles("tt").size());
    journalImpl.appendCommitRecord(1L, false);
    setupAndLoadJournal(JOURNAL_SIZE, 1024);
    Assert.assertEquals(10, records.size());
    journalImpl.checkReclaimStatus();
    for (int i = 0; i < 10; i++) {
        journalImpl.appendDeleteRecordTransactional(2L, i);
    }
    SimpleEncoding xid2 = new SimpleEncoding(15, (byte) 2);
    journalImpl.appendPrepareRecord(2L, xid2, false);
    setupAndLoadJournal(JOURNAL_SIZE, 1);
    Assert.assertEquals(1, transactions.size());
    Assert.assertEquals(15, transactions.get(0).getExtraData().length);
    for (byte element : transactions.get(0).getExtraData()) {
        Assert.assertEquals(2, element);
    }
    Assert.assertEquals(10, journalImpl.getDataFilesCount());
    Assert.assertEquals(12, factory.listFiles("tt").size());
    journalImpl.appendCommitRecord(2L, false);
    setupAndLoadJournal(JOURNAL_SIZE, 1);
    Assert.assertEquals(0, records.size());
    Assert.assertEquals(0, transactions.size());
    journalImpl.forceMoveNextFile();
    // Reclaiming should still be able to reclaim a file if a transaction was
    // ignored
    journalImpl.checkReclaimStatus();
    Assert.assertEquals(2, factory.listFiles("tt").size());
}

2. JournalImplTestUnit#testEmptyPrepare()

Project: activemq-artemis
File: JournalImplTestUnit.java
@Test
public void testEmptyPrepare() throws Exception {
    setup(2, calculateRecordSize(JournalImpl.SIZE_HEADER, getAlignment()) + calculateRecordSize(recordLength, getAlignment()) + 512, true);
    createJournal();
    startJournal();
    load();
    EncodingSupport xid = new SimpleEncoding(10, (byte) 0);
    prepare(1, xid);
    stopJournal();
    createJournal();
    startJournal();
    loadAndCheck();
    commit(1);
    xid = new SimpleEncoding(10, (byte) 1);
    prepare(2, xid);
    stopJournal();
    createJournal();
    startJournal();
    loadAndCheck();
    rollback(2);
    stopJournal();
    createJournal();
    startJournal();
    loadAndCheck();
}

3. AlignedJournalImplTest#testSimplePrepare()

Project: activemq-artemis
File: AlignedJournalImplTest.java
@Test
public void testSimplePrepare() throws Exception {
    final int JOURNAL_SIZE = 3 * 1024;
    setupAndLoadJournal(JOURNAL_SIZE, 1);
    Assert.assertEquals(0, records.size());
    Assert.assertEquals(0, transactions.size());
    SimpleEncoding xid = new SimpleEncoding(10, (byte) 1);
    journalImpl.appendAddRecord(10L, (byte) 0, new SimpleEncoding(10, (byte) 0), false);
    journalImpl.appendDeleteRecordTransactional(1L, 10L, new SimpleEncoding(100, (byte) 'j'));
    journalImpl.appendPrepareRecord(1, xid, false);
    journalImpl.debugWait();
    setupAndLoadJournal(JOURNAL_SIZE, 1);
    Assert.assertEquals(1, transactions.size());
    Assert.assertEquals(1, transactions.get(0).getRecordsToDelete().size());
    Assert.assertEquals(1, records.size());
    for (RecordInfo record : transactions.get(0).getRecordsToDelete()) {
        byte[] data = record.data;
        Assert.assertEquals(100, data.length);
        for (byte element : data) {
            Assert.assertEquals((byte) 'j', element);
        }
    }
    Assert.assertEquals(10, transactions.get(0).getExtraData().length);
    for (int i = 0; i < 10; i++) {
        Assert.assertEquals((byte) 1, transactions.get(0).getExtraData()[i]);
    }
    journalImpl.appendCommitRecord(1L, false);
    journalImpl.debugWait();
    setupAndLoadJournal(JOURNAL_SIZE, 1);
    Assert.assertEquals(0, transactions.size());
    Assert.assertEquals(0, records.size());
}

4. AlignedJournalImplTest#testPrepareAloneOnSeparatedFile()

Project: activemq-artemis
File: AlignedJournalImplTest.java
@Test
public void testPrepareAloneOnSeparatedFile() throws Exception {
    final int JOURNAL_SIZE = 20000;
    setupAndLoadJournal(JOURNAL_SIZE, 100);
    Assert.assertEquals(0, records.size());
    Assert.assertEquals(0, transactions.size());
    for (int i = 0; i < 10; i++) {
        journalImpl.appendAddRecordTransactional(1L, i, (byte) 0, new SimpleEncoding(1, (byte) 15));
    }
    journalImpl.forceMoveNextFile();
    SimpleEncoding xidEncoding = new SimpleEncoding(10, (byte) 'a');
    journalImpl.appendPrepareRecord(1L, xidEncoding, false);
    journalImpl.appendCommitRecord(1L, false);
    for (int i = 0; i < 10; i++) {
        journalImpl.appendDeleteRecordTransactional(2L, i);
    }
    journalImpl.appendCommitRecord(2L, false);
    // Add
    journalImpl.appendAddRecord(100L, (byte) 0, new SimpleEncoding(1, (byte) 10), false);
    // anything
    // to
    // keep
    // holding
    // the
    // file
    journalImpl.forceMoveNextFile();
    journalImpl.checkReclaimStatus();
    setupAndLoadJournal(JOURNAL_SIZE, 100);
    Assert.assertEquals(1, records.size());
}

5. JournalImplTestUnit#internaltestSpeedNonTransactional()

Project: activemq-artemis
File: JournalImplTestUnit.java
private void internaltestSpeedNonTransactional() throws Exception {
    final long numMessages = 10000;
    int numFiles = (int) ((numMessages * 1024 + 512) / (10 * 1024 * 1024) * 1.3);
    if (numFiles < 2) {
        numFiles = 2;
    }
    JournalImplTestUnit.log.debug("num Files=" + numFiles);
    Journal journal = new JournalImpl(10 * 1024 * 1024, numFiles, numFiles, 0, 0, getFileFactory(), "activemq-data", "amq", 5000);
    journal.start();
    journal.load(new ArrayList<RecordInfo>(), null, null);
    JournalImplTestUnit.log.debug("Adding data");
    SimpleEncoding data = new SimpleEncoding(700, (byte) 'j');
    long start = System.currentTimeMillis();
    for (int i = 0; i < numMessages; i++) {
        journal.appendAddRecord(i, (byte) 0, data, true);
    }
    long end = System.currentTimeMillis();
    double rate = 1000 * (double) numMessages / (end - start);
    JournalImplTestUnit.log.info("Rate " + rate + " records/sec");
    journal.stop();
    journal = new JournalImpl(10 * 1024 * 1024, numFiles, numFiles, 0, 0, getFileFactory(), "activemq-data", "amq", 5000);
    journal.start();
    journal.load(new ArrayList<RecordInfo>(), null, null);
    journal.stop();
}