This is an automated email from the ASF dual-hosted git repository. timoninmaxim 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 2854dc2f019 IGNITE-25967 Use MessageSerializer for GridCheckpointRequest (#12263) 2854dc2f019 is described below commit 2854dc2f01917fe7e8346feb3b0ff2766cf3a8a0 Author: Denis <116185428+denisp...@users.noreply.github.com> AuthorDate: Mon Aug 18 20:32:07 2025 +1000 IGNITE-25967 Use MessageSerializer for GridCheckpointRequest (#12263) Thank you for submitting the pull request to the Apache Ignite. In order to streamline the review of the contribution we ask you to ensure the following steps have been taken: ### The Contribution Checklist - [ ] There is a single JIRA ticket related to the pull request. - [ ] The web-link to the pull request is attached to the JIRA ticket. - [ ] The JIRA ticket has the _Patch Available_ state. - [ ] The pull request body describes changes that have been made. The description explains _WHAT_ and _WHY_ was made instead of _HOW_. - [ ] The pull request title is treated as the final commit message. The following pattern must be used: `IGNITE-XXXX Change summary` where `XXXX` - number of JIRA issue. - [ ] A reviewer has been mentioned through the JIRA comments (see [the Maintainers list](https://cwiki.apache.org/confluence/display/IGNITE/How+to+Contribute#HowtoContribute-ReviewProcessandMaintainers)) - [ ] The pull request has been checked by the Teamcity Bot and the `green visa` attached to the JIRA ticket (see [TC.Bot: Check PR](https://mtcga.gridgain.com/prs.html)) ### Notes - [How to Contribute](https://cwiki.apache.org/confluence/display/IGNITE/How+to+Contribute) - [Coding abbreviation rules](https://cwiki.apache.org/confluence/display/IGNITE/Abbreviation+Rules) - [Coding Guidelines](https://cwiki.apache.org/confluence/display/IGNITE/Coding+Guidelines) - [Apache Ignite Teamcity Bot](https://cwiki.apache.org/confluence/display/IGNITE/Apache+Ignite+Teamcity+Bot) If you need any help, please email d...@ignite.apache.org or ask anу advice on http://asf.slack.com _#ignite_ channel. Co-authored-by: Положаев Денис Александрович <22160...@sigma.sbrf.ru> --- .../managers/checkpoint/GridCheckpointManager.java | 10 +- .../managers/checkpoint/GridCheckpointRequest.java | 103 ++++++--------------- .../communication/GridIoMessageFactory.java | 3 +- 3 files changed, 35 insertions(+), 81 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/checkpoint/GridCheckpointManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/checkpoint/GridCheckpointManager.java index dca5077e1e5..c55c823c1f4 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/managers/checkpoint/GridCheckpointManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/checkpoint/GridCheckpointManager.java @@ -463,10 +463,10 @@ public class GridCheckpointManager extends GridManagerAdapter<CheckpointSpi> { if (!enabled()) return; - IgniteUuid sesId = req.getSessionId(); + IgniteUuid sesId = req.sessionId(); if (closedSess.contains(sesId)) { - getSpi(req.getCheckpointSpi()).removeCheckpoint(req.getKey()); + getSpi(req.checkpointSpi()).removeCheckpoint(req.key()); return; } @@ -477,7 +477,7 @@ public class GridCheckpointManager extends GridManagerAdapter<CheckpointSpi> { GridTaskSessionImpl ses = ctx.session().getSession(sesId); if (ses == null) { - getSpi(req.getCheckpointSpi()).removeCheckpoint(req.getKey()); + getSpi(req.checkpointSpi()).removeCheckpoint(req.key()); return; } @@ -488,13 +488,13 @@ public class GridCheckpointManager extends GridManagerAdapter<CheckpointSpi> { keys = old; } - keys.add(req.getKey()); + keys.add(req.key()); // Double check. if (closedSess.contains(sesId)) { keyMap.remove(sesId, keys); - getSpi(req.getCheckpointSpi()).removeCheckpoint(req.getKey()); + getSpi(req.checkpointSpi()).removeCheckpoint(req.key()); } } } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/checkpoint/GridCheckpointRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/checkpoint/GridCheckpointRequest.java index db8b3f3bf2d..f113714d2f4 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/managers/checkpoint/GridCheckpointRequest.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/checkpoint/GridCheckpointRequest.java @@ -17,26 +17,27 @@ package org.apache.ignite.internal.managers.checkpoint; -import java.nio.ByteBuffer; +import org.apache.ignite.internal.Order; import org.apache.ignite.internal.util.tostring.GridToStringInclude; import org.apache.ignite.internal.util.typedef.internal.S; import org.apache.ignite.lang.IgniteUuid; import org.apache.ignite.plugin.extensions.communication.Message; -import org.apache.ignite.plugin.extensions.communication.MessageReader; -import org.apache.ignite.plugin.extensions.communication.MessageWriter; /** * This class defines checkpoint request. */ public class GridCheckpointRequest implements Message { /** */ + @Order(value = 0, method = "sessionId") private IgniteUuid sesId; /** */ + @Order(1) @GridToStringInclude(sensitive = true) private String key; /** */ + @Order(value = 2, method = "checkpointSpi") private String cpSpi; /** @@ -64,96 +65,48 @@ public class GridCheckpointRequest implements Message { /** * @return Session ID. */ - public IgniteUuid getSessionId() { + public IgniteUuid sessionId() { return sesId; } + /** + * @param sesId Session ID. + */ + public void sessionId(IgniteUuid sesId) { + this.sesId = sesId; + } + /** * @return Checkpoint key. */ - public String getKey() { + public String key() { return key; } /** - * @return Checkpoint SPI. + * @param key Checkpoint key. */ - public String getCheckpointSpi() { - return cpSpi; + public void key(String key) { + this.key = key; } - /** {@inheritDoc} */ - @Override public void onAckReceived() { - // No-op. + /** + * @return Checkpoint SPI. + */ + public String checkpointSpi() { + return cpSpi; } - /** {@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.writeString(cpSpi)) - return false; - - writer.incrementState(); - - case 1: - if (!writer.writeString(key)) - return false; - - writer.incrementState(); - - case 2: - if (!writer.writeIgniteUuid(sesId)) - return false; - - writer.incrementState(); - - } - - return true; + /** + * @param cpSpi Checkpoint SPI. + */ + public void checkpointSpi(String cpSpi) { + this.cpSpi = cpSpi; } /** {@inheritDoc} */ - @Override public boolean readFrom(ByteBuffer buf, MessageReader reader) { - reader.setBuffer(buf); - - switch (reader.state()) { - case 0: - cpSpi = reader.readString(); - - if (!reader.isLastRead()) - return false; - - reader.incrementState(); - - case 1: - key = reader.readString(); - - if (!reader.isLastRead()) - return false; - - reader.incrementState(); - - case 2: - sesId = reader.readIgniteUuid(); - - if (!reader.isLastRead()) - return false; - - reader.incrementState(); - - } - - return true; + @Override public void onAckReceived() { + // No-op. } /** {@inheritDoc} */ 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 fb56cf4b9ef..75e0c494e68 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 @@ -32,6 +32,7 @@ import org.apache.ignite.internal.codegen.GenerateEncryptionKeyRequestSerializer import org.apache.ignite.internal.codegen.GridCacheEntryInfoSerializer; import org.apache.ignite.internal.codegen.GridCacheVersionExSerializer; import org.apache.ignite.internal.codegen.GridCacheVersionSerializer; +import org.apache.ignite.internal.codegen.GridCheckpointRequestSerializer; import org.apache.ignite.internal.codegen.GridDhtPartitionExchangeIdSerializer; import org.apache.ignite.internal.codegen.GridIntListSerializer; import org.apache.ignite.internal.codegen.GridJobCancelRequestSerializer; @@ -233,7 +234,7 @@ public class GridIoMessageFactory implements MessageFactoryProvider { factory.register((short)4, GridJobSiblingsResponse::new); factory.register((short)5, GridTaskCancelRequest::new, new GridTaskCancelRequestSerializer()); factory.register((short)6, GridTaskSessionRequest::new); - factory.register((short)7, GridCheckpointRequest::new); + factory.register((short)7, GridCheckpointRequest::new, new GridCheckpointRequestSerializer()); factory.register((short)8, GridIoMessage::new); factory.register((short)9, GridIoUserMessage::new); factory.register((short)10, GridDeploymentInfoBean::new);