public void initialize(Configuration config) {
try {
//EdgeStore & VertexIndexStore
KeyColumnValueStore idStore = getStore(ID_STORE_NAME);
if (basicMetrics) {
idStore = new MetricInstrumentedStore(idStore, getMetricsStoreName("idStore"));
}
idAuthority = null;
if (storeFeatures.supportsTransactions()) {
idAuthority = new TransactionalIDManager(idStore, storeManager, config);
} else if (storeFeatures.supportsConsistentKeyOperations()) {
idAuthority = new ConsistentKeyIDManager(idStore, storeManager, config);
} else {
throw new IllegalStateException("Store needs to support consistent key or transactional operations for ID manager to guarantee proper id allocations");
}
edgeStore = getLockStore(getBufferStore(EDGESTORE_NAME));
vertexIndexStore = getLockStore(getBufferStore(VERTEXINDEX_STORE_NAME));
edgeIndexStore = getLockStore(getBufferStore(EDGEINDEX_STORE_NAME), false);
if (hashPrefixIndex) {
vertexIndexStore = new HashPrefixKeyColumnValueStore(vertexIndexStore, 4);
edgeIndexStore = new HashPrefixKeyColumnValueStore(edgeIndexStore, 4);
}
if (basicMetrics) {
edgeStore = new MetricInstrumentedStore(edgeStore, getMetricsStoreName("edgeStore"));
vertexIndexStore = new MetricInstrumentedStore(vertexIndexStore, getMetricsStoreName("vertexIndexStore"));
edgeIndexStore = new MetricInstrumentedStore(edgeIndexStore, getMetricsStoreName("edgeIndexStore"));
}
String version = null;
KCVSConfiguration systemConfig = new KCVSConfiguration(storeManager,SYSTEM_PROPERTIES_STORE_NAME,
SYSTEM_PROPERTIES_IDENTIFIER);