Skip to content

Commit 2854dc2

Browse files
DenisPoloПоложаев Денис Александрович
andauthored
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 dev@ignite.apache.org or ask anу advice on http://asf.slack.com _#ignite_ channel. Co-authored-by: Положаев Денис Александрович <22160647@sigma.sbrf.ru>
1 parent 498817d commit 2854dc2

3 files changed

Lines changed: 35 additions & 81 deletions

File tree

modules/core/src/main/java/org/apache/ignite/internal/managers/checkpoint/GridCheckpointManager.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -463,10 +463,10 @@ private class CheckpointRequestListener implements GridMessageListener {
463463
if (!enabled())
464464
return;
465465

466-
IgniteUuid sesId = req.getSessionId();
466+
IgniteUuid sesId = req.sessionId();
467467

468468
if (closedSess.contains(sesId)) {
469-
getSpi(req.getCheckpointSpi()).removeCheckpoint(req.getKey());
469+
getSpi(req.checkpointSpi()).removeCheckpoint(req.key());
470470

471471
return;
472472
}
@@ -477,7 +477,7 @@ private class CheckpointRequestListener implements GridMessageListener {
477477
GridTaskSessionImpl ses = ctx.session().getSession(sesId);
478478

479479
if (ses == null) {
480-
getSpi(req.getCheckpointSpi()).removeCheckpoint(req.getKey());
480+
getSpi(req.checkpointSpi()).removeCheckpoint(req.key());
481481

482482
return;
483483
}
@@ -488,13 +488,13 @@ private class CheckpointRequestListener implements GridMessageListener {
488488
keys = old;
489489
}
490490

491-
keys.add(req.getKey());
491+
keys.add(req.key());
492492

493493
// Double check.
494494
if (closedSess.contains(sesId)) {
495495
keyMap.remove(sesId, keys);
496496

497-
getSpi(req.getCheckpointSpi()).removeCheckpoint(req.getKey());
497+
getSpi(req.checkpointSpi()).removeCheckpoint(req.key());
498498
}
499499
}
500500
}

modules/core/src/main/java/org/apache/ignite/internal/managers/checkpoint/GridCheckpointRequest.java

Lines changed: 28 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -17,26 +17,27 @@
1717

1818
package org.apache.ignite.internal.managers.checkpoint;
1919

20-
import java.nio.ByteBuffer;
20+
import org.apache.ignite.internal.Order;
2121
import org.apache.ignite.internal.util.tostring.GridToStringInclude;
2222
import org.apache.ignite.internal.util.typedef.internal.S;
2323
import org.apache.ignite.lang.IgniteUuid;
2424
import org.apache.ignite.plugin.extensions.communication.Message;
25-
import org.apache.ignite.plugin.extensions.communication.MessageReader;
26-
import org.apache.ignite.plugin.extensions.communication.MessageWriter;
2725

