BREAKING CHANGE(hubble): upgrade to new version 2.0 [WIP] #632
Open
FrostyHec wants to merge 253 commits intoapache:masterfrom
Open
BREAKING CHANGE(hubble): upgrade to new version 2.0 [WIP] #632FrostyHec wants to merge 253 commits intoapache:masterfrom
FrostyHec wants to merge 253 commits intoapache:masterfrom
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests.
Additional details and impacted files@@ Coverage Diff @@
## master #632 +/- ##
=============================================
- Coverage 62.49% 51.55% -10.95%
+ Complexity 1903 973 -930
=============================================
Files 262 111 -151
Lines 9541 5858 -3683
Branches 886 754 -132
=============================================
- Hits 5963 3020 -2943
+ Misses 3190 2576 -614
+ Partials 388 262 -126 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
…lified # Conflicts: # hugegraph-client/assembly/travis/install-hugegraph-from-source.sh
…hubble2.0-auth-simplified
# Conflicts: # .github/workflows/client-ci.yml # hugegraph-client/assembly/travis/install-hugegraph-from-source.sh # hugegraph-client/pom.xml # hugegraph-client/src/main/java/org/apache/hugegraph/api/graph/GraphMetricsAPI.java # hugegraph-client/src/main/java/org/apache/hugegraph/api/graphs/GraphsAPI.java # hugegraph-client/src/main/java/org/apache/hugegraph/api/ip/WhiteIpListAPI.java # hugegraph-client/src/main/java/org/apache/hugegraph/api/kvstore/KvStoreAPI.java # hugegraph-client/src/main/java/org/apache/hugegraph/api/task/ComputerDisAPI.java # hugegraph-client/src/main/java/org/apache/hugegraph/api/traverser/AdamicAdarAPI.java # hugegraph-client/src/main/java/org/apache/hugegraph/api/traverser/AllShortestPathsAPI.java # hugegraph-client/src/main/java/org/apache/hugegraph/api/traverser/CountAPI.java # hugegraph-client/src/main/java/org/apache/hugegraph/api/traverser/CrosspointsAPI.java # hugegraph-client/src/main/java/org/apache/hugegraph/api/traverser/EgonetAPI.java # hugegraph-client/src/main/java/org/apache/hugegraph/api/traverser/JaccardSimilarityAPI.java # hugegraph-client/src/main/java/org/apache/hugegraph/api/traverser/NeighborRankAPI.java # hugegraph-client/src/main/java/org/apache/hugegraph/api/traverser/PathsAPI.java # hugegraph-client/src/main/java/org/apache/hugegraph/api/traverser/PersonalRankAPI.java # hugegraph-client/src/main/java/org/apache/hugegraph/api/traverser/RaysAPI.java # hugegraph-client/src/main/java/org/apache/hugegraph/api/traverser/ResourceAllocationAPI.java # hugegraph-client/src/main/java/org/apache/hugegraph/api/traverser/RingsAPI.java # hugegraph-client/src/main/java/org/apache/hugegraph/api/traverser/SameNeighborsBatchAPI.java # hugegraph-client/src/main/java/org/apache/hugegraph/api/traverser/ShortestPathAPI.java # hugegraph-client/src/main/java/org/apache/hugegraph/api/traverser/VariablesAPI.java # hugegraph-client/src/main/java/org/apache/hugegraph/api/vermeer/VermeerAPI.java # hugegraph-client/src/main/java/org/apache/hugegraph/client/RestClient.java # hugegraph-client/src/main/java/org/apache/hugegraph/driver/ComputerManager.java # hugegraph-client/src/main/java/org/apache/hugegraph/driver/GraphManager.java # hugegraph-client/src/main/java/org/apache/hugegraph/driver/GraphsManager.java # hugegraph-client/src/main/java/org/apache/hugegraph/driver/HStoreManager.java # hugegraph-client/src/main/java/org/apache/hugegraph/driver/HugeClient.java # hugegraph-client/src/main/java/org/apache/hugegraph/driver/PDManager.java # hugegraph-client/src/main/java/org/apache/hugegraph/driver/SchemaTemplateManager.java # hugegraph-client/src/main/java/org/apache/hugegraph/driver/ServiceManager.java # hugegraph-client/src/main/java/org/apache/hugegraph/driver/TraverserManager.java # hugegraph-client/src/main/java/org/apache/hugegraph/driver/VermeerManager.java # hugegraph-client/src/main/java/org/apache/hugegraph/driver/WhiteIpListManager.java # hugegraph-client/src/main/java/org/apache/hugegraph/driver/factory/PDHugeClientFactory.java # hugegraph-client/src/main/java/org/apache/hugegraph/structure/auth/Role.java # hugegraph-client/src/main/java/org/apache/hugegraph/structure/auth/UserManager.java # hugegraph-client/src/main/java/org/apache/hugegraph/structure/space/HStoreNodeInfo.java # hugegraph-client/src/main/java/org/apache/hugegraph/structure/traverser/CountResponse.java # hugegraph-client/src/main/java/org/apache/hugegraph/structure/traverser/Egonet.java # hugegraph-client/src/main/java/org/apache/hugegraph/structure/traverser/EgonetRequest.java # hugegraph-client/src/main/java/org/apache/hugegraph/structure/traverser/KneighborRequest.java # hugegraph-client/src/main/java/org/apache/hugegraph/structure/traverser/KoutRequest.java # hugegraph-client/src/main/java/org/apache/hugegraph/structure/traverser/PathOfVertices.java # hugegraph-client/src/main/java/org/apache/hugegraph/structure/traverser/PathWithMeasure.java # hugegraph-client/src/main/java/org/apache/hugegraph/structure/traverser/Prediction.java # hugegraph-client/src/main/java/org/apache/hugegraph/structure/traverser/RanksWithMeasure.java # hugegraph-client/src/main/java/org/apache/hugegraph/structure/traverser/SameNeighbors.java # hugegraph-client/src/main/java/org/apache/hugegraph/structure/traverser/SameNeighborsBatch.java # hugegraph-client/src/main/java/org/apache/hugegraph/structure/traverser/SameNeighborsBatchRequest.java # hugegraph-client/src/main/java/org/apache/hugegraph/structure/traverser/Steps.java # hugegraph-client/src/test/java/org/apache/hugegraph/api/GraphsApiTest.java # hugegraph-client/src/test/java/org/apache/hugegraph/api/traverser/AdamicAdarAPITest.java # hugegraph-client/src/test/java/org/apache/hugegraph/api/traverser/FusiformSimilarityApiTest.java # hugegraph-client/src/test/java/org/apache/hugegraph/api/traverser/KneighborApiTest.java # hugegraph-client/src/test/java/org/apache/hugegraph/api/traverser/KoutApiTest.java # hugegraph-client/src/test/java/org/apache/hugegraph/api/traverser/SameNeighborsBatchApiTest.java # hugegraph-client/src/test/java/org/apache/hugegraph/functional/HugeClientHttpsTest.java
# Conflicts: # hugegraph-loader/src/main/java/org/apache/hugegraph/loader/HugeGraphLoader.java
# Conflicts: # hugegraph-hubble/hubble-dist/pom.xml # hugegraph-hubble/hubble-fe/package-lock.json # hugegraph-hubble/hubble-fe/package.json # hugegraph-hubble/hubble-fe/yarn.lock
This was referenced Apr 21, 2026
…he#718) * refactor(client): replace skipRequiredChecks bool param with chainable graphRequired() method - Move url/graph validation from constructor to build() for true null support - Replace boolean constructor param with fluent .graphRequired(false) chain method - Rename field to graphRequired (default true) for clearer semantics - Clean up HugeClient javadoc: remove redundant class/constructor comments --------- Co-authored-by: imbajin <jin@apache.org>
Add `pd.enabled` configuration option to allow Hubble to run in standalone RocksDB mode without PD dependency. Backend changes (hubble-be): - Add ConfigController exposing GET /api/v1.3/config to report deployment mode (pd_enabled, server_url) to the frontend - Add HubbleOptions.PD_ENABLED and SERVER_URL config options with defaults in hugegraph-hubble.properties - BaseController: support direct server URL connection when PD is disabled; make PDHugeClientFactory injection optional - UserService: guard all GraphSpace/Manager API calls behind isPdEnabled() checks; fix user lookup to use getUserByName() instead of getUser() (ID vs name mismatch in standalone mode); return ADMIN level for non-PD users - GraphsService: use rocksdb backend and local task scheduler in standalone mode; add null-safe handling for create_time, default, and default_update_time fields that may be absent without PD; ensure nickname/graphspace fields are populated for frontend - GraphSpaceController: return mock DEFAULT graphspace in standalone mode instead of calling PD APIs - ServiceController: add checkPdMode() guard on all OLTP service endpoints - SchemaTemplateController: return empty results in standalone mode - OLTPServerService: make PDHugeClientFactory optional; skip PD URL resolution when disabled - HugeClientPoolService: support direct URL connection fallback - MetaConfig: make PD-related bean creation conditional on pd.enabled Frontend changes (hubble-fe): - Add api/config.js and utils/config.js for runtime deployment mode detection (isPdEnabled()) cached in sessionStorage - Login/index.js: fetch /config after login to cache deployment mode before navigation - Sidebar: dynamically render manage menu items based on PD mode; hide GraphSpace/Source/Task entries in standalone mode, show only graph management with DEFAULT graphspace - NavigationHome: hide AdminItem and ConsoleItem when PD is disabled - ManageItem: conditionally show reduced menu in standalone mode - Graph/index.js: fallback graphspace to 'DEFAULT' in navigation URLs; adjust back button and page header for standalone mode - Graph/Card.js: adapt title display and navigation links to handle missing graphspace/nickname fields in standalone mode
…nt page - Remove "导入账号" Upload button from account management UI - Remove TODO placeholder comment and old commented-out code block - Clean up unused imports (Upload, PlusOutlined) and related state/constants
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Use fully-qualified loader VertexMapping type to avoid import conflict with hubble DTO, and uncomment all previously disabled field assignments (.label, .mappingFields, .mappingValues, .selectedFields, .nullValues). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…dgeMappings - Change return type and local list type from bare `EdgeMapping` (Hubble DTO) to fully-qualified `org.apache.hugegraph.loader.mapping.EdgeMapping` (Loader type) - Uncomment and restore eMapping construction with correct FQN constructor call - Restore all field assignments: label, mappingFields, mappingValues, selectedFields, nullValues - Restore `eMappings.add(eMapping)` so built mappings are actually collected and returned - Fix error message strings: CUSTOMIZED → PRIMARY_KEY to match actual id strategy check Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…adTaskProgress Re-enable the commented-out progress-tracking code using the correct method name totalInputRead() (not totalInputReaded()) so that fileReadLines is updated from newProgress (falling back to oldProgress when newProgress is still zero), making the progress bar advance during load tasks.
AbstractSource initializes listFormat to null; the stale commented-out call source.listFormat(new ListFormat()) was the required initialization. Restore it (using fully-qualified loader type to avoid import ambiguity with the entity ListFormat) so subsequent .startSymbol/.endSymbol/ .elemDelimiter calls no longer throw NullPointerException. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… logging - Remove old commented-out readLines block (was replaced by active code in Task 5) - Add info logging to buildLoadMapping() to verify vertex/edge mapping counts at runtime
Backend: - Add IngestController exposing tasks, jobs, datasources and metrics endpoints under /api/v1.3/ingest/ - Add datasource table with Entity/Mapper/Service for datasource CRUD - Add global paginated listAll() to JobManagerService (no graphspace filter) - Fix WebMvcConfig resource handler intercepting /api/** requests - hugegraph-hubble.properties: disable PD mode, comment out proxy config Frontend: - Fix request.js error handler missing .data wrapper causing undefined crash - Add null guards in Task/TaskDetail pages for job_summary and structs fields
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose of the PR
Main Changes
Verifying these changes
Does this PR potentially affect the following parts?
Documentation Status
Doc - TODODoc - DoneDoc - No Need