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

## Class GridDhtLockRequest

- java.lang.Object
- - org.apache.ignite.internal.processors.cache.GridCacheMessage
  - - org.apache.ignite.internal.processors.cache.GridCacheIdMessage
    - - org.apache.ignite.internal.processors.cache.distributed.GridDistributedBaseMessage
      - - org.apache.ignite.internal.processors.cache.distributed.GridDistributedLockRequest
        - - org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLockRequest

All Implemented Interfaces:
  Serializable, GridCacheDeployable, GridCacheVersionable, Message

    public class GridDhtLockRequest
    extends GridDistributedLockRequest

DHT lock request.

See Also:
  Serialized Form

### Field Summary

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

`idx`

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

`ver`

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

`cacheId`

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

`addDepInfo, CACHE_MSG_INDEX_FIELD_NAME, forceAddDepInfo, MAX_CACHE_MSG_LOOKUP_INDEX`

### Fields inherited from interface org.apache.ignite.plugin.extensions.communication.Message

`DIRECT_TYPE_SIZE`

### Constructor Summary

Constructors
Constructor and Description
`GridDhtLockRequest()` Empty constructor required for `Externalizable`.

`GridDhtLockRequest(int cacheId, UUID nodeId, GridCacheVersion nearXidVer, long threadId, IgniteUuid futId, IgniteUuid miniId, GridCacheVersion lockVer, @NotNull AffinityTopologyVersion topVer, boolean isInTx, boolean isRead, TransactionIsolation isolation, boolean isInvalidate, long timeout, int dhtCnt, int nearCnt, int txSize, @Nullable UUID subjId, int taskNameHash, long accessTtl, boolean skipStore, boolean storeUsed, boolean keepBinary, boolean addDepInfo, String txLbl)`

### Method Summary

All Methods Instance Methods Concrete Methods
`long` `accessTtl()`
`void` `addDhtKey(KeyCacheObject key, boolean invalidateEntry, GridCacheContext ctx)` Adds a DHT key.
`void` `addNearKey(KeyCacheObject key, GridCacheSharedContext ctx)` Adds a Near key.
`short` `directType()` Gets message type.
`byte` `fieldsCount()` Gets fields count.
`void` `finishUnmarshal(GridCacheSharedContext ctx, ClassLoader ldr)` This method is called after the message is deserialized and is responsible for unmarshalling state marshalled in `GridCacheMessage.prepareMarshal(GridCacheSharedContext)` method.
`boolean` `invalidateNearEntry(int idx)`
`void` `markLastKeyForPreload()` Marks last added key for preloading.
`IgniteUuid` `miniId()`
`List<KeyCacheObject>` `nearKeys()`
`UUID` `nearNodeId()`
`boolean` `needPreloadKey(int idx)`
`@Nullable GridCacheVersion` `owned(KeyCacheObject key)`
`void` `owned(KeyCacheObject key, GridCacheVersion ownerMapped)` Sets owner and its mapped version.
`void` `prepareMarshal(GridCacheSharedContext ctx)` This method is called before the whole message is serialized and is responsible for pre-marshalling state.
`boolean` `readFrom(ByteBuffer buf, MessageReader reader)` Reads this message from provided byte buffer.
`UUID` `subjectId()`
`int` `taskNameHash()`
`AffinityTopologyVersion` `topologyVersion()` Gets topology version or -1 in case of topology version is not required for this message.
`String` `toString()`
`@Nullable String` `txLabel()`
`boolean` `writeTo(ByteBuffer buf, MessageWriter writer)` Writes this message to provided byte buffer.

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

`addKeyBytes, futureId, inTx, isInvalidate, isolation, keepBinary, keepBinary, keys, messageLogger, nearXidVersion, nodeId, partition, returnValue, skipStore, storeUsed, storeUsed, threadId, timeout, txRead, txSize`

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

`addDeploymentInfo, committedVersions, completedVersions, rolledbackVersions, version, version`

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

`cacheGroupMessage, cacheId, cacheId, handlerId`

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

`appendFlag, classError, deployInfo, error, finishUnmarshalCacheObjects, finishUnmarshalCacheObjects, ignoreClassErrors, lastAffinityChangedTopologyVersion, lastAffinityChangedTopologyVersion, lookupIndex, marshalCollection, marshalInfo, marshalInfos, marshalInvokeArguments, marshalTx, messageId, nextIndexId, onAckReceived, onClassError, partitionExchangeMessage, prepare, prepareMarshalCacheObject, prepareMarshalCacheObjects, prepareMarshalCacheObjects, prepareObject, prepareObject, transferExpiryPolicy, unmarshalCollection, unmarshalInfo, unmarshalInfos, unmarshalInvokeArguments, unmarshalTx`

### 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.cache.GridCacheDeployable

`deployInfo, prepare`

### Constructor Detail

#### GridDhtLockRequest

    public GridDhtLockRequest()

Empty constructor required for `Externalizable`.

#### GridDhtLockRequest

    public GridDhtLockRequest(int cacheId,
                              UUID nodeId,
                              GridCacheVersion nearXidVer,
                              long threadId,
                              IgniteUuid futId,
                              IgniteUuid miniId,
                              GridCacheVersion lockVer,
                              @NotNull
                              @NotNull AffinityTopologyVersion topVer,
                              boolean isInTx,
                              boolean isRead,
                              TransactionIsolation isolation,
                              boolean isInvalidate,
                              long timeout,
                              int dhtCnt,
                              int nearCnt,
                              int txSize,
                              @Nullable
                              @Nullable UUID subjId,
                              int taskNameHash,
                              long accessTtl,
                              boolean skipStore,
                              boolean storeUsed,
                              boolean keepBinary,
                              boolean addDepInfo,
                              String txLbl)

