Search in sources :

Example 6 with StoreFeatures

use of com.thinkaurelius.titan.diskstorage.keycolumnvalue.StoreFeatures in project titan by thinkaurelius.

the class AbstractStoreManager method getMetaDataSchema.

public EntryMetaData[] getMetaDataSchema(String storeName) {
    List<EntryMetaData> schemaBuilder = Lists.newArrayList();
    StoreFeatures features = getFeatures();
    if (features.hasTimestamps() && storageConfig.get(STORE_META_TIMESTAMPS, storeName))
        schemaBuilder.add(EntryMetaData.TIMESTAMP);
    if (features.hasCellTTL() && storageConfig.get(STORE_META_TTL, storeName))
        schemaBuilder.add(EntryMetaData.TTL);
    if (features.hasVisibility() && storageConfig.get(STORE_META_VISIBILITY, storeName))
        schemaBuilder.add(EntryMetaData.VISIBILITY);
    if (schemaBuilder.isEmpty())
        return StaticArrayEntry.EMPTY_SCHEMA;
    return schemaBuilder.toArray(new EntryMetaData[schemaBuilder.size()]);
}
Also used : StoreFeatures(com.thinkaurelius.titan.diskstorage.keycolumnvalue.StoreFeatures) EntryMetaData(com.thinkaurelius.titan.diskstorage.EntryMetaData)

Example 7 with StoreFeatures

use of com.thinkaurelius.titan.diskstorage.keycolumnvalue.StoreFeatures in project titan by thinkaurelius.

the class TitanGraphBaseTest method openLog.

private Log openLog(String logManagerName, String logName) {
    try {
        ModifiableConfiguration configuration = new ModifiableConfiguration(GraphDatabaseConfiguration.ROOT_NS, config.copy(), BasicConfiguration.Restriction.NONE);
        configuration.set(GraphDatabaseConfiguration.UNIQUE_INSTANCE_ID, "reader");
        configuration.set(GraphDatabaseConfiguration.LOG_READ_INTERVAL, Duration.ofMillis(500L), logManagerName);
        if (logStoreManager == null) {
            logStoreManager = Backend.getStorageManager(configuration);
        }
        StoreFeatures f = logStoreManager.getFeatures();
        boolean part = f.isDistributed() && f.isKeyOrdered();
        if (part) {
            for (String logname : new String[] { USER_LOG, TRANSACTION_LOG, MANAGEMENT_LOG }) configuration.set(KCVSLogManager.LOG_MAX_PARTITIONS, 8, logname);
        }
        assert logStoreManager != null;
        if (!logManagers.containsKey(logManagerName)) {
            //Open log manager - only supports KCVSLog
            Configuration logConfig = configuration.restrictTo(logManagerName);
            Preconditions.checkArgument(logConfig.get(LOG_BACKEND).equals(LOG_BACKEND.getDefaultValue()));
            logManagers.put(logManagerName, new KCVSLogManager(logStoreManager, logConfig));
        }
        assert logManagers.containsKey(logManagerName);
        return logManagers.get(logManagerName).openLog(logName);
    } catch (BackendException e) {
        throw new TitanException("Could not open log: " + logName, e);
    }
}
Also used : StoreFeatures(com.thinkaurelius.titan.diskstorage.keycolumnvalue.StoreFeatures) KCVSLogManager(com.thinkaurelius.titan.diskstorage.log.kcvs.KCVSLogManager) GraphDatabaseConfiguration(com.thinkaurelius.titan.graphdb.configuration.GraphDatabaseConfiguration) BackendException(com.thinkaurelius.titan.diskstorage.BackendException)

Aggregations

StoreFeatures (com.thinkaurelius.titan.diskstorage.keycolumnvalue.StoreFeatures)7 Test (org.junit.Test)5 KeyColumnValueStoreTest (com.thinkaurelius.titan.diskstorage.KeyColumnValueStoreTest)3 Category (org.junit.experimental.categories.Category)3 BackendException (com.thinkaurelius.titan.diskstorage.BackendException)1 EntryMetaData (com.thinkaurelius.titan.diskstorage.EntryMetaData)1 AbstractCassandraStoreTest (com.thinkaurelius.titan.diskstorage.cassandra.AbstractCassandraStoreTest)1 StandardStoreFeatures (com.thinkaurelius.titan.diskstorage.keycolumnvalue.StandardStoreFeatures)1 KCVSLogManager (com.thinkaurelius.titan.diskstorage.log.kcvs.KCVSLogManager)1 GraphDatabaseConfiguration (com.thinkaurelius.titan.graphdb.configuration.GraphDatabaseConfiguration)1