About the Future of Geaflow
- Dominant language
- Java
- Stars
- 808
- Forks
- 188
- Avg merge
- 3d 22h
- Merged PRs (30d)
- 2
Description
Hi, everyone. I organized some to-do lists
1. TODO/FIXME Cleanup and Implementation
I found a large number of uncompleted TODO comments, which are good improvement opportunities:
- PipelineUtil.java: Asynchronous mode check logic needs refactoring: [issue-607](https://github.com/apache/geaflow/issues/607)
- OneDegreeGraphScanIterator.java: Graph proxy partition scan iterator needs to be implemented: [issues-611](https://github.com/apache/geaflow/issues/611)
- PartitionType.java: DT partitioning and label DT partitioning need to be supported
- StaticGraphPaimonStoreBase.java: Tables need to be created using graph mode instead of KV tables
- AbstractUnAlignedWorker.java: LoadGraphProcessEvent needs to be aligned : [issue-609](https://github.com/apache/geaflow/issues/609)
- UnAlignedComputeWorker.java: Dynamic/streaming scenario handling needs to be improved [issue-660](https://github.com/apache/geaflow/issues/660)
2. Hard-coded and magic numbers
I found many hard-coded strings and numbers:
- ClusterConstants.java: Various prefixes and constants can be extracted as configuration
- NettyMessage.java: The magic number 0xBADC0FFE needs to be constantized
- StringLiteralUtil.java: The multiplier array {1000, 100, 10, 1} needs to be constantized.
- LocalClient.java: The JSON template string needs to be extracted.
3. Exception Handling Improvements
Identified several areas for exception handling improvements:
- ErrorApiResponse.java: Exception classification logic can be more refined.
- ComponentUncaughtExceptionHandler.java: Exception handling can be more elegant.
- SliceOutputChannelHandler.java: Exception handling can be more specific.
4. Code Duplication
Identified several duplicate code patterns:
- ListUtil.java: Duplicate logic in collection operations.
- FunctionCallUtils.java: Duplicate code in type mapping.
- QueryTester.java: Duplicate file reading logic.
In addition, I've noticed some issues with similarity calculations, such as Jaccard similarity and node similarity. Overall, the community's future plans fall into two main areas: 1. Increasing and maintaining basic capabilities; 2. Expanding GNN sampling and AI+graph capabilities. Does anyone have any additional comments? Feel free to discuss!
Contributor guide
Research direction
This is a broad roadmap rather than a single change; begin by selecting one named file, such as PipelineUtil.java or NettyMessage.java, and follow its linked issue where provided. No tests are named, so define the selected item's scope and validation before starting; done should be a separately scoped improvement with clear completion criteria.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend, distributed-systems, stream-processing
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100