apache / apache/geaflow

About the Future of Geaflow

Open
#632 2 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.