Skip to content

Commit

Permalink
Fixing SlowStorageEngine and FileBackedCachingStorageEngine build issues
Browse files Browse the repository at this point in the history
  • Loading branch information
vinothchandar committed Oct 19, 2012
1 parent 5e48136 commit 3d51f85
Show file tree
Hide file tree
Showing 5 changed files with 37 additions and 4 deletions.
2 changes: 1 addition & 1 deletion src/java/voldemort/server/storage/StorageService.java
Original file line number Diff line number Diff line change
Expand Up @@ -443,7 +443,7 @@ public void openSystemStore(StoreDefinition storeDef) {
+ " but " + storeDef.getType()
+ " storage engine has not been enabled.");

final StorageEngine<ByteArray, byte[], byte[]> engine = config.getStore(storeDef);
final StorageEngine<ByteArray, byte[], byte[]> engine = config.getStore(storeDef, null);

// Noted that there is no read-only processing as for user stores.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

package voldemort.store.configuration;

import voldemort.routing.RoutingStrategy;
import voldemort.server.VoldemortConfig;
import voldemort.store.StorageConfiguration;
import voldemort.store.StorageEngine;
Expand All @@ -38,7 +39,8 @@ public FileBackedCachingStorageConfiguration(VoldemortConfig config) {
this.inputPath = config.getMetadataDirectory();
}

public StorageEngine<ByteArray, byte[], byte[]> getStore(StoreDefinition storeDef) {
public StorageEngine<ByteArray, byte[], byte[]> getStore(StoreDefinition storeDef,
RoutingStrategy strategy) {
return new FileBackedCachingStorageEngine(storeDef.getName(), inputPath);
}

Expand All @@ -51,5 +53,4 @@ public void close() {}
public void update(StoreDefinition storeDef) {

}

}
Original file line number Diff line number Diff line change
Expand Up @@ -333,4 +333,19 @@ public void close() {}

}

@Override
public ClosableIterator<Pair<ByteArray, Versioned<byte[]>>> entries(int partition) {
throw new UnsupportedOperationException("Partition based entries scan not supported for this storage type");
}

@Override
public ClosableIterator<ByteArray> keys(int partition) {
throw new UnsupportedOperationException("Partition based keys scan not supported for this storage type");
}

@Override
public boolean isPartitionScanSupported() {
return false;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@

import voldemort.VoldemortException;
import voldemort.common.OpTimeMap;
import voldemort.routing.RoutingStrategy;
import voldemort.server.VoldemortConfig;
import voldemort.store.StorageConfiguration;
import voldemort.store.StorageEngine;
Expand All @@ -39,7 +40,8 @@ public SlowStorageConfiguration(VoldemortConfig config) {
this.voldemortConfig = config;
}

public StorageEngine<ByteArray, byte[], byte[]> getStore(StoreDefinition storeDef) {
public StorageEngine<ByteArray, byte[], byte[]> getStore(StoreDefinition storeDef,
RoutingStrategy strategy) {
if(voldemortConfig != null) {
return new SlowStorageEngine<ByteArray, byte[], byte[]>(new InMemoryStorageEngine<ByteArray, byte[], byte[]>(storeDef.getName()),
this.voldemortConfig.testingGetSlowQueueingDelays(),
Expand Down
15 changes: 15 additions & 0 deletions test/integration/voldemort/store/slow/SlowStorageEngine.java
Original file line number Diff line number Diff line change
Expand Up @@ -146,4 +146,19 @@ public Object getCapability(StoreCapabilityType capability) {
return innerStorageEngine.getCapability(capability);
}

@Override
public ClosableIterator<Pair<K, Versioned<V>>> entries(int partition) {
return innerStorageEngine.entries(partition);
}

@Override
public ClosableIterator<K> keys(int partition) {
return innerStorageEngine.keys(partition);
}

@Override
public boolean isPartitionScanSupported() {
return innerStorageEngine.isPartitionScanSupported();
}

}

0 comments on commit 3d51f85

Please sign in to comment.