Skip to content

Commit 1cc1614

Browse files
committed
fix: correct the use of serializer in network message, issue #10585
1 parent e1a11f8 commit 1cc1614

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

client/src/main/java/com/orientechnologies/orient/client/remote/OrientDBRemote.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ public ODocument getServerInfo(String username, String password) {
267267
}
268268

269269
public ODocument getClusterStatus(String username, String password) {
270-
ODistributedStatusRequest request = new ODistributedStatusRequest();
270+
ODistributedStatusRequest request = new ODistributedStatusRequest("status");
271271
ODistributedStatusResponse response = connectAndSend(null, username, password, request);
272272

273273
OLogManager.instance()

client/src/main/java/com/orientechnologies/orient/client/remote/message/ODistributedStatusRequest.java

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,10 @@
2323
import com.orientechnologies.orient.client.remote.OBinaryRequest;
2424
import com.orientechnologies.orient.client.remote.OBinaryResponse;
2525
import com.orientechnologies.orient.client.remote.OStorageRemoteSession;
26+
import com.orientechnologies.orient.core.record.ORecordInternal;
2627
import com.orientechnologies.orient.core.record.impl.ODocument;
2728
import com.orientechnologies.orient.core.serialization.serializer.record.ORecordSerializer;
29+
import com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerNetworkV37;
2830
import com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryProtocol;
2931
import com.orientechnologies.orient.enterprise.channel.binary.OChannelDataInput;
3032
import com.orientechnologies.orient.enterprise.channel.binary.OChannelDataOutput;
@@ -33,16 +35,26 @@
3335
public class ODistributedStatusRequest implements OBinaryRequest<ODistributedStatusResponse> {
3436
private ODocument status;
3537

36-
public ODistributedStatusRequest() {}
38+
public ODistributedStatusRequest() {
39+
status = new ODocument();
40+
}
41+
42+
public ODistributedStatusRequest(String operation) {
43+
status = new ODocument();
44+
status.setProperty("operation", operation);
45+
}
3746

3847
@Override
3948
public void write(OChannelDataOutput network, OStorageRemoteSession session) throws IOException {
40-
network.writeBytes(new ODocument().field("operation", "status").toStream());
49+
byte[] bytes = ORecordSerializerNetworkV37.INSTANCE.toStream(status);
50+
network.writeBytes(bytes);
4151
}
4252

4353
public void read(OChannelDataInput channel, int protocolVersion, ORecordSerializer serializer)
4454
throws IOException {
45-
status = new ODocument(channel.readBytes());
55+
status = new ODocument();
56+
ORecordInternal.setRecordSerializer(status, serializer);
57+
status.fromStream(channel.readBytes());
4658
}
4759

4860
public ODocument getStatus() {

0 commit comments

Comments
 (0)