[pull] master from apache:master#2
Merged
imbajin merged 10 commits intohugegraph:masterfrom Nov 26, 2025
Merged
Conversation
- Add DeepWiki badge for interactive documentation access - Badge enables users to easily access AI-powered documentation assistant - Positioned with other project badges for consistency
…ace (#685) Enhanced Javadoc comments for GraphMode and GraphReadMode enums to clarify their operational contexts, permissions, and use cases. Refactored GraphsAPI.clear() for cleaner path selection logic. --------- Co-authored-by: imbajin <jin@apache.org>
* update pom and readme for version-1.7.0
* added GraphSource & GraphReader;
added method InputReader.multiReaders() and adapted for all SOURCE
* 增加AFSSource,graphSource,部分升级HDFSSource;
多文件输入这部分还没确认完成,初步进展
相应配置 & 细节更改:
1. FileSource 新增了 dir_filter 和 extra_date_formats 参数,并修改了构造函数;并增加了 ORC/Parquet 文件表头不区分大小写的支持FileSource.headerCaseSensitive以及单文件应用的splitCount,提升了文件加载的灵活性和兼容性。
2. InputSource加入headerCaseSensitive()默认区分大小写
多文件输入功能
FileReader.java
init() 只负责调用 progress(context, struct),不再扫描文件。
文件扫描和 reader 分裂逻辑移到了 split() 方法:
调用 scanReadables() 获取所有文件
排序
创建多个 FileReader 子实例,每个对应一个文件
InputProgress.java
新版特点
- 进度管理基于 文件名 -> InputItemProgress 的 Map
- 可以同时跟踪多个文件的加载状态(已加载 / 正在加载)
- 支持 多线程并发 和更精细的控制(比如只确认某个文件的 offset,或者只标记某个文件 loaded)
相关接口重构
旧版
- loadingItem():返回单个 loadingItem
- addLoadingItem(InputItemProgress):替换当前 loadingItem,旧的丢到 loadingItems
- loadingOffset():返回当前 loadingItem.offset()
- markLoaded(boolean markAll):
新版
- loadingItem(String name):按文件名查找对应的 loadingItem
- addLoadingItem(String name, InputItemProgress):按文件名新增
- 取消了 loadingOffset(),因为已经支持多文件了,offset 必须按文件取
- markLoaded(Readable readable, boolean markAll):
- 如果传入 readable → 把对应文件从 loadingItems 移到 loadedItems
- 否则(readable=null 且 markAll=true)→ 把全部 loadingItems 移过去
InputProgressDeser.java
旧版
Set<InputItemProgress> loadedItems;
InputItemProgress loadingItem;
用 Set 存储已完成的 items,用单对象存储正在加载的 item。
新版
Map<String, InputItemProgress> loadedItems;
Map<String, InputItemProgress> loadingItems;
改成 Map(key 是字符串,比如文件名/ID),既能保持唯一性又能快速索引,还支持多个并发 "loading items"。
并且使用了:
Collections.synchronizedMap(InsertionOrderUtil.newMap());
来保证线程安全 + 保留插入顺
* fix(client): fixed wrong ref for AuthAPI && update commit_id
* fix(client): fixed wrong ref for AuthAPI && update commit_id
* fix(client): wtf with this authAPI?
* 666
* fix deserialize problem (not sure yet)
* fix: refactor code style and update CI commit ID
Updated HugeGraph commit ID in CI workflow files and improved code style consistency across multiple Java files by adjusting formatting, removing unnecessary blank lines, and simplifying logic.
Also added ignore rules for AI assistant prompt files in .gitignore.
* revert Target.java
* fix: remove graphSpace field from Belong class
Eliminated the graphSpace property and its related methods from the Belong class to simplify the authorization structure. Also updated a comment in HugeResource for clarity.
* fix: refactor Target resource handling for server compatibility (FIXME)
Updated Target class to store resources as a generic Object, always using List<Map> for compatibility with server responses.
Adjusted resource getter/setter methods and test cases to use the new format, ensuring correct serialization and deserialization of resource data.
* fix: set graphSpace and link fields to read-only in auth models
Updated Access and Belong classes to mark the graphSpace and link fields as read-only in their JSON properties.
Added graphSpace field and getter/setter to Belong for consistency with Access. This ensures these fields are not modified during deserialization.
* fix: refactor async task test for vertex insertion
Updated the Groovy scripts in TaskApiTest to use Gremlin's g.addV('man').iterate() instead of hugegraph.addVertex and removed explicit transaction commits.
Increased the async task loop to 100 iterations with shorter sleep intervals, simplified the waiting logic before cancelling the task, and improved the final assertion to check vertex count is less than 100. These changes streamline the test and improve reliability.
* fix: improve test reliability and server initialization handling
Added a wait for HugeGraph server initialization in the install script and test cases to prevent race conditions. Enhanced teardown methods in JobApiTest and TaskApiTest to cancel running tasks before deletion.
Updated TaskApiTest to clean up vertices before insertion, ensuring tests run in a clean state.
* fix: refactor test cleanup logic and improve resilience
Moved task cleanup logic to a shared method in BaseApiTest for reuse and improved error handling during cleanup. TaskApiTest now also cleans up the 'man' vertex label after tests. Cleanup methods are more resilient to exceptions, ensuring test environments are reliably reset.
* fix: disable failing graph tests due to server issue
Temporarily disabled three tests in GraphsApiTest using @ignore due to NullPointerException in server's metaManager.graphConfigs() when calling graphsAPI.list(). Removed waitForServerReady() and related code.
Will re-enable after server metaManager is fixed.
* fix: update user role structure and related tests
Refactored UserRole roles mapping to include graphSpace, graph, permission, resourceType, and resources for finer-grained access control. Updated AuthManagerTest and MetricsManagerTest to reflect the new structure and key format.
* fix: add authentication for spark-connector tests
* fix: remove graphSpace setting for spark-connector tests
* fix: get authentication for spark-connector tests
* fix: test scala for spark-connector tests
* fix: add auth in client https test
* fix scala?
* fix scala?
* fix client install sh
* fix(client): authAPIs to remove the "graph" path
* fix(client): authAPIs to remove the "graph" path
* fix(client): authAPIs to remove the "graph" path
* fix(client): authAPIs to remove the "graph" path
* we back
* fix(client):add ignore to one test
* fix(client):fix missing part of https test
---------
Co-authored-by: imbajin <jin@apache.org>
* chore: update copyright year in NOTICE file * Update NOTICE
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.3)
Can you help keep this open source service alive? 💖 Please sponsor : )