[ https://issues.apache.org/jira/browse/IGNITE-24736?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrey Mashenkov updated IGNITE-24736: -------------------------------------- Fix Version/s: 3.1 > 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 > Assignee: Andrey Mashenkov > Priority: Major > Labels: ignite-3 > Fix For: 3.1 > > > 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)