org.apache.ignite.internal.processors.cache.distributed.dht

## Class GridDhtTransactionalCacheAdapter<K,V>

- java.lang.Object
- - org.apache.ignite.internal.processors.cache.GridCacheAdapter<K,V>
  - - org.apache.ignite.internal.processors.cache.distributed.GridDistributedCacheAdapter<K,V>
    - - org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtCacheAdapter<K,V>
      - - org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter<K,V>

All Implemented Interfaces:
  Externalizable, Serializable, Iterable<javax.cache.Cache.Entry<K,V>>, IgniteInternalCache<K,V>

Direct Known Subclasses:
  GridDhtCache, GridDhtColocatedCache

    public abstract class GridDhtTransactionalCacheAdapter<K,V>
    extends GridDhtCacheAdapter<K,V>

Base class for transactional DHT caches.

See Also:
  Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from class org.apache.ignite.internal.processors.cache.GridCacheAdapter

`GridCacheAdapter.AsyncOp<T>, GridCacheAdapter.CacheExpiryPolicy, GridCacheAdapter.FutureHolder, GridCacheAdapter.TopologyVersionAwareJob, GridCacheAdapter.UpdateGetTimeStatClosure<T>, GridCacheAdapter.UpdatePutAndGetTimeStatClosure<T>, GridCacheAdapter.UpdatePutTimeStatClosure<T>, GridCacheAdapter.UpdateRemoveTimeStatClosure<T>, GridCacheAdapter.UpdateTimeStatClosure<T>`

### Field Summary

### Fields inherited from class org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtCacheAdapter

`preldr`

### Fields inherited from class org.apache.ignite.internal.processors.cache.GridCacheAdapter

`cacheCfg, CLEAR_ALL_SPLIT_THRESHOLD, clusterMxBean, ctx, gridCfg, keyCheck, lastFut, LOAD_CACHE_JOB_SINCE, LOAD_CACHE_JOB_V2_SINCE, localMxBean, locNodeId, log, map, MAX_RETRIES, metrics, RET2NULL, txLockMsgLog`

### Constructor Summary

Constructors
`protected` `GridDhtTransactionalCacheAdapter()` Empty constructor required for `Externalizable`.
`protected` `GridDhtTransactionalCacheAdapter(GridCacheContext<K,V> ctx)`
`protected` `GridDhtTransactionalCacheAdapter(GridCacheContext<K,V> ctx, GridCacheConcurrentMap map)` Constructor used for near-only cache.

### Method Summary

Methods
`IgniteInternalFuture<Boolean>` `lockAllAsync(Collection<KeyCacheObject> keys, long timeout, IgniteTxLocalEx txx, boolean isInvalidate, boolean isRead, boolean retval, TransactionIsolation isolation, long accessTtl)`
`IgniteInternalFuture<GridNearLockResponse>` `lockAllAsync(GridCacheContext<?,?> cacheCtx, ClusterNode nearNode, GridNearLockRequest req, CacheEntryPredicate[] filter0)`
`GridDhtFuture<Boolean>` `lockAllAsyncInternal(Collection<KeyCacheObject> keys, long timeout, IgniteTxLocalEx txx, boolean isInvalidate, boolean isRead, boolean retval, TransactionIsolation isolation, long accessTtl, CacheEntryPredicate[] filter, boolean skipStore, boolean keepBinary)` Acquires locks in partitioned cache.
`abstract GridNearTransactionalCache<K,V>` `near()`
`protected void` `processDhtLockRequest(UUID nodeId, GridDhtLockRequest req)`
`protected void` `processDhtLockRequest0(UUID nodeId, GridDhtLockRequest req)`
`protected void` `processDhtUnlockRequest(UUID nodeId, GridDhtUnlockRequest req)`
`void` `removeLocks(UUID nodeId, GridCacheVersion ver, Iterable<KeyCacheObject> keys, boolean unmap)`
`void` `start()` Starts this cache.

### Methods inherited from class org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtCacheAdapter

