This is an automated email from the ASF dual-hosted git repository.
sergeychugunov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git
The following commit(s) were added to refs/heads/master by this push:
new 0d100bcfd78 IGNITE-25965 Refactor TxLock message (#12203)
0d100bcfd78 is described below
commit 0d100bcfd78c1eb16eff9f40cab43c54b5739bfc
Author: Maksim Davydov <[email protected]>
AuthorDate: Fri Aug 1 15:58:28 2025 +0300
IGNITE-25965 Refactor TxLock message (#12203)
---
.../communication/GridIoMessageFactory.java | 3 +-
.../processors/cache/transactions/TxLock.java | 126 +++++++--------------
2 files changed, 42 insertions(+), 87 deletions(-)
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
index badd562fc89..2d362619d40 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
@@ -40,6 +40,7 @@ import
org.apache.ignite.internal.codegen.MissingMappingRequestMessageSerializer
import
org.apache.ignite.internal.codegen.MissingMappingResponseMessageSerializer;
import org.apache.ignite.internal.codegen.SessionChannelMessageSerializer;
import
org.apache.ignite.internal.codegen.TcpInverseConnectionResponseMessageSerializer;
+import org.apache.ignite.internal.codegen.TxLockSerializer;
import
org.apache.ignite.internal.codegen.UserAuthenticateRequestMessageSerializer;
import
org.apache.ignite.internal.codegen.UserAuthenticateResponseMessageSerializer;
import
org.apache.ignite.internal.codegen.UserManagementOperationFinishedMessageSerializer;
@@ -208,7 +209,7 @@ public class GridIoMessageFactory implements
MessageFactoryProvider {
factory.register((short)-36, GridDhtAtomicSingleUpdateRequest::new);
factory.register((short)-27, GridDhtTxOnePhaseCommitAckRequest::new);
factory.register((short)-26, TxLockList::new);
- factory.register((short)-25, TxLock::new);
+ factory.register((short)-25, TxLock::new, new TxLockSerializer());
factory.register((short)-24, TxLocksRequest::new);
factory.register((short)-23, TxLocksResponse::new);
factory.register(TcpCommunicationSpi.NODE_ID_MSG_TYPE,
NodeIdMessage::new);
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/TxLock.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/TxLock.java
index 10040ef859f..e4404ca65ca 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/TxLock.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/TxLock.java
@@ -17,14 +17,12 @@
package org.apache.ignite.internal.processors.cache.transactions;
-import java.nio.ByteBuffer;
import java.util.UUID;
+import org.apache.ignite.internal.Order;
import org.apache.ignite.internal.processors.cache.GridCacheMvccCandidate;
import org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.plugin.extensions.communication.Message;
-import org.apache.ignite.plugin.extensions.communication.MessageReader;
-import org.apache.ignite.plugin.extensions.communication.MessageWriter;
/**
* Corresponds to one {@link GridCacheMvccCandidate} from local MVCC
candidates queue.
@@ -42,15 +40,19 @@ public class TxLock implements Message {
static final byte OWNERSHIP_REQUESTED = 3;
/** Near node ID. */
+ @Order(0)
private UUID nearNodeId;
/** Tx ID. */
+ @Order(1)
private GridCacheVersion txId;
/** Thread ID. */
+ @Order(2)
private long threadId;
/** Ownership. */
+ @Order(3)
private byte ownership;
/**
@@ -80,6 +82,13 @@ public class TxLock implements Message {
return nearNodeId;
}
+ /**
+ * @param nearNodeId Near node ID.
+ */
+ public void nearNodeId(UUID nearNodeId) {
+ this.nearNodeId = nearNodeId;
+ }
+
/**
* @return Transaction ID.
*/
@@ -87,6 +96,13 @@ public class TxLock implements Message {
return txId;
}
+ /**
+ * @param txId Transaction ID.
+ */
+ public void txId(GridCacheVersion txId) {
+ this.txId = txId;
+ }
+
/**
* @return Thread ID.
*/
@@ -94,6 +110,27 @@ public class TxLock implements Message {
return threadId;
}
+ /**
+ * @param threadId Thread ID.
+ */
+ public void threadId(long threadId) {
+ this.threadId = threadId;
+ }
+
+ /**
+ * @return Ownership.
+ */
+ public byte ownership() {
+ return ownership;
+ }
+
+ /**
+ * @param ownership Ownership.
+ */
+ public void ownership(byte ownership) {
+ this.ownership = ownership;
+ }
+
/**
* @return {@code True} if transaction hold lock on the key, otherwise
{@code false}.
*/
@@ -121,89 +158,6 @@ public class TxLock implements Message {
return S.toString(TxLock.class, this);
}
- /** {@inheritDoc} */
- @Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
- writer.setBuffer(buf);
-
- if (!writer.isHeaderWritten()) {
- if (!writer.writeHeader(directType()))
- return false;
-
- writer.onHeaderWritten();
- }
-
- switch (writer.state()) {
- case 0:
- if (!writer.writeUuid(nearNodeId))
- return false;
-
- writer.incrementState();
-
- case 1:
- if (!writer.writeByte(ownership))
- return false;
-
- writer.incrementState();
-
- case 2:
- if (!writer.writeLong(threadId))
- return false;
-
- writer.incrementState();
-
- case 3:
- if (!writer.writeMessage(txId))
- return false;
-
- writer.incrementState();
-
- }
-
- return true;
- }
-
- /** {@inheritDoc} */
- @Override public boolean readFrom(ByteBuffer buf, MessageReader reader) {
- reader.setBuffer(buf);
-
- switch (reader.state()) {
- case 0:
- nearNodeId = reader.readUuid();
-
- if (!reader.isLastRead())
- return false;
-
- reader.incrementState();
-
- case 1:
- ownership = reader.readByte();
-
- if (!reader.isLastRead())
- return false;
-
- reader.incrementState();
-
- case 2:
- threadId = reader.readLong();
-
- if (!reader.isLastRead())
- return false;
-
- reader.incrementState();
-
- case 3:
- txId = reader.readMessage();
-
- if (!reader.isLastRead())
- return false;
-
- reader.incrementState();
-
- }
-
- return true;
- }
-
/** {@inheritDoc} */
@Override public short directType() {
return -25;