This is an automated email from the ASF dual-hosted git repository.

alexpl 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 78c097069bd IGNITE-22168 Fix fieldsCount in TcpCommunication messages 
- Fixes #11339.
78c097069bd is described below

commit 78c097069bd166d9c6d7e275ddb47ae1033a6ccd
Author: Ilya Shishkov <[email protected]>
AuthorDate: Tue May 7 18:37:25 2024 +0300

    IGNITE-22168 Fix fieldsCount in TcpCommunication messages - Fixes #11339.
    
    Signed-off-by: Aleksey Plekhanov <[email protected]>
---
 .../distributed/dht/GridDhtTxFinishRequest.java    |  2 +-
 .../distributed/dht/GridDhtTxPrepareRequest.java   |  2 +-
 .../cache/distributed/near/GridNearGetRequest.java |  2 +-
 .../distributed/near/GridNearSingleGetRequest.java |  2 +-
 .../distributed/near/GridNearTxFinishRequest.java  |  2 +-
 .../snapshot/SnapshotFilesRequestMessage.java      | 84 +++++++++++-----------
 .../cache/query/GridCacheQueryRequest.java         |  2 +-
 .../cache/query/GridCacheQueryResponse.java        |  2 +-
 ...tractCommunicationMessageSerializationTest.java |  9 +++
 .../query/h2/twostep/msg/GridH2QueryRequest.java   |  2 +-
 10 files changed, 58 insertions(+), 51 deletions(-)

diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishRequest.java
index 3b19de525e8..151f5dd6fcd 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishRequest.java
@@ -492,7 +492,7 @@ public class GridDhtTxFinishRequest extends 
GridDistributedTxFinishRequest {
 
     /** {@inheritDoc} */
     @Override public byte fieldsCount() {
-        return 29;
+        return 28;
     }
 
     /** {@inheritDoc} */
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareRequest.java
index 649392fe03c..c2f70cfe4e4 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareRequest.java
@@ -634,7 +634,7 @@ public class GridDhtTxPrepareRequest extends 
GridDistributedTxPrepareRequest {
 
     /** {@inheritDoc} */
     @Override public byte fieldsCount() {
-        return 36;
+        return 35;
     }
 
     /** {@inheritDoc} */
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetRequest.java
index b200babb626..2fa955abbdd 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetRequest.java
@@ -530,7 +530,7 @@ public class GridNearGetRequest extends GridCacheIdMessage 
implements GridCacheD
 
     /** {@inheritDoc} */
     @Override public byte fieldsCount() {
-        return 16;
+        return 15;
     }
 
     /** {@inheritDoc} */
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearSingleGetRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearSingleGetRequest.java
index a503e7e24a7..834ccb13463 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearSingleGetRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearSingleGetRequest.java
@@ -432,7 +432,7 @@ public class GridNearSingleGetRequest extends 
GridCacheIdMessage implements Grid
 
     /** {@inheritDoc} */
     @Override public byte fieldsCount() {
-        return 13;
+        return 12;
     }
 
     /** {@inheritDoc} */
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishRequest.java
index 652e1172285..faeb19dcc0b 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishRequest.java
@@ -209,7 +209,7 @@ public class GridNearTxFinishRequest extends 
GridDistributedTxFinishRequest {
 
     /** {@inheritDoc} */
     @Override public byte fieldsCount() {
-        return 23;
+        return 22;
     }
 
     /** {@inheritDoc} */
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotFilesRequestMessage.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotFilesRequestMessage.java
index 75d2d986804..8a17ad551f2 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotFilesRequestMessage.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotFilesRequestMessage.java
@@ -139,32 +139,31 @@ public class SnapshotFilesRequestMessage extends 
AbstractSnapshotMessage {
             writer.onHeaderWritten();
         }
 
-        if (writer.state() == 1) {
-            if (!writer.writeString("snpName", snpName))
-                return false;
+        switch (writer.state()) {
+            case 1:
+                if (!writer.writeMap("parts", parts, 
MessageCollectionItemType.INT, MessageCollectionItemType.INT_ARR))
+                    return false;
 
-            writer.incrementState();
-        }
+                writer.incrementState();
 
-        if (writer.state() == 2) {
-            if (!writer.writeMap("parts", parts, 
MessageCollectionItemType.INT, MessageCollectionItemType.INT_ARR))
-                return false;
+            case 2:
+                if (!writer.writeUuid("requestId", requestId))
+                    return false;
 
-            writer.incrementState();
-        }
+                writer.incrementState();
 
-        if (writer.state() == 3) {
-            if (!writer.writeString("snpPath", snpPath))
-                return false;
+            case 3:
+                if (!writer.writeString("snpName", snpName))
+                    return false;
 
-            writer.incrementState();
-        }
+                writer.incrementState();
 
-        if (writer.state() == 4) {
-            if (!writer.writeUuid("reqId", requestId))
-                return false;
+            case 4:
+                if (!writer.writeString("snpPath", snpPath))
+                    return false;
+
+                writer.incrementState();
 
-            writer.incrementState();
         }
 
         return true;
@@ -180,40 +179,39 @@ public class SnapshotFilesRequestMessage extends 
AbstractSnapshotMessage {
         if (!super.readFrom(buf, reader))
             return false;
 
-        if (reader.state() == 1) {
-            snpName = reader.readString("snpName");
+        switch (reader.state()) {
+            case 1:
+                parts = reader.readMap("parts", MessageCollectionItemType.INT, 
MessageCollectionItemType.INT_ARR, false);
 
-            if (!reader.isLastRead())
-                return false;
+                if (!reader.isLastRead())
+                    return false;
 
-            reader.incrementState();
-        }
+                reader.incrementState();
 
-        if (reader.state() == 2) {
-            parts = reader.readMap("parts", MessageCollectionItemType.INT, 
MessageCollectionItemType.INT_ARR, false);
+            case 2:
+                requestId = reader.readUuid("requestId");
 
-            if (!reader.isLastRead())
-                return false;
+                if (!reader.isLastRead())
+                    return false;
 
-            reader.incrementState();
-        }
+                reader.incrementState();
 
-        if (reader.state() == 3) {
-            snpPath = reader.readString("snpPath");
+            case 3:
+                snpName = reader.readString("snpName");
 
-            if (!reader.isLastRead())
-                return false;
+                if (!reader.isLastRead())
+                    return false;
 
-            reader.incrementState();
-        }
+                reader.incrementState();
 
-        if (reader.state() == 4) {
-            requestId = reader.readUuid("reqId");
+            case 4:
+                snpPath = reader.readString("snpPath");
 
-            if (!reader.isLastRead())
-                return false;
+                if (!reader.isLastRead())
+                    return false;
+
+                reader.incrementState();
 
-            reader.incrementState();
         }
 
         return reader.afterMessageRead(SnapshotFilesRequestMessage.class);
@@ -221,7 +219,7 @@ public class SnapshotFilesRequestMessage extends 
AbstractSnapshotMessage {
 
     /** {@inheritDoc} */
     @Override public byte fieldsCount() {
-        return 2;
+        return 5;
     }
 
     /** {@inheritDoc} */
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryRequest.java
index 16aa95228c9..13934c13aa1 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryRequest.java
@@ -996,7 +996,7 @@ public class GridCacheQueryRequest extends 
GridCacheIdMessage implements GridCac
 
     /** {@inheritDoc} */
     @Override public byte fieldsCount() {
-        return 27;
+        return 26;
     }
 
     /** {@inheritDoc} */
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryResponse.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryResponse.java
index 99de925718c..fc91545581f 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryResponse.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryResponse.java
@@ -438,7 +438,7 @@ public class GridCacheQueryResponse extends 
GridCacheIdMessage implements GridCa
 
     /** {@inheritDoc} */
     @Override public byte fieldsCount() {
-        return 10;
+        return 11;
     }
 
     /** {@inheritDoc} */
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/AbstractCommunicationMessageSerializationTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/AbstractCommunicationMessageSerializationTest.java
index d130a8f5408..fa0cdfd1aa6 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/AbstractCommunicationMessageSerializationTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/AbstractCommunicationMessageSerializationTest.java
@@ -32,6 +32,7 @@ import 
org.apache.ignite.plugin.extensions.communication.MessageCollectionItemTy
 import org.apache.ignite.plugin.extensions.communication.MessageFactory;
 import org.apache.ignite.plugin.extensions.communication.MessageReader;
 import org.apache.ignite.plugin.extensions.communication.MessageWriter;
+import org.apache.ignite.spi.communication.tcp.messages.HandshakeMessage;
 import org.junit.Test;
 
 import static java.lang.Integer.MAX_VALUE;
@@ -110,6 +111,14 @@ public abstract class 
AbstractCommunicationMessageSerializationTest {
 
         assertEquals("The serialization and deserialization protocol is not 
consistent for the message [cls="
             + msg.getClass().getName() + ']', writer.writtenFields, 
reader.readFields);
+
+        if (!(msg instanceof HandshakeMessage)) {
+            assertEquals("Unexpected write count for the message [cls="
+                + msg.getClass().getName() + ']', msg.fieldsCount(), 
writer.writtenFields.size());
+
+            assertEquals("Unexpected read count for the message [cls="
+                + msg.getClass().getName() + ']', msg.fieldsCount(), 
reader.readFields.size());
+        }
     }
 
     /** */
diff --git 
a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/msg/GridH2QueryRequest.java
 
b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/msg/GridH2QueryRequest.java
index b493b5afa35..e61f0cda36a 100644
--- 
a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/msg/GridH2QueryRequest.java
+++ 
b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/msg/GridH2QueryRequest.java
@@ -781,7 +781,7 @@ public class GridH2QueryRequest implements Message, 
GridCacheQueryMarshallable {
 
     /** {@inheritDoc} */
     @Override public byte fieldsCount() {
-        return 16;
+        return 14;
     }
 
     /** {@inheritDoc} */

Reply via email to