org.apache.accumulo.fate
public class ZooStore<T> extends Object implements TStore<T>
ReadOnlyTStore.TStatus| Constructor and Description |
|---|
ZooStore(String path,
IZooReaderWriter zk) |
| Modifier and Type | Method and Description |
|---|---|
long |
create()
Create a new transaction id
|
void |
delete(long tid)
Remove the transaction from the store.
|
Serializable |
getProperty(long tid,
String prop)
Retrieve a transaction-specific property.
|
ReadOnlyTStore.TStatus |
getStatus(long tid)
Get the state of a given transaction.
|
List<Long> |
list()
list all transaction ids in store.
|
void |
pop(long tid)
Remove the last pushed operation from the given transaction.
|
void |
push(long tid,
Repo<T> repo)
Update the given transaction with the next operation
|
long |
reserve()
Reserve a transaction that is IN_PROGRESS or FAILED_IN_PROGRESS.
|
void |
reserve(long tid)
Reserve the specific tid.
|
void |
setProperty(long tid,
String prop,
Serializable so) |
void |
setStatus(long tid,
ReadOnlyTStore.TStatus status)
Update the state of a given transaction
|
Repo<T> |
top(long tid)
Get the current operation for the given transaction id.
|
void |
unreserve(long tid,
long deferTime)
Return the given transaction to the store.
|
ReadOnlyTStore.TStatus |
waitForStatusChange(long tid,
EnumSet<ReadOnlyTStore.TStatus> expected)
Wait for the satus of a transaction to change
|
public ZooStore(String path, IZooReaderWriter zk) throws org.apache.zookeeper.KeeperException, InterruptedException
org.apache.zookeeper.KeeperExceptionInterruptedExceptionpublic long create()
TStorepublic long reserve()
ReadOnlyTStorereserve in interface ReadOnlyTStore<T>public void reserve(long tid)
ReadOnlyTStorereserve in interface ReadOnlyTStore<T>public void unreserve(long tid,
long deferTime)
ReadOnlyTStoreunreserve in interface ReadOnlyTStore<T>tid - transaction id, previously reserved.deferTime - time in millis to keep this transaction out of the pool used in the reserve method. must be non-negative.public Repo<T> top(long tid)
TStorepublic void push(long tid,
Repo<T> repo)
throws StackOverflowException
TStorepush in interface TStore<T>tid - the transaction idrepo - the operationStackOverflowExceptionpublic void pop(long tid)
TStorepublic ReadOnlyTStore.TStatus getStatus(long tid)
ReadOnlyTStoregetStatus in interface ReadOnlyTStore<T>tid - transaction id, previously reserved.public ReadOnlyTStore.TStatus waitForStatusChange(long tid, EnumSet<ReadOnlyTStore.TStatus> expected)
ReadOnlyTStorewaitForStatusChange in interface ReadOnlyTStore<T>tid - transaction id, need not have been reserved.expected - a set of possible statuses we are interested in being notified about. may not be null.public void setStatus(long tid,
ReadOnlyTStore.TStatus status)
TStorepublic void delete(long tid)
TStorepublic void setProperty(long tid,
String prop,
Serializable so)
setProperty in interface TStore<T>public Serializable getProperty(long tid, String prop)
ReadOnlyTStoregetProperty in interface ReadOnlyTStore<T>tid - transaction id, previously reserved.prop - name of property to retrieve.public List<Long> list()
ReadOnlyTStorelist in interface ReadOnlyTStore<T>Copyright © 2011–2016 The Apache Software Foundation. All rights reserved.