imbajin commented on code in PR #3391:
URL: https://github.com/apache/hugegraph/pull/3391#discussion_r4348447480
##########
hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/core/GraphManager.java:
##########
@@ -2937,6 +2941,19 @@ private void loadAddedGraph(String graphName) {
}
}
+ private <T> void graphSpaceRemoveHandler(T response) {
+ for (String name :
this.metaManager.extractGraphSpacesFromResponse(response)) {
+ GraphSpace current = this.metaManager.graphSpace(name);
+ if (current == null) {
+ this.graphSpaces.remove(name);
+ } else {
+ // A delayed REMOVE must refresh the recreated space rather
than retain its old cache.
+ this.graphSpaces.put(name, current);
Review Comment:
Rechecked at 09625220107648c8b957dd87dcc13938ec4b997a: the reported
completed-PUT overwrite race is addressed. Cache publication now advances a
monitor-protected version even for the same GraphSpace instance; a refresh
retries a metadata snapshot if a local publication occurred meanwhile. Metadata
IO remains outside the monitor. Two independent static reviews found no missed
direct cache-write path.
I also ran the exact extracted cache methods in a bounded Java harness:
delayed refresh versus same-instance completed update and versus deletion both
retained the newer result and retried once. The added barrier tests exercise
the actual API update and graph-limit enforcement paths, but I have not
independently run those full Server tests. This updates the conclusion for this
specific race only; CI and end-to-end performance acceptance remain separate.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]