From 2e77882699143587f974297f669319572c1cdae2 Mon Sep 17 00:00:00 2001 From: "alan578.zhao" <956322745@qq.com> Date: Mon, 15 Jul 2024 11:24:05 +0800 Subject: [PATCH] #2576 Resolve the cache invalidation of the partition->leader shard in ClientCache --- .../main/java/org/apache/hugegraph/pd/client/ClientCache.java | 1 + .../main/java/org/apache/hugegraph/pd/client/PDClient.java | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/hugegraph-pd/hg-pd-client/src/main/java/org/apache/hugegraph/pd/client/ClientCache.java b/hugegraph-pd/hg-pd-client/src/main/java/org/apache/hugegraph/pd/client/ClientCache.java index 0ebc285211..9e584583a9 100644 --- a/hugegraph-pd/hg-pd-client/src/main/java/org/apache/hugegraph/pd/client/ClientCache.java +++ b/hugegraph-pd/hg-pd-client/src/main/java/org/apache/hugegraph/pd/client/ClientCache.java @@ -275,6 +275,7 @@ public void reset() { groups = new ConcurrentHashMap<>(); stores = new ConcurrentHashMap<>(); caches = new ConcurrentHashMap<>(); + initialized.set(false); } public Shard getLeader(int partitionId) { diff --git a/hugegraph-pd/hg-pd-client/src/main/java/org/apache/hugegraph/pd/client/PDClient.java b/hugegraph-pd/hg-pd-client/src/main/java/org/apache/hugegraph/pd/client/PDClient.java index b38610c49f..17318595f1 100644 --- a/hugegraph-pd/hg-pd-client/src/main/java/org/apache/hugegraph/pd/client/PDClient.java +++ b/hugegraph-pd/hg-pd-client/src/main/java/org/apache/hugegraph/pd/client/PDClient.java @@ -461,7 +461,9 @@ private KVPair getKvPair(String graphName, byte[ */ public KVPair getPartition(String graphName, byte[] key) throws PDException { - KVPair partShard = cache.getPartitionByKey(graphName, key); + + KVPair partShard = + this.getPartitionByCode(graphName, PartitionUtils.calcHashcode(key)); partShard = getKvPair(graphName, key, partShard); return partShard; }