`beginMultiUpdate, createEntry, dhtPreloader, endMultiUpdate, entryEx, entryEx, entryExx, entryExx, entryFactory, entrySet, getAllAsync, getDhtAsync, init, localEntriesIterator, localLoad, localLoadCache, multiUpdateFinishFuture, multiUpdateTopologyFuture, needRemap, onDeferredDelete, onKernalStart, onKernalStop, onReconnected, peekExx, preloader, primarySize, primarySizeLong, printMemoryStats, processNearGetRequest, processNearGetResponse, processNearSingleGetRequest, processNearSingleGetResponse, sendTtlUpdateRequest, splitClearLocally, stop, topology, toString, unlockAll`

### Methods inherited from class org.apache.ignite.internal.processors.cache.distributed.GridDistributedCacheAdapter

`lockAllAsync, removeAll, removeAllAsync, removeVersionedEntry, txLockAsync`

### Methods inherited from class org.apache.ignite.internal.processors.cache.GridCacheAdapter

`affinity, allEntries, asyncOp, asyncOpAcquire, asyncOpRelease, awaitLastFut, cache, checkJta, clear, clear, clearAll, clearAllAsync, clearAsync, clearAsync, clearLocally, clearLocally, clearLocally, clearLocallyAll, clusterMetrics, clusterMetrics, clusterMxBean, commitTxAsync, configuration, containsKey, containsKeyAsync, containsKeys, containsKeysAsync, context, decrementSize, entries, entryEx, entryEx, entryExSafe, entrySet, entrySet, entrySetx, evict, evictAll, expiry, expiryPolicy, forSubjectId, get, get, get, getAll, getAll, getAllAsync, getAllAsync, getAllAsync, getAllAsync0, getAllOutTx, getAllOutTxAsync, getAndPut, getAndPut, getAndPutAsync, getAndPutAsync, getAndPutAsync0, getAndPutIfAbsent, getAndPutIfAbsentAsync, getAndRemove, getAndRemoveAsync, getAndReplace, getAndReplaceAsync, getAsync, getAsync, getAsync, getEntries, getEntriesAsync, getEntry, getEntryAsync, getForcePrimary, getForcePrimaryAsync, getTopologySafe, igfsDataSpaceMax, igfsDataSpaceUsed, igniteIterator, igniteIterator, incrementSize, invoke, invoke, invokeAll, invokeAll, invokeAllAsync, invokeAllAsync, invokeAsync, isColocated, isDht, isDhtAtomic, isEmpty, isIgfsDataCache, isLocal, isLocked, isLockedByThread, isMongoDataCache, isMongoMetaCache, isNear, iterator, iterator, keepBinary, keySet, keySetx, loadAll, localEntries, localLoadCacheAsync, localMetrics, localMxBean, localPeek, localSize, localSizeLong, localSizeLong, lock, lockAll, lockAsync, log, map, metrics0, name, nearSize, offHeapAllocatedSize, offHeapEntriesCount, onIgfsDataSizeChanged, onUndeploy, overflowSize, peekEx, peekEx, primaryKeySet, promote, promoteAll, put, put, putAll, putAllAsync, putAllConflict, putAllConflictAsync, putAsync, putAsync, putAsync0, putIfAbsent, putIfAbsentAsync, randomEntry, readExternal, readResolve, rebalance, remove, remove, removeAll, removeAllAsync, removeAllConflict, removeAllConflictAsync, removeAsync, removeAsync, removeAsync, removeEntry, removeIfObsolete, replace, replace, replaceAsync, replaceAsync, saveFuture, setSkipStore, size, size, sizeAsync, sizeLong, sizeLong, sizeLong, sizeLongAsync, sizeLongAsync, skipStore, startInfo, stopInfo, swapKeys, swapSize, tryGetAndPut, tx, txStart, txStart, txStartEx, unlock, validateCacheKey, validateCacheKeys, values, values, withExpiryPolicy, withNoRetries, writeExternal`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### GridDhtTransactionalCacheAdapter

    protected GridDhtTransactionalCacheAdapter()

Empty constructor required for `Externalizable`.

#### GridDhtTransactionalCacheAdapter

    protected GridDhtTransactionalCacheAdapter(GridCacheContext<K,V> ctx)

