ivanzlenko commented on code in PR #4664:
URL: https://github.com/apache/ignite-3/pull/4664#discussion_r1824666294
##########
modules/core/src/test/java/org/apache/ignite/internal/hlc/HybridTimestampTest.java:
##########
@@ -158,4 +163,34 @@ void
roundUpIncrementsPhysicalPartWhenLogicalPartIsNonZero() {
assertThat(ts.roundUpToPhysicalTick(), is(new HybridTimestamp(2, 0)));
}
+
+ @Test
+ void serializationAndDeserializationForNonNull() throws Exception {
+ HybridTimestamp originalTs = new
HybridTimestamp(System.currentTimeMillis(), 2);
+
+ IgniteDataOutput out = new IgniteUnsafeDataOutput(100);
+
+ originalTs.writeTo(out);
+
+ IgniteDataInput in = new IgniteUnsafeDataInput(out.array());
+
+ HybridTimestamp restoredTs = HybridTimestamp.readFrom(in);
+
+ assertThat(restoredTs, is(originalTs));
+
+ assertThat(in.available(), is(0));
+ }
+
+ @Test
+ void serializationAndDeserializationForNull() throws Exception {
Review Comment:
Make sense to add a test for readFrom()
##########
modules/table/src/main/java/org/apache/ignite/internal/table/distributed/index/IndexMetaSerializer.java:
##########
@@ -46,8 +47,7 @@ protected void writeExternalData(IndexMeta meta,
IgniteDataOutput out) throws IO
MetaIndexStatusChange change = entry.getValue();
out.writeVarInt(change.catalogVersion());
- // Writing long and not varlong as the latter requires 9 bytes.
- out.writeLong(change.activationTimestamp());
+
HybridTimestamp.hybridTimestamp(change.activationTimestamp()).writeTo(out);
Review Comment:
Same with static import
##########
modules/table/src/main/java/org/apache/ignite/internal/table/distributed/disaster/ManualGroupRestartRequestSerializer.java:
##########
@@ -41,8 +42,7 @@ protected void writeExternalData(ManualGroupRestartRequest
request, IgniteDataOu
out.writeVarInt(request.tableId());
writeVarIntSet(request.partitionIds(), out);
writeStringSet(request.nodeNames(), out);
- // Writing long and not a varlong as the latter requires 9 bytes for
hybrid timestamps.
- out.writeLong(request.assignmentsTimestamp());
+
HybridTimestamp.hybridTimestamp(request.assignmentsTimestamp()).writeTo(out);
Review Comment:
Same with static import
##########
modules/partition-distribution/src/main/java/org/apache/ignite/internal/partitiondistribution/AssignmentsSerializer.java:
##########
@@ -39,8 +40,7 @@ protected void writeExternalData(Assignments assignments,
IgniteDataOutput out)
}
out.writeBoolean(assignments.force());
- // Writing long and not varlong as the latter will take 9 bytes for
timestamps.
- out.writeLong(assignments.timestamp());
+ HybridTimestamp.hybridTimestamp(assignments.timestamp()).writeTo(out);
Review Comment:
For the clarity sake I would've add static import. Not insisting though.
--
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]