Skip to content

Commit f31300f

Browse files
authored
Fix random version bug in NodeMetadataTests (opensearch-project#20253)
Stop generating raw ids and instead pick a version from the set of known Version constants which are guaranteed to be valid/masked. Signed-off-by: Joe Liu <guoqing4@illinois.edu>
1 parent 99602cc commit f31300f

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

server/src/test/java/org/opensearch/env/NodeMetadataTests.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,10 @@ public class NodeMetadataTests extends OpenSearchTestCase {
4949
private Version randomVersion() {
5050
// VersionUtils.randomVersion() only returns known versions, which are necessarily no later than Version.CURRENT; however we want
5151
// also to consider our behaviour with all versions, so occasionally pick up a truly random version.
52-
return rarely() ? Version.fromId(randomInt()) : VersionUtils.randomVersion(random());
52+
//
53+
// Version.fromId(...) requires the OpenSearch mask to be present, so we must generate ids in the valid masked range.
54+
// The maximum id used elsewhere in this test class is 234217727 (see tooNewVersion()).
55+
return rarely() ? Version.fromId(between(MASK, 234217727)) : VersionUtils.randomVersion(random());
5356
}
5457

5558
public void testEqualsHashcodeSerialization() {

0 commit comments

Comments
 (0)