diff --git a/client/src/main/java/com/alibaba/nacos/client/naming/cache/ConcurrentDiskUtil.java b/client/src/main/java/com/alibaba/nacos/client/naming/cache/ConcurrentDiskUtil.java index 77eb2bad4e7..d227a6edd26 100644 --- a/client/src/main/java/com/alibaba/nacos/client/naming/cache/ConcurrentDiskUtil.java +++ b/client/src/main/java/com/alibaba/nacos/client/naming/cache/ConcurrentDiskUtil.java @@ -143,11 +143,12 @@ public static Boolean writeFileContent(File file, String content, String charset } } while (null == lock); - ByteBuffer sendBuffer = ByteBuffer.wrap(content.getBytes(charsetName)); + byte[] contentBytes = content.getBytes(charsetName); + ByteBuffer sendBuffer = ByteBuffer.wrap(contentBytes); while (sendBuffer.hasRemaining()) { channel.write(sendBuffer); } - channel.truncate(content.length()); + channel.truncate(contentBytes.length); } catch (FileNotFoundException e) { throw new IOException("file not exist"); } finally { diff --git a/client/src/test/java/com/alibaba/nacos/client/naming/cache/DiskCacheTest.java b/client/src/test/java/com/alibaba/nacos/client/naming/cache/DiskCacheTest.java index 6079e4da13f..6ec35843bf2 100644 --- a/client/src/test/java/com/alibaba/nacos/client/naming/cache/DiskCacheTest.java +++ b/client/src/test/java/com/alibaba/nacos/client/naming/cache/DiskCacheTest.java @@ -47,6 +47,7 @@ public void setUp() throws Exception { instance.setIp("1.1.1.1"); instance.setPort(1234); instance.setServiceName("testName"); + instance.addMetadata("chinese", "中文"); serviceInfo.setHosts(Collections.singletonList(instance)); } @@ -87,9 +88,10 @@ private void assertHosts(List actual, List expected) { } private void assertInstance(Instance actual, Instance expected) { - assertEquals(actual.getServiceName(), actual.getServiceName()); - assertEquals(actual.getClusterName(), actual.getClusterName()); - assertEquals(actual.getIp(), actual.getIp()); - assertEquals(actual.getPort(), actual.getPort()); + assertEquals(actual.getServiceName(), expected.getServiceName()); + assertEquals(actual.getClusterName(), expected.getClusterName()); + assertEquals(actual.getIp(), expected.getIp()); + assertEquals(actual.getPort(), expected.getPort()); + assertEquals(actual.getMetadata(), expected.getMetadata()); } }