Maksim Zhuravkov created IGNITE-24736: -----------------------------------------
Summary: IgniteUnsafeData writeUTF / readUTF depends on Java version Key: IGNITE-24736 URL: https://issues.apache.org/jira/browse/IGNITE-24736 Project: Ignite Issue Type: Improvement Reporter: Maksim Zhuravkov Reproducer run `write` with JDK 11, run `read` against JDK 11 - strings match. run `read` against JDK 17, strings won't match. {code:java} public class RandomStringTest { private final Random random = new Random(); @BeforeEach public void before() { random.setSeed(111); } @Test public void write() throws IOException { // Write JDK 11 String s = IgniteTestUtils.randomString(random, 512); try (IgniteUnsafeDataOutput os = new IgniteUnsafeDataOutput(111)) { os.writeUTF(s); byte[] array = os.array(); System.err.println(Arrays.toString(array)); Path dir = Paths.get(".").toAbsolutePath(); Files.write(dir.resolve("string.bin"), array); } } @Test public void read() throws IOException { // Read JDK 17 String s = IgniteTestUtils.randomString(random, 512); Path dir = Paths.get(".").toAbsolutePath(); byte[] bytes = Files.readAllBytes(dir.resolve("string.bin")); try (IgniteUnsafeDataInput os = new IgniteUnsafeDataInput(bytes)) { String s1 = os.readUTF(); assertEquals(s, s1); } } } {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)