Skip to content

chore: remove legacy backends - #3116

Merged
imbajin merged 16 commits into
apache:masterfrom
LegendPei:chore/remove-legacy-backends-plan
Jul 27, 2026
Merged

chore: remove legacy backends#3116
imbajin merged 16 commits into
apache:masterfrom
LegendPei:chore/remove-legacy-backends-plan

Conversation

@LegendPei

@LegendPei LegendPei commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

Purpose of the PR

Remove the backend implementations that have been unsupported since 1.7.0, and
clean up their related build, distribution, test, release, and documentation
artifacts.

Main Changes

  • Remove Cassandra, ScyllaDB, MySQL, PostgreSQL, and Palo backend modules.
  • Remove related Maven dependencies, distribution JAR entries, Docker/CI scripts,
    test cases, backend-specific runtime branches, and logging configuration.
  • Clean obsolete release dependencies, LICENSE/NOTICE entries, and license files.
  • Remove Cassandra-specific initialization retry handling and use generic backend
    initialization retries instead.
  • Update README and HBase runbook:
    • 1.7.0+ supports RocksDB, HStore, HBase, and Memory only.
    • Historical versions earlier than 1.7.0 supported MySQL, PostgreSQL,
      Cassandra, ScyllaDB, and Palo.

Verifying these changes

  • Trivial rework / code cleanup without any test coverage. (No Need)
  • Already covered by existing tests, such as (please modify tests here).
  • Need tests and can be verified as follows:
    • xxx

Does this PR potentially affect the following parts?

Documentation Status

  • Doc - TODO
  • Doc - Done
  • Doc - No Need

@dosubot dosubot Bot added the size:XXL This PR changes 1000+ lines, ignoring generated files. label Jul 25, 2026
@LegendPei

Copy link
Copy Markdown
Contributor Author

@imbajin Hello, this pull request (PR) involves significant changes. I'm not sure if I misunderstood the meaning of this issue and made some incorrect deletions or modifications. Should I delete the old backend code such as MySQL, or just remove dependencies or registry center-related code?

@imbajin

imbajin commented Jul 25, 2026

Copy link
Copy Markdown
Member

@imbajin Hello, this pull request (PR) involves significant changes. I'm not sure if I misunderstood the meaning of this issue and made some incorrect deletions or modifications. Should I delete the old backend code such as MySQL, or just remove dependencies or registry center-related code?

Your understanding is correct. Our main goal is to gradually remove these unmaintained backends, along with all related code and LICENSE files, to keep the repository clean.

You're also welcome to join our organization to connect and learn—just send me an email so I can invite you!

@imbajin imbajin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The legacy backend removal is directionally correct, but the distribution and release inventories still need cleanup before merge.

🧹 Minor: Please also remove the obsolete root-POM RAT exclusion **/apache-cassandra-*/**. Its corresponding generated test data/script has been removed, so retaining the exclusion could allow future matching files to bypass license checks.

Comment thread hugegraph-server/hugegraph-dist/pom.xml Outdated
Comment thread install-dist/scripts/dependency/known-dependencies.txt Outdated
Comment thread install-dist/release-docs/LICENSE Outdated

@imbajin imbajin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The previous functional, packaging, dependency, and license findings are resolved. This follow-up contains two remaining behavior/test issues plus repository-context cleanup; HBase is intentionally retained as deprecated pending its planned 2.0 removal.

Comment thread README.md Outdated
@codecov

codecov Bot commented Jul 26, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 7 lines in your changes missing coverage. Please review.
✅ Project coverage is 32.16%. Comparing base (c10779d) to head (fa65e25).

Files with missing lines Patch % Lines
...apache/hugegraph/security/HugeSecurityManager.java 0.00% 6 Missing ⚠️
.../main/java/org/apache/hugegraph/cmd/InitStore.java 0.00% 1 Missing ⚠️

❗ There is a different number of reports uploaded between BASE (c10779d) and HEAD (fa65e25). Click for more details.

HEAD has 3 uploads less than BASE
Flag BASE (c10779d) HEAD (fa65e25)
4 1
Additional details and impacted files
@@             Coverage Diff              @@
##             master    #3116      +/-   ##
============================================
- Coverage     37.48%   32.16%   -5.33%     
+ Complexity      520      264     -256     
============================================
  Files           808      770      -38     
  Lines         69594    65772    -3822     
  Branches       9169     8725     -444     
============================================
- Hits          26089    21153    -4936     
- Misses        40720    42172    +1452     
+ Partials       2785     2447     -338     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@imbajin imbajin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Follow-up review on the updated cleanup. The runtime, build-profile, dependency-inventory, and previously reported test issues are resolved. One additional low-priority documentation cleanup remains outside the changed lines: 🧹 hugegraph-server/README.md:11 still ends its built-in backend list with /..., which suggests additional built-in implementations remain after this removal. Please list the remaining implementations explicitly; custom backend extensibility is already described by the rest of the sentence.

Comment thread install-dist/release-docs/LICENSE
Comment thread README.md Outdated
Comment thread .serena/project.yml
Comment thread README.md Outdated
LegendPei and others added 6 commits July 26, 2026 23:38
- replace the verbose backend list with a three-stage timeline
- center transitions between the 1.0, 1.5, and 2.x milestones
- retain historical, deprecated, and test-only guidance
- streamline the deployment diagram around RocksDB and PD plus HStore
- move lifecycle details behind the server compatibility guide
- mark HBase test usage as deprecated compatibility
- retain the server and backend component boxes in the ASCII diagram
- show HugeGraph-PD and HStore as separate distributed components
- keep removed legacy backends out of the current topology
@imbajin
imbajin force-pushed the chore/remove-legacy-backends-plan branch from a47c18a to fa65e25 Compare July 27, 2026 08:54
@dosubot dosubot Bot added the lgtm This PR has been approved by a maintainer label Jul 27, 2026
@imbajin
imbajin merged commit f8e7abf into apache:master Jul 27, 2026
16 of 18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lgtm This PR has been approved by a maintainer size:XXL This PR changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Breaking Change] Remove unnecessary backend and all related things

2 participants