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

## Class GridDhtTxQueryResultsEnlistFuture

- java.lang.Object
- - org.apache.ignite.internal.util.future.GridFutureAdapter<R>
  - - org.apache.ignite.internal.processors.cache.GridCacheFutureAdapter<T>
    - - org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxAbstractEnlistFuture<Long>
      - - org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxQueryAbstractEnlistFuture
        - - org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxQueryResultsEnlistFuture

All Implemented Interfaces:
  Serializable, AutoCloseable, Iterable<Object>, Iterator<Object>, IgniteInternalFuture<Long>, DhtLockFuture<Long>, GridCacheFuture<Long>, UpdateSourceIterator<Object>, GridSerializableIterator<Object>, GridCloseableIterator<Object>, GridIterator<Object>, IgniteSpiCloseableIterator<Object>

    public final class GridDhtTxQueryResultsEnlistFuture
    extends GridDhtTxQueryAbstractEnlistFuture
    implements UpdateSourceIterator<Object>

Future processing transaction enlisting and locking of entries produces by complex DML queries with reduce step.

See Also:
  Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from class org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxAbstractEnlistFuture

`GridDhtTxAbstractEnlistFuture.LockTimeoutObject`

### Field Summary

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

`cnt`

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

`cctx, futId, hasNearNodeUpdates, lockVer, log, mvccSnapshot, nearFutId, nearLockVer, nearMiniId, nearNodeId, newDhtNodes, parts, skipNearNodeUpdates, threadId, timeout, timeoutObj, tx`

### Constructor Summary

Constructors
Constructor and Description
`GridDhtTxQueryResultsEnlistFuture(UUID nearNodeId, GridCacheVersion nearLockVer, MvccSnapshot mvccSnapshot, long threadId, IgniteUuid nearFutId, int nearMiniId, GridDhtTxLocalAdapter tx, long timeout, GridCacheContext<?,?> cctx, Collection<Object> rows, EnlistOperation op)`

### Method Summary

All Methods Instance Methods Concrete Methods
`protected UpdateSourceIterator<?>` `createIterator()` Gets source to be updated iterator.
`boolean` `hasNextX()` This method is the same as `Iterator.hasNext()`, but allows for failure with exception.
`Object` `nextX()` This method is the same as `Iterator.next()`, but allows for failure with exception.
`EnlistOperation` `operation()`
`String` `toString()`

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

`onEntryProcessed, result0`

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

`clearLockFuture, futureId, init, markNotTrackable, needResult, onDone, onError, onNodeLeft, onResult, timeoutException, trackable`

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

`duration, onDone, startTime`

### Methods inherited from class org.apache.ignite.internal.util.future.GridFutureAdapter

`cancel, chain, chain, error, get, get, get, getUninterruptibly, ignoreInterrupts, isCancelled, isDone, isFailed, listen, logger, onCancelled, onDone, onDone, onDone, reset, result`

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

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

### Methods inherited from interface org.apache.ignite.internal.processors.query.UpdateSourceIterator

`beforeDetach, close, hasNext, isClosed, iterator, next, remove, removeX`

### Methods inherited from interface java.lang.Iterable

`forEach, spliterator`

### Methods inherited from interface java.util.Iterator

`forEachRemaining`

### Methods inherited from interface org.apache.ignite.internal.IgniteInternalFuture

`cancel, chain, chain, error, get, get, get, getUninterruptibly, isCancelled, isDone, listen, result`

### Constructor Detail

#### GridDhtTxQueryResultsEnlistFuture

    public GridDhtTxQueryResultsEnlistFuture(UUID nearNodeId,
                                             GridCacheVersion nearLockVer,
                                             MvccSnapshot mvccSnapshot,
                                             long threadId,
                                             IgniteUuid nearFutId,
                                             int nearMiniId,
                                             GridDhtTxLocalAdapter tx,
                                             long timeout,
                                             GridCacheContext<?,?> cctx,
                                             Collection<Object> rows,
                                             EnlistOperation op)

Parameters:
  `nearNodeId` - Near node ID.
  `nearLockVer` - Near lock version.
  `mvccSnapshot` - Mvcc snapshot.
  `threadId` - Thread ID.
  `nearFutId` - Near future id.
  `nearMiniId` - Near mini future id.
  `tx` - Transaction.
  `timeout` - Lock acquisition timeout.
  `cctx` - Cache context.
  `rows` - Collection of rows.
  `op` - Operation.

### Method Detail

#### createIterator

    protected UpdateSourceIterator<?> createIterator()
                                              throws IgniteCheckedException

Gets source to be updated iterator.

Specified by:
  `createIterator` in class `GridDhtTxAbstractEnlistFuture<Long>`
Returns:
  iterator.
Throws:
  `IgniteCheckedException` - If failed.

#### operation

    public EnlistOperation operation()

Specified by:
  `operation` in interface `UpdateSourceIterator<Object>`
Returns:
  Operation.

#### hasNextX

    public boolean hasNextX()

This method is the same as `Iterator.hasNext()`, but allows for failure with exception. Often iterators are used to iterate through values that have not or have partially been received from remote nodes, and need to account for possible network failures, rather than just returning `false` out of `Iterator.hasNext()` method.

Specified by:
  `hasNextX` in interface `GridIterator<Object>`
Returns:
  `True` if iterator contains more elements.
See Also:
  `Iterator.hasNext()`

#### nextX

    public Object nextX()

This method is the same as `Iterator.next()`, but allows for failure with exception. Often iterators are used to iterate through values that have not or have partially been received from remote nodes, and need to account for possible network failures, rather than throwing `NoSuchElementException` runtime exception.s

Specified by:
  `nextX` in interface `GridIterator<Object>`
Returns:
  `True` if iterator contains more elements.
See Also:
  `Iterator.next()`

#### toString

    public String toString()

Overrides:
  `toString` in class `GridFutureAdapter<Long>`

2018 Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Database and Caching Platform | : ver. 2.7.5
Release Date | : June 4 2019