Parameters:
  `ctx` - Context.

#### GridDhtTransactionalCacheAdapter

    protected GridDhtTransactionalCacheAdapter(GridCacheContext<K,V> ctx,
                                    GridCacheConcurrentMap map)

Constructor used for near-only cache.

Parameters:
  `ctx` - Cache context.
  `map` - Cache map.

### Method Detail

#### start

    public void start()
               throws IgniteCheckedException

Starts this cache. Child classes should override this method to provide custom start-up behavior.

Overrides:
  `start` in class `GridDhtCacheAdapter<K,V>`
Throws:
  `IgniteCheckedException` - If start failed.

#### near

    public abstract GridNearTransactionalCache<K,V> near()

Specified by:
  `near` in class `GridDhtCacheAdapter<K,V>`
Returns:
  Near cache.

#### processDhtLockRequest

    protected final void processDhtLockRequest(UUID nodeId,
                             GridDhtLockRequest req)

Parameters:
  `nodeId` - Node ID.
  `req` - Request.

#### processDhtLockRequest0

    protected final void processDhtLockRequest0(UUID nodeId,
                              GridDhtLockRequest req)

Parameters:
  `nodeId` - Node ID.
  `req` - Request.

#### processDhtUnlockRequest

    protected void processDhtUnlockRequest(UUID nodeId,
                               GridDhtUnlockRequest req)

Parameters:
  `nodeId` - Node ID.
  `req` - Request.

#### lockAllAsync

    public IgniteInternalFuture<Boolean> lockAllAsync(@Nullable
                                             Collection<KeyCacheObject> keys,
                                             long timeout,
                                             IgniteTxLocalEx txx,
                                             boolean isInvalidate,
                                             boolean isRead,
                                             boolean retval,
                                             TransactionIsolation isolation,
                                             long accessTtl)

Specified by:
  `lockAllAsync` in class `GridDistributedCacheAdapter<K,V>`
Parameters:
  `keys` - Keys to lock.
  `timeout` - Timeout.
  `txx` - Transaction
  `isInvalidate` - Invalidation flag.
  `isRead` - Indicates whether value is read or written.
  `retval` - Flag to return value.
  `isolation` - Transaction isolation.
  `accessTtl` - TTL for read operation.
Returns:
  Future for locks.

#### lockAllAsyncInternal

    public GridDhtFuture<Boolean> lockAllAsyncInternal(@Nullable
                                              Collection<KeyCacheObject> keys,
                                              long timeout,
                                              IgniteTxLocalEx txx,
                                              boolean isInvalidate,
                                              boolean isRead,
                                              boolean retval,
                                              TransactionIsolation isolation,
                                              long accessTtl,
                                              CacheEntryPredicate[] filter,
                                              boolean skipStore,
                                              boolean keepBinary)

Acquires locks in partitioned cache.

Parameters:
  `keys` - Keys to lock.
  `timeout` - Lock timeout.
  `txx` - Transaction.
  `isInvalidate` - Invalidate flag.
  `isRead` - Read flag.
  `retval` - Return value flag.
  `isolation` - Transaction isolation.
  `accessTtl` - TTL for read operation.
  `filter` - Optional filter.
  `skipStore` - Skip store flag.
Returns:
  Lock future.

#### lockAllAsync

    public IgniteInternalFuture<GridNearLockResponse> lockAllAsync(GridCacheContext<?,?> cacheCtx,
                                                          ClusterNode nearNode,
                                                          GridNearLockRequest req,
                                                          @Nullable
                                                          CacheEntryPredicate[] filter0)

Parameters:
  `cacheCtx` - Cache context.
  `nearNode` - Near node.
  `req` - Request.
  `filter0` - Filter.
Returns:
  Future.

#### removeLocks

    public void removeLocks(UUID nodeId,
                   GridCacheVersion ver,
                   Iterable<KeyCacheObject> keys,
                   boolean unmap)

Parameters:
  `nodeId` - Node ID.
  `ver` - Version.
  `keys` - Keys.
  `unmap` - Flag for un-mapping version.

2015 Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Fabric | : ver. 1.7.0
Release Date | : August 1 2016