2826
/**
2927
* This class defines checkpoint request.
3028
*/
3129
public class GridCheckpointRequest implements Message {
3230
/** */
31+
@Order(value = 0, method = "sessionId")
3332
private IgniteUuid sesId;
3433

3534
/** */
35+
@Order(1)
3636
@GridToStringInclude(sensitive = true)
3737
private String key;
3838

3939
/** */
40+
@Order(value = 2, method = "checkpointSpi")
4041
private String cpSpi;
4142

4243
/**
@@ -64,96 +65,48 @@ public GridCheckpointRequest(IgniteUuid sesId, String key, String cpSpi) {
6465
/**
6566
* @return Session ID.
6667
*/
67-
public IgniteUuid getSessionId() {
68+
public IgniteUuid sessionId() {
6869
return sesId;
6970
}
7071

72+
/**
73+
* @param sesId Session ID.
74+
*/
75+
public void sessionId(IgniteUuid sesId) {
76+
this.sesId = sesId;
77+
}
78+
7179
/**
7280
* @return Checkpoint key.
7381
*/
74-
public String getKey() {
82+
public String key() {
7583
return key;
7684
}
7785

7886
/**
79-
* @return Checkpoint SPI.
87+
* @param key Checkpoint key.
8088
*/
81-
public String getCheckpointSpi() {
82-
return cpSpi;
89+
public void key(String key) {
90+
this.key = key;
8391
}
8492

85-
/** {@inheritDoc} */
86-
@Override public void onAckReceived() {
87-
// No-op.
93+
/**
94+
* @return Checkpoint SPI.
95+
*/
96+
public String checkpointSpi() {
97+
return cpSpi;
8898
}
8999

90-
/** {@inheritDoc} */
91-
@Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
92-
writer.setBuffer(buf);
93-
94-
if (!writer.isHeaderWritten()) {
95-
if (!writer.writeHeader(directType()))
96-
return false;
97-
98-
writer.onHeaderWritten();
99-
}
100-
101-
switch (writer.state()) {
102-
case 0:
103-
if (!writer.writeString(cpSpi))
104-
return false;
105-
106-
writer.incrementState();
107-
108-
case 1:
109-
if (!writer.writeString(key))
110-
return false;
111-
112-
writer.incrementState();
113-
114-
case 2:
115-
if (!writer.writeIgniteUuid(sesId))
116-
return false;
117-
118-
writer.incrementState();
119-
120-
}
121-
122-
return true;
100+
/**
101+
* @param cpSpi Checkpoint SPI.
102+
*/
103+
public void checkpointSpi(String cpSpi) {
104+
this.cpSpi = cpSpi;
123105
}
124106

125107
/** {@inheritDoc} */
126-
@Override public boolean readFrom(ByteBuffer buf, MessageReader reader) {
127-
reader.setBuffer(buf);
128-
129-
switch (reader.state()) {
130-
case 0:
131-
cpSpi = reader.readString();
132-
133-
if (!reader.isLastRead())
134-
return false;
135-
136-
reader.incrementState();
137-
138-
case 1:
139-
key = reader.readString();
140-
141-
if (!reader.isLastRead())
142-
return false;
143-
144-
reader.incrementState();
145-
146-
case 2:
147-
sesId = reader.readIgniteUuid();
148-
149-
if (!reader.isLastRead())
150-
return false;
151-
152-
reader.incrementState();
153-
154-
}
155-
156-
return true;
108+
@Override public void onAckReceived() {
109+
// No-op.
157110
}
158111

159112
/** {@inheritDoc} */

modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import org.apache.ignite.internal.codegen.GridCacheEntryInfoSerializer;
3333
import org.apache.ignite.internal.codegen.GridCacheVersionExSerializer;
3434
import org.apache.ignite.internal.codegen.GridCacheVersionSerializer;
35+
import org.apache.ignite.internal.codegen.GridCheckpointRequestSerializer;
3536
import org.apache.ignite.internal.codegen.GridDhtPartitionExchangeIdSerializer;
3637
import org.apache.ignite.internal.codegen.GridIntListSerializer;
3738
import org.apache.ignite.internal.codegen.GridJobCancelRequestSerializer;
@@ -233,7 +234,7 @@ public class GridIoMessageFactory implements MessageFactoryProvider {
233234
factory.register((short)4, GridJobSiblingsResponse::new);
234235
factory.register((short)5, GridTaskCancelRequest::new, new GridTaskCancelRequestSerializer());
235236
factory.register((short)6, GridTaskSessionRequest::new);
236-
factory.register((short)7, GridCheckpointRequest::new);
237+
factory.register((short)7, GridCheckpointRequest::new, new GridCheckpointRequestSerializer());
237238
factory.register((short)8, GridIoMessage::new);
238239
factory.register((short)9, GridIoUserMessage::new);
239240
factory.register((short)10, GridDeploymentInfoBean::new);

0 commit comments

Comments
 (0)