Parameters:
  `cacheId` - Cache ID.
  `nodeId` - Node ID.
  `nearXidVer` - Near transaction ID.
  `threadId` - Thread ID.
  `futId` - Future ID.
  `miniId` - Mini future ID.
  `lockVer` - Cache version.
  `topVer` - Topology version.
  `isInTx` - `True` if implicit transaction lock.
  `isRead` - Indicates whether implicit lock is for read or write operation.
  `isolation` - Transaction isolation.
  `isInvalidate` - Invalidation flag.
  `timeout` - Lock timeout.
  `dhtCnt` - DHT count.
  `nearCnt` - Near count.
  `txSize` - Expected transaction size.
  `subjId` - Subject ID.
  `taskNameHash` - Task name hash code.
  `accessTtl` - TTL for read operation.
  `skipStore` - Skip store flag.
  `storeUsed` - Cache store used flag.
  `keepBinary` - Keep binary flag.
  `addDepInfo` - Deployment info flag.
  `txLbl` - Transaction label.

### Method Detail

#### nearNodeId

    public UUID nearNodeId()

Returns:
  Near node ID.

#### subjectId

    public UUID subjectId()

Returns:
  Subject ID.

#### taskNameHash

    public int taskNameHash()

Returns:
  Task name hash.

#### topologyVersion

    public AffinityTopologyVersion topologyVersion()

Description copied from class: `GridCacheMessage`
Gets topology version or -1 in case of topology version is not required for this message.

Overrides:
  `topologyVersion` in class `GridCacheMessage`
Returns:
  Topology version.

#### addNearKey

    public void addNearKey(KeyCacheObject key,
                           GridCacheSharedContext ctx)
                    throws IgniteCheckedException

Adds a Near key.

Parameters:
  `key` - Key.
  `ctx` - Context.
Throws:
  `IgniteCheckedException` - If failed.

#### nearKeys

    public List<KeyCacheObject> nearKeys()

Returns:
  Near keys.

#### addDhtKey

    public void addDhtKey(KeyCacheObject key,
                          boolean invalidateEntry,
                          GridCacheContext ctx)
                   throws IgniteCheckedException

Adds a DHT key.

Parameters:
  `key` - Key.
  `invalidateEntry` - Flag indicating whether node should attempt to invalidate reader.
  `ctx` - Context.
Throws:
  `IgniteCheckedException` - If failed.

#### markLastKeyForPreload

    public void markLastKeyForPreload()

Marks last added key for preloading.

#### needPreloadKey

    public boolean needPreloadKey(int idx)

Parameters:
  `idx` - Key index.
Returns:
  `True` if need to preload key with given index.

#### owned

    public void owned(KeyCacheObject key,
                      GridCacheVersion ownerMapped)

Sets owner and its mapped version.

Parameters:
  `key` - Key.
  `ownerMapped` - Owner mapped version.

#### owned

    @Nullable
    public @Nullable GridCacheVersion owned(KeyCacheObject key)

Parameters:
  `key` - Key.
Returns:
  Owner and its mapped versions.

#### invalidateNearEntry

    public boolean invalidateNearEntry(int idx)

Parameters:
  `idx` - Entry index to check.
Returns:
  `True` if near entry should be invalidated.

#### miniId

    public IgniteUuid miniId()

Returns:
  Mini ID.

#### accessTtl

    public long accessTtl()

Returns:
  TTL for read operation.

#### txLabel

    @Nullable
    public @Nullable String txLabel()

Returns:
  Transaction label.

#### prepareMarshal

    public void prepareMarshal(GridCacheSharedContext ctx)
                        throws IgniteCheckedException

This method is called before the whole message is serialized and is responsible for pre-marshalling state.

Overrides:
  `prepareMarshal` in class `GridDistributedLockRequest`
Parameters:
  `ctx` - Cache context.
Throws:
  `IgniteCheckedException` - If failed.

#### finishUnmarshal

    public void finishUnmarshal(GridCacheSharedContext ctx,
                                ClassLoader ldr)
                         throws IgniteCheckedException

This method is called after the message is deserialized and is responsible for unmarshalling state marshalled in `GridCacheMessage.prepareMarshal(GridCacheSharedContext)` method.

Overrides:
  `finishUnmarshal` in class `GridDistributedLockRequest`
Parameters:
  `ctx` - Context.
  `ldr` - Class loader.
Throws:
  `IgniteCheckedException` - If failed.

#### writeTo

    public boolean writeTo(ByteBuffer buf,
                           MessageWriter writer)

Writes this message to provided byte buffer.

Specified by:
  `writeTo` in interface `Message`
Overrides:
  `writeTo` in class `GridDistributedLockRequest`
Parameters:
  `buf` - Byte buffer.
  `writer` - Writer.
Returns:
  Whether message was fully written.

#### readFrom

    public boolean readFrom(ByteBuffer buf,
                            MessageReader reader)

Reads this message from provided byte buffer.

Specified by:
  `readFrom` in interface `Message`
Overrides:
  `readFrom` in class `GridDistributedLockRequest`
Parameters:
  `buf` - Byte buffer.
  `reader` - Reader.
Returns:
  Whether message was fully read.

#### directType

    public short directType()

Gets message type.

Specified by:
  `directType` in interface `Message`
Overrides:
  `directType` in class `GridDistributedLockRequest`
Returns:
  Message type.

#### fieldsCount

    public byte fieldsCount()

Gets fields count.

Specified by:
  `fieldsCount` in interface `Message`
Overrides:
  `fieldsCount` in class `GridDistributedLockRequest`
Returns:
  Fields count.

#### toString

    public String toString()

Overrides:
  `toString` in class `GridDistributedLockRequest`

${current.year} Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Database and Caching Platform | : ver. 2.9.1
Release Date | : December 9 2020