voldemort.store.readonly.swapper
Class StoreSwapper

java.lang.Object
  extended by voldemort.store.readonly.swapper.StoreSwapper
Direct Known Subclasses:
AdminStoreSwapper, HttpStoreSwapper

public abstract class StoreSwapper
extends java.lang.Object

A helper class to invoke the FETCH and SWAP operations on a remote store via HTTP.


Field Summary
protected  Cluster cluster
           
protected  java.util.concurrent.ExecutorService executor
           
 
Constructor Summary
StoreSwapper(Cluster cluster, java.util.concurrent.ExecutorService executor)
           
 
Method Summary
protected abstract  java.util.List<java.lang.String> invokeFetch(java.lang.String storeName, java.lang.String basePath, long pushVersion)
           
protected abstract  void invokeRollback(java.lang.String storeName, long pushVersion)
           
protected abstract  void invokeSwap(java.lang.String storeName, java.util.List<java.lang.String> fetchFiles)
           
static void main(java.lang.String[] args)
           
 void swapStoreData(java.lang.String storeName, java.lang.String basePath, long pushVersion)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

cluster

protected final Cluster cluster

executor

protected final java.util.concurrent.ExecutorService executor
Constructor Detail

StoreSwapper

public StoreSwapper(Cluster cluster,
                    java.util.concurrent.ExecutorService executor)
Method Detail

swapStoreData

public void swapStoreData(java.lang.String storeName,
                          java.lang.String basePath,
                          long pushVersion)

invokeFetch

protected abstract java.util.List<java.lang.String> invokeFetch(java.lang.String storeName,
                                                                java.lang.String basePath,
                                                                long pushVersion)

invokeSwap

protected abstract void invokeSwap(java.lang.String storeName,
                                   java.util.List<java.lang.String> fetchFiles)

invokeRollback

protected abstract void invokeRollback(java.lang.String storeName,
                                       long pushVersion)

main

public static void main(java.lang.String[] args)
                 throws java.lang.Exception
Throws:
java.lang.Exception


Jay Kreps, Roshan Sumbaly, Alex Feinberg, Bhupesh Bansal, Lei Gao