imbajin opened a new pull request, #832: URL: https://github.com/apache/hugegraph-toolchain/pull/832
## Purpose of the PR Render graphspace/graph metadata without waiting for counts or schema scans. Page loads must not trigger full V/E statistics, and missing snapshots must not look like empty graphs. ## Main Changes - Use authorized brief name/nickname lists for selectors; retain complete option lists, capability handling and stale-response guards. - Filter/sort/page core metadata first. Load visible-card schema and recorded statistics independently through existing endpoints, with local error feedback. - Default statistics reads use only a cache or recorded snapshot. Missing counts remain unknown; algorithms are disabled only for confirmed zero counts. - Explicit collection runs limit(100000) before each vertex/edge groupCount. Show approximate counts as ≈, and counts reaching the scan limit as ≥, through the shared NumberCard and provenance hints. - Use the existing Guava dependency for a capacity-bounded, 30-minute expire-after-write cache, partitioned by resolved Server, authentication context, graphspace and graph. Passive reads do not renew expiry or start scans. Reuse fresh results on explicit requests; deliberately omit a force-scan option. - Reuse the shared Gremlin authentication resolver for both collection and snapshot reads, including legacy Basic mode. Remove raw-element fallback reads; leave the older async statistics map separate. - Show provenance only after successful statistics loading. Core navigation remains usable while optional requests are pending. No new endpoint, scheduler, task queue or query mode. ## Verifying these changes - [x] Independent cross-review of metadata, auth, count consumers, cache scope/expiry and frontend states. - [x] Final combined source: 186 backend tests passed with candidate SDK validation and Checkstyle; 401 frontend tests passed across 18 affected suites. - [x] Separate metadata branch compilation/tests and focused auth/cache regressions, including real local HTTP identity contexts, Basic resolver routing, actual expiry/capacity eviction, no renewal on passive reads and no automatic scan. - [x] i18n, TypeScript and Vite production build passed. Six GraphDetail checks and a further build passed after the final provenance-only display condition. - [x] Real source-built Hubble + PD/hstore: core graph/space/page metadata returns without statistics; absent snapshot is unknown; explicit statistics on the 12,000-vertex/edge graph returns bounded metadata and later requests reuse the result. - [x] Chromium: zero collection requests on load, one after clicking; core navigation remains usable while a real Server response is delayed. Approximation/100,000/30-minute hints are visible; unknown counts have no false snapshot provenance; no page errors. Earlier matched timing measurements remain in #80. The final core response also omits optional enrichment, so earlier identical-payload timings are not presented as fresh measurements of this revision. ## Does this PR potentially affect the following parts? - [ ] Nope - [ ] Dependencies (add/update license info) - [ ] Modify configurations - [x] The public API - [x] Other affects: metadata loading, optional counts and bounded statistics ## Documentation Status - [ ] `Doc - TODO` - [x] `Doc - Done`: optional report/evidence PR #80 - [ ] `Doc - No Need` Limits: ordinary-user/anonymous graphspace authorization still reads per-space details. Visible-card snapshot requests may read Server metrics. The statistics cache is local to a Hubble process. Storage/PD estimates and scheduled OLAP refresh remain follow-up work; Hubble does not schedule scans. Query/property previews: #79. Server buffer growth: https://github.com/hugegraph/hugegraph/pull/327. Evidence #80 does not need merging for either functional PR. --- Source community PR: https://github.com/hugegraph/hugegraph-toolchain/pull/78. This upstream draft reuses the same branch. Figure PR numbers refer to that community source. -- 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]
