org.apache.accumulo.fate
Interface TStore<T>

All Superinterfaces:
ReadOnlyTStore<T>
All Known Implementing Classes:
AgeOffStore, ZooStore

public interface TStore<T>
extends ReadOnlyTStore<T>

Transaction Store: a place to save transactions A transaction consists of a number of operations. To use, first create a transaction id, and then seed the transaction with an initial operation. An executor service can then execute the transaction's operation, possibly pushing more operations onto the transaction as each step successfully completes. If a step fails, the stack can be unwound, undoing each operation.


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.apache.accumulo.fate.ReadOnlyTStore
ReadOnlyTStore.TStatus
 
Method Summary
 long create()
          Create a new transaction id
 void delete(long tid)
          Remove the transaction from the 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
 void setProperty(long tid, String prop, Serializable val)
           
 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.
 
Methods inherited from interface org.apache.accumulo.fate.ReadOnlyTStore
getProperty, getStatus, list, reserve, reserve, unreserve, waitForStatusChange
 

Method Detail

create

long create()
Create a new transaction id

Returns:
a transaction id

top

Repo<T> top(long tid)
Get the current operation for the given transaction id.

Specified by:
top in interface ReadOnlyTStore<T>
Parameters:
tid - transaction id
Returns:
the operation

push

void push(long tid,
          Repo<T> repo)
          throws StackOverflowException
Update the given transaction with the next operation

Parameters:
tid - the transaction id
repo - the operation
Throws:
StackOverflowException

pop

void pop(long tid)
Remove the last pushed operation from the given transaction.


setStatus

void setStatus(long tid,
               ReadOnlyTStore.TStatus status)
Update the state of a given transaction

Parameters:
tid - transaction id
status - execution status

setProperty

void setProperty(long tid,
                 String prop,
                 Serializable val)

delete

void delete(long tid)
Remove the transaction from the store.

Parameters:
tid - the transaction id


Copyright © 2015 Apache Accumulo Project. All rights reserved.