Repository navigation
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #3275 +/- ##
============================================
+ Coverage 41.18% 41.30% +0.11%
- Complexity 6771 6815 +44
============================================
Files 766 766
Lines 66086 66317 +231
Branches 8773 8806 +33
============================================
+ Hits 27218 27390 +172
- Misses 35819 35855 +36
- Partials 3049 3072 +23 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
40994eb to
7ee8766
Compare
- prepare trusted JNI in each component runtime directory - match configured provider to the loaded runtime - preserve Server column families when clearing TP data - join PD native owners before metadata release - document selection and verify standard startup isolation
- return request and task backend leases on their thread - let the Spring engine own Store database shutdown - stop and join heartbeat producers and state callbacks - retain existing Store scan and TTL behavior - verify commit rollback reuse and shutdown ordering
- specify persistent data WAL and Raft locations - explain request and task transaction cleanup - quote the trusted checksum placeholder safely
- remove the trailing separator rejected by TP JNI - preserve the same physical metadata directory - verify metadata ownership and standard reopen behavior
- include the newly added runtime utility in the count - preserve the full scan and class ordering assertions - verify the complete Commons and RPC unit suites
- move formatting policy to independent PR 268 - restore the master contribution guide - keep the storage feature review focused
- prepend the selected JNI before inherited preloads - fall back only when the context loader misses - preserve provider and linkage failure checks - cover loader isolation and preload transitions
- scan hidden system relations during deletion - refresh cached schemas before index updates - retain normal and OLAP transaction behavior - cover cleanup regressions on Java 17 - clarify the Java 17 setup requirement
- report missing runtime origins with a clear error - clear dynamic OLAP tables in their owning database - cover missing origins and two-database cleanup
- verify EasyMigrate effects before preparing JNI - bind prepared libraries and reject competing JNI - coordinate fatal heartbeat shutdown outside workers - return metrics sessions on success and failure
- check default and explicit providers before returning - preserve unrelated preloads and selected runtime cleanup - support empty preload arrays under nounset - cover provider modes and document launch constraints
- close write batch and options at final detach - retain owners while another lease is active - guarantee both disposal attempts and closed state - cover real JNI owners across repeated worker requests
- select supported auth fixtures by actual graph backend - run cleanup assertions without a backend system property - give the OLAP sentinel fixture a valid vertex ID - assert the intended schema rejection source
- retain schema identity across request cleanup - keep cache invalidation listeners until graph close - dispose only the matching graph listener generation - cover schema append and API update regressions
- validate the preload asset alongside launcher helpers - include the dependency in the temporary server fixture - retain security and Java 17 startup contract assertions
- set final runtime directories to 0755 - set regular assets to 0644 without following symlinks - document service-user and parent access behavior
- route recovery exit outside the state callback lock - preserve void API and abort invalid-shard restoration - reuse the single exit gate and producer cleanup - cover real node shutdown in an isolated JVM
- avoid compile-time imports from the executable Node jar - use actual reactor classes in the recovery child JVM - invoke real Node destroy and retain hook assertions
- detach owned store listeners without a cache holder - preserve reopened listener generation ownership - clear auth projects using the actual graph backend - retain reopen failures and clean temporary data
- show trusted JNI preparation and provider selection - highlight initialize and start with explicit runtime - distinguish standalone and distributed entry points
- collapse premature wraps within 120 columns - align multiline calls and native test fixtures - preserve every Java token and string literal - limit formatting to changed pull request blocks
7ee8766 to
dd9399d
Compare
- replace the old graphic with the approved A style - focus on provider selection and user benefits - show the switching guide in the README - keep the original graphic as a PR attachment
- derive the Maven revision from the root POM - preserve version context in Server and PD/Store CI - cover macOS builds and reject unsupported Maven
- accept forward base updates for the same PR head - bind selection and reports to the tested merge base - reject unrelated bases and changed PR identities - cover queued events with real Git regression tests
- use one Maven version for hosted build workflows - verify the official archive before executing Maven - cover Server, PD/Store, Cluster and CodeQL builds - remove the ineffective revision injection helper
bitflicker64
left a comment
There was a problem hiding this comment.
Blocking: yes. Summary: The new current-schema lookup in GraphIndexTransaction throws for vertices and edges whose label was deleted. Those left records can no longer be dropped, and a normal vertex with a left edge can no longer be dropped either. Both deletes worked before this PR. I found nothing else actionable in the launcher selection, the RocksDB provider check, the Topling truncate path, the cache lifetime change or the PD/Store shutdown rework. CI on this head is red, and both failures look unrelated: RateLimiterTest timing in server_memory, and dependency-review flagging the existing netty-handler 4.1.52 in hg-pd-dist. Evidence: static trace of StandardHugeGraph.vertexLabelOrNone/edgeLabelOrNone -> VertexLabel/EdgeLabel.undefined(graph, id); SchemaTransaction.getVertexLabel/getEdgeLabel return null for a missing id; GraphTransaction.removeVertex and prepareDeletions -> updateVertexIndex/updateEdgeIndex -> GraphIndexTransaction.indexLabelIds -> currentSchemaLabel E.checkArgument; GraphTransaction.warnLeftRecord shows these records are returned to callers.
- start the first timer reset after a full window - retain the public limiter constructor and period - verify window boundaries with a controlled timer
- use patched Netty and compatible gRPC runtimes - align Protobuf runtime while retaining generators - preserve default and unshaded RPC compatibility - update resolved dependency and license materials
- resolve dependency and license merge conflicts - retain the ToplingDB and rate limiter fixes - align secure gRPC and Protobuf runtimes - preserve upstream TinkerPop and security updates
- resolve shared type and dependency merge conflicts - preserve current schema lookup for cached elements - retain the synthetic OLAP schema path - keep ToplingDB startup and secure runtime fixes
- record packaged Lombok and layertools jars - retain existing runtime versions and licensing - validate fail-closed dependency checks
- remove the extra Maven version pin - reduce README switching guidance to one link - retain the approved image under a clear filename - use canonical ASF project links
- allow deletion of records with missing schema labels - keep current schema lookup for existing labels - reuse native write batches when resetting sessions - cover orphan cleanup and repeated native resets
- retain V2 schema caches and listeners until graph close - protect reopened graphs from stale transaction leases - preserve inherited preloads when adding jemalloc - cover cache lifetime and complete Store launch paths
Purpose of the PR
Make ToplingDB an optional storage engine while preserving HugeGraph APIs. Standard RocksDB remains the default.
How to switch
bash bin/prepare-topling.shfollowing the setup guide.rocksdb.provider=toplingin the standalone graph properties and exportTOPLINGDB_ROCKSDB_PROVIDER=topling.bash bin/init-store.sh, then runbash bin/start-hugegraph.sh.PD and Store use their own configuration and start scripts. ToplingDB offers performance-focused storage and flexible configuration.
Original preparation reference
Main Changes
Verifying these changes
Current CI results are shown in the checks below.
Does this PR potentially affect the following parts?
Documentation Status
Doc - TODODoc - Done: repository guide and website PR #510; coordinate both merges.Doc - No Need