Search in sources :

Example 1 with SSTableWriter

use of org.bboxdb.storage.sstable.SSTableWriter in project bboxdb by jnidzwetzki.

the class SSTableServiceRunnable method openFacades.

/**
 * Open the facades
 *
 * @param newTableWriter
 * @param newFacades
 * @throws StorageManagerException
 */
private void openFacades(final List<SSTableWriter> newTableWriter, final List<SSTableFacade> newFacades) throws StorageManagerException {
    for (final SSTableWriter writer : newTableWriter) {
        final TupleStoreManagerRegistry tupleStoreManagerRegistry = storage.getTupleStoreManagerRegistry();
        final BBoxDBConfiguration configuration = tupleStoreManagerRegistry.getConfiguration();
        final int sstableKeyCacheEntries = configuration.getSstableKeyCacheEntries();
        final SSTableFacade newFacade = new SSTableFacade(writer.getDirectory(), writer.getName(), writer.getTablenumber(), sstableKeyCacheEntries);
        newFacades.add(newFacade);
    }
}
Also used : TupleStoreManagerRegistry(org.bboxdb.storage.tuplestore.manager.TupleStoreManagerRegistry) BBoxDBConfiguration(org.bboxdb.misc.BBoxDBConfiguration) SSTableWriter(org.bboxdb.storage.sstable.SSTableWriter) SSTableFacade(org.bboxdb.storage.sstable.reader.SSTableFacade)

Example 2 with SSTableWriter

use of org.bboxdb.storage.sstable.SSTableWriter in project bboxdb by jnidzwetzki.

the class TestSSTable method testWrittenFiles.

/**
 * Test written files
 * @throws Exception
 */
@Test(timeout = 60000)
public void testWrittenFiles() throws Exception {
    final String relationDirectory = SSTableHelper.getSSTableDir(STORAGE_DIRECTORY, TEST_RELATION);
    final File relationDirectoryFile = new File(relationDirectory);
    FileUtil.deleteRecursive(relationDirectoryFile.toPath());
    Assert.assertFalse(relationDirectoryFile.exists());
    relationDirectoryFile.mkdirs();
    final List<Tuple> tupleList = createTupleList();
    final SSTableWriter ssTableWriter = new SSTableWriter(STORAGE_DIRECTORY, TEST_RELATION, 1, EXPECTED_TUPLES);
    ssTableWriter.open();
    ssTableWriter.addData(tupleList);
    final File sstableFile = ssTableWriter.getSstableFile();
    final File sstableIndexFile = ssTableWriter.getSstableIndexFile();
    ssTableWriter.close();
    Assert.assertTrue(sstableFile.exists());
    Assert.assertTrue(sstableIndexFile.exists());
}
Also used : SSTableWriter(org.bboxdb.storage.sstable.SSTableWriter) File(java.io.File) Tuple(org.bboxdb.storage.entity.Tuple) DeletedTuple(org.bboxdb.storage.entity.DeletedTuple) Test(org.junit.Test)

Example 3 with SSTableWriter

use of org.bboxdb.storage.sstable.SSTableWriter in project bboxdb by jnidzwetzki.

the class TestSSTable method testIndexIterator.

/**
 * Test the tuple iterator
 * @throws Exception
 */
@Test(timeout = 60000)
public void testIndexIterator() throws Exception {
    final String relationDirectory = SSTableHelper.getSSTableDir(STORAGE_DIRECTORY, TEST_RELATION);
    final File relationDirectoryFile = new File(relationDirectory);
    FileUtil.deleteRecursive(relationDirectoryFile.toPath());
    relationDirectoryFile.mkdirs();
    final List<Tuple> tupleList = createTupleList();
    final SSTableWriter ssTableWriter = new SSTableWriter(STORAGE_DIRECTORY, TEST_RELATION, 1, EXPECTED_TUPLES);
    ssTableWriter.open();
    ssTableWriter.addData(tupleList);
    final File sstableIndexFile = ssTableWriter.getSstableIndexFile();
    ssTableWriter.close();
    final SSTableReader sstableReader = new SSTableReader(STORAGE_DIRECTORY, TEST_RELATION, 1);
    sstableReader.init();
    final SSTableKeyIndexReader ssTableIndexReader = new SSTableKeyIndexReader(sstableReader);
    ssTableIndexReader.init();
    Assert.assertEquals(1, sstableReader.getTablebumber());
    Assert.assertEquals(1, ssTableIndexReader.getTablebumber());
    Assert.assertEquals(sstableIndexFile, ssTableIndexReader.getFile());
    Assert.assertTrue(sstableReader.getLastModifiedTimestamp() > 0);
    Assert.assertTrue(ssTableIndexReader.getLastModifiedTimestamp() > 0);
    Assert.assertTrue(ssTableIndexReader.getSize() > 0);
    Assert.assertTrue(sstableReader.getSize() > 0);
    int tupleCounter = 0;
    for (Tuple tuple : ssTableIndexReader) {
        Assert.assertEquals(tupleList.get(tupleCounter), tuple);
        tupleCounter++;
    }
    Assert.assertEquals(tupleList.size(), tupleCounter);
}
Also used : SSTableReader(org.bboxdb.storage.sstable.reader.SSTableReader) SSTableKeyIndexReader(org.bboxdb.storage.sstable.reader.SSTableKeyIndexReader) SSTableWriter(org.bboxdb.storage.sstable.SSTableWriter) File(java.io.File) Tuple(org.bboxdb.storage.entity.Tuple) DeletedTuple(org.bboxdb.storage.entity.DeletedTuple) Test(org.junit.Test)

