Any contributions from the open-source community to improve this project are welcome!
This project uses check-style plugins. Run some checks before you create a new pull request.
dev/reformat
Meanwhile, run some checks of web with changes of web module before you create a new pull request.
dev/reformat --web
If you have changed configuration, run following command to refresh docs.
UPDATE=1 build/mvn clean test -pl common -am -Dtest=none -DwildcardSuites=org.apache.celeborn.ConfigurationSuite
For collaboration, feel free to contact us on Slack.
To report a bug, you can just open a ticket on Jira
and attach the exceptions and your analysis if any. For other improvements, you can contact us or
open a Jira ticket first and describe what improvement you would like to do.
After reaching a consensus, you can open a pull request and your pull request
will get merged after reviewed.
There are already some further improvements on the schedule and welcome to contact us for collaboration:
- Flink support.
- Multi-tenant.
- Support Tez.
- Rolling upgrade.
- Multi-layered storage.
- Enhanced flow control.
- HA improvement.
- Enhanced K8S support.
- Support spilled data.
- Locality awareness.
When you add new RPC message, it's recommended to follow raw PB message case, for example
RegisterWorker
and RegisterWorkerResponse
. The RPC messages will be unified into raw PB messages eventually.
Error Prone is a static analysis tool for Java that catches common programming mistakes at compile-time.
To add the Error Prone plugin in IntelliJ IDEA, start the IDE and find the Plugins dialog. Browse Repositories, choose Category: Build, and find the Error-prone plugin. Right-click and choose 'Download and install'. The IDE will restart after you’ve exited these dialogs.
Allows to build projects using Error Prone Java compiler to catch common Java mistakes at compile-time. To use the compiler, go to 'File | Settings/Preferences | Build, Execution, Deployment | Compiler | Java Compiler' and select 'Javac with error-prone' in 'Use compiler' box.
When introducing a new dependency or bumping version of a dependency, you need to keep the dependency consistent with its LICENSE in LICENSE-binary to avoid missing the LICENSE of the dependency.