Skip to content

Commit bf92343

Browse files
authored
Disable transport changes for ByteSizeValue (#120472)
* Revert transport version for ByteSizeValue. To be reinstated once 9.0 transport is allowed to diverge from 8.x. * Fix version check, and disable test * Ok ok, AwaitsFix
1 parent cd86b3b commit bf92343

File tree

3 files changed

+13
-4
lines changed

3 files changed

+13
-4
lines changed

server/src/main/java/org/elasticsearch/TransportVersions.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,8 @@ static TransportVersion def(int id) {
156156
public static final TransportVersion ELASTIC_INFERENCE_SERVICE_UNIFIED_CHAT_COMPLETIONS_INTEGRATION = def(8_822_00_0);
157157
public static final TransportVersion KQL_QUERY_TECH_PREVIEW = def(8_823_00_0);
158158
public static final TransportVersion ESQL_PROFILE_ROWS_PROCESSED = def(8_824_00_0);
159-
public static final TransportVersion BYTE_SIZE_VALUE_ALWAYS_USES_BYTES = def(8_825_00_0);
159+
public static final TransportVersion BYTE_SIZE_VALUE_ALWAYS_USES_BYTES_1 = def(8_825_00_0);
160+
public static final TransportVersion REVERT_BYTE_SIZE_VALUE_ALWAYS_USES_BYTES_1 = def(8_826_00_0);
160161

161162
/*
162163
* STOP! READ THIS FIRST! No, really,

server/src/main/java/org/elasticsearch/common/unit/ByteSizeValue.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
package org.elasticsearch.common.unit;
1111

1212
import org.elasticsearch.ElasticsearchParseException;
13+
import org.elasticsearch.TransportVersion;
1314
import org.elasticsearch.common.Strings;
1415
import org.elasticsearch.common.io.stream.StreamInput;
1516
import org.elasticsearch.common.io.stream.StreamOutput;
@@ -24,7 +25,8 @@
2425
import java.util.Locale;
2526
import java.util.Objects;
2627

27-
import static org.elasticsearch.TransportVersions.BYTE_SIZE_VALUE_ALWAYS_USES_BYTES;
28+
import static org.elasticsearch.TransportVersions.BYTE_SIZE_VALUE_ALWAYS_USES_BYTES_1;
29+
import static org.elasticsearch.TransportVersions.REVERT_BYTE_SIZE_VALUE_ALWAYS_USES_BYTES_1;
2830
import static org.elasticsearch.common.unit.ByteSizeUnit.BYTES;
2931
import static org.elasticsearch.common.unit.ByteSizeUnit.GB;
3032
import static org.elasticsearch.common.unit.ByteSizeUnit.KB;
@@ -111,7 +113,8 @@ static ByteSizeValue newByteSizeValue(long sizeInBytes, ByteSizeUnit desiredUnit
111113
public static ByteSizeValue readFrom(StreamInput in) throws IOException {
112114
long size = in.readZLong();
113115
ByteSizeUnit unit = ByteSizeUnit.readFrom(in);
114-
if (in.getTransportVersion().onOrAfter(BYTE_SIZE_VALUE_ALWAYS_USES_BYTES)) {
116+
TransportVersion tv = in.getTransportVersion();
117+
if (tv.onOrAfter(BYTE_SIZE_VALUE_ALWAYS_USES_BYTES_1) && tv.before(REVERT_BYTE_SIZE_VALUE_ALWAYS_USES_BYTES_1)) {
115118
return newByteSizeValue(size, unit);
116119
} else {
117120
return of(size, unit);
@@ -120,7 +123,8 @@ public static ByteSizeValue readFrom(StreamInput in) throws IOException {
120123

121124
@Override
122125
public void writeTo(StreamOutput out) throws IOException {
123-
if (out.getTransportVersion().onOrAfter(BYTE_SIZE_VALUE_ALWAYS_USES_BYTES)) {
126+
TransportVersion tv = out.getTransportVersion();
127+
if (tv.onOrAfter(BYTE_SIZE_VALUE_ALWAYS_USES_BYTES_1) && tv.before(REVERT_BYTE_SIZE_VALUE_ALWAYS_USES_BYTES_1)) {
124128
out.writeZLong(sizeInBytes);
125129
} else {
126130
out.writeZLong(Math.divideExact(sizeInBytes, desiredUnit.toBytes(1)));

server/src/test/java/org/elasticsearch/common/unit/ByteSizeValueTests.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -533,6 +533,10 @@ public void testBWCTransportFormat() throws IOException {
533533
}
534534
}
535535

536+
/**
537+
* @see TransportVersions#REVERT_BYTE_SIZE_VALUE_ALWAYS_USES_BYTES_1
538+
*/
539+
@AwaitsFix(bugUrl = "https://elasticco.atlassian.net/browse/ES-10585")
536540
public void testTwoDigitTransportRoundTrips() throws IOException {
537541
TransportVersion tv = TransportVersion.current();
538542
for (var desiredUnit : ByteSizeUnit.values()) {

0 commit comments

Comments
 (0)