Example 4 with SSTableWriter

use of org.bboxdb.storage.sstable.SSTableWriter in project bboxdb by jnidzwetzki.

the class TestTableCompactor method addTuplesToFileAndGetReader.

/**
 * Write the tuplelist into a SSTable and return a reader for this table
 *
 * @param tupleList
 * @param number
 * @return
 * @throws StorageManagerException
 */
protected SSTableKeyIndexReader addTuplesToFileAndGetReader(final List<Tuple> tupleList, int number) throws StorageManagerException {
    Collections.sort(tupleList);
    final SSTableWriter ssTableWriter = new SSTableWriter(STORAGE_DIRECTORY, TEST_RELATION, number, EXPECTED_TUPLES);
    ssTableWriter.open();
    ssTableWriter.addData(tupleList);
    ssTableWriter.close();
    final SSTableReader sstableReader = new SSTableReader(STORAGE_DIRECTORY, TEST_RELATION, number);
    sstableReader.init();
    final SSTableKeyIndexReader ssTableIndexReader = new SSTableKeyIndexReader(sstableReader);
    ssTableIndexReader.init();
    return ssTableIndexReader;
}
Also used : SSTableReader(org.bboxdb.storage.sstable.reader.SSTableReader) SSTableKeyIndexReader(org.bboxdb.storage.sstable.reader.SSTableKeyIndexReader) SSTableWriter(org.bboxdb.storage.sstable.SSTableWriter)

Example 5 with SSTableWriter

use of org.bboxdb.storage.sstable.SSTableWriter in project bboxdb by jnidzwetzki.

the class TestTableCompactor method exectuteCompactAndGetReader.

/**
 * Execute a compactification and return the reader for the resulting table
 *
 * @param reader1
 * @param reader2
 * @param writer
 * @param major
 * @return
 * @throws StorageManagerException
 */
protected SSTableKeyIndexReader exectuteCompactAndGetReader(final SSTableKeyIndexReader reader1, final SSTableKeyIndexReader reader2, final boolean majorCompaction) throws StorageManagerException {
    storageRegistry.deleteTable(TEST_RELATION, true);
    storageRegistry.createTable(TEST_RELATION, new TupleStoreConfiguration());
    final TupleStoreManager storageManager = storageRegistry.getTupleStoreManager(TEST_RELATION);
    final SSTableCompactor compactor = new SSTableCompactor(storageManager, Arrays.asList(reader1, reader2));
    compactor.setMajorCompaction(majorCompaction);
    compactor.executeCompactation();
    final List<SSTableWriter> resultWriter = compactor.getResultList();
    Assert.assertEquals(1, resultWriter.size());
    final SSTableWriter writer = resultWriter.get(0);
    final SSTableReader reader = new SSTableReader(STORAGE_DIRECTORY, TEST_RELATION, writer.getTablenumber());
    reader.init();
    final SSTableKeyIndexReader ssTableIndexReader = new SSTableKeyIndexReader(reader);
    ssTableIndexReader.init();
    return ssTableIndexReader;
}
Also used : SSTableReader(org.bboxdb.storage.sstable.reader.SSTableReader) SSTableKeyIndexReader(org.bboxdb.storage.sstable.reader.SSTableKeyIndexReader) TupleStoreConfiguration(org.bboxdb.storage.entity.TupleStoreConfiguration) SSTableWriter(org.bboxdb.storage.sstable.SSTableWriter) TupleStoreManager(org.bboxdb.storage.tuplestore.manager.TupleStoreManager) SSTableCompactor(org.bboxdb.storage.sstable.compact.SSTableCompactor)

Aggregations

SSTableWriter (org.bboxdb.storage.sstable.SSTableWriter)10 DeletedTuple (org.bboxdb.storage.entity.DeletedTuple)5 Tuple (org.bboxdb.storage.entity.Tuple)5 Test (org.junit.Test)5 File (java.io.File)4 SSTableKeyIndexReader (org.bboxdb.storage.sstable.reader.SSTableKeyIndexReader)4 SSTableReader (org.bboxdb.storage.sstable.reader.SSTableReader)3 TupleStoreConfiguration (org.bboxdb.storage.entity.TupleStoreConfiguration)2 SSTableCompactor (org.bboxdb.storage.sstable.compact.SSTableCompactor)2 SSTableFacade (org.bboxdb.storage.sstable.reader.SSTableFacade)2 TupleStoreManager (org.bboxdb.storage.tuplestore.manager.TupleStoreManager)2 ArrayList (java.util.ArrayList)1 BBoxDBConfiguration (org.bboxdb.misc.BBoxDBConfiguration)1 ReadOnlyTupleStore (org.bboxdb.storage.tuplestore.ReadOnlyTupleStore)1 TupleStoreManagerRegistry (org.bboxdb.storage.tuplestore.manager.TupleStoreManagerRegistry)1