shishkovilja commented on code in PR #12402:
URL: https://github.com/apache/ignite/pull/12402#discussion_r2704481448


##########
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/PartitionUpdateCountersMessage.java:
##########
@@ -66,13 +61,35 @@ public PartitionUpdateCountersMessage(int cacheId, int 
initSize) {
         data = new byte[initSize * ITEM_SIZE];
     }
 
+    /**
+     * @return Payload.
+     */
+    public byte[] payload() {
+        return Arrays.copyOf(data, size * ITEM_SIZE);

Review Comment:
   Possbile NPE here.
   Also, we should ensure that it could not lead to a potential performance 
drop. 



##########
modules/core/src/test/java/org/apache/ignite/internal/managers/communication/IgniteIoCommunicationMessageSerializationTest.java:
##########
@@ -38,6 +39,9 @@ public class IgniteIoCommunicationMessageSerializationTest 
extends AbstractMessa
         if (msg instanceof NodeIdMessage)
             FieldUtils.writeField(msg, "nodeId", UUID.randomUUID(), true);
 
+        if (msg instanceof PartitionUpdateCountersMessage)

Review Comment:
   Do we need this change? NPE should be properly fixed in a message.



##########
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/PartitionUpdateCountersMessage.java:
##########
@@ -66,13 +61,35 @@ public PartitionUpdateCountersMessage(int cacheId, int 
initSize) {
         data = new byte[initSize * ITEM_SIZE];
     }
 
+    /**
+     * @return Payload.
+     */
+    public byte[] payload() {

Review Comment:
   May be just `data`?
   ```suggestion
       public byte[] data() {
   ```



##########
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/PartitionUpdateCountersMessage.java:
##########
@@ -17,37 +17,32 @@
 
 package org.apache.ignite.internal.processors.cache.distributed.dht;
 
-import java.nio.ByteBuffer;
 import java.util.Arrays;
 import java.util.Map;
-import org.apache.ignite.internal.GridDirectTransient;
-import org.apache.ignite.internal.IgniteCodeGeneratingFail;
+import org.apache.ignite.internal.Order;
 import org.apache.ignite.internal.util.GridUnsafe;
 import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.plugin.extensions.communication.Message;
-import org.apache.ignite.plugin.extensions.communication.MessageReader;
-import org.apache.ignite.plugin.extensions.communication.MessageWriter;
 
 /**
  * Partition update counters message.
  */
-@IgniteCodeGeneratingFail
 public class PartitionUpdateCountersMessage implements Message {
     /** */
     private static final int ITEM_SIZE = 4 /* partition */ + 8 /* initial 
counter */ + 8 /* updates count */;
 
     /** */
-    private byte data[];
+    @Order(0)
+    private int cacheId;
 
     /** */
-    private int cacheId;
+    @Order(value = 1, method = "payload")

Review Comment:
   ```suggestion
       @Order(1)
   ```
   (rename getter and setter to `data`)



##########
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/PartitionUpdateCountersMessage.java:
##########
@@ -17,37 +17,32 @@
 
 package org.apache.ignite.internal.processors.cache.distributed.dht;
 
-import java.nio.ByteBuffer;
 import java.util.Arrays;
 import java.util.Map;
-import org.apache.ignite.internal.GridDirectTransient;
-import org.apache.ignite.internal.IgniteCodeGeneratingFail;
+import org.apache.ignite.internal.Order;
 import org.apache.ignite.internal.util.GridUnsafe;
 import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.plugin.extensions.communication.Message;
-import org.apache.ignite.plugin.extensions.communication.MessageReader;
-import org.apache.ignite.plugin.extensions.communication.MessageWriter;
 
 /**
  * Partition update counters message.
  */
-@IgniteCodeGeneratingFail
 public class PartitionUpdateCountersMessage implements Message {
     /** */
     private static final int ITEM_SIZE = 4 /* partition */ + 8 /* initial 
counter */ + 8 /* updates count */;
 
     /** */
-    private byte data[];
+    @Order(0)
+    private int cacheId;

Review Comment:
   @chesnokoff , I agree with @wernerdv . It is not necessary to refactor order 
of fieds.



##########
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/PartitionUpdateCountersMessage.java:
##########
@@ -17,37 +17,32 @@
 
 package org.apache.ignite.internal.processors.cache.distributed.dht;
 
-import java.nio.ByteBuffer;
 import java.util.Arrays;
 import java.util.Map;
-import org.apache.ignite.internal.GridDirectTransient;
-import org.apache.ignite.internal.IgniteCodeGeneratingFail;
+import org.apache.ignite.internal.Order;
 import org.apache.ignite.internal.util.GridUnsafe;
 import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.plugin.extensions.communication.Message;
-import org.apache.ignite.plugin.extensions.communication.MessageReader;
-import org.apache.ignite.plugin.extensions.communication.MessageWriter;
 
 /**
  * Partition update counters message.
  */
-@IgniteCodeGeneratingFail
 public class PartitionUpdateCountersMessage implements Message {
     /** */
     private static final int ITEM_SIZE = 4 /* partition */ + 8 /* initial 
counter */ + 8 /* updates count */;
 
     /** */
-    private byte data[];
+    @Order(0)
+    private int cacheId;
 
     /** */

Review Comment:
   ```suggestion
       /** Byte representation of partition counters. */
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to