Skip to content

[cleanup] PIP-462: Remove Etcd metadata store backend - #25380

Merged
merlimat merged 1 commit into
apache:masterfrom
merlimat:pip-462-remove-etcd
Mar 24, 2026
Merged

[cleanup] PIP-462: Remove Etcd metadata store backend#25380
merlimat merged 1 commit into
apache:masterfrom
merlimat:pip-462-remove-etcd

Conversation

@merlimat

Copy link
Copy Markdown
Contributor

Summary

  • Remove Etcd metadata store implementation and tests
  • Remove jetcd-core-shaded module
  • Remove jetcd dependencies from pulsar-metadata and pulsar-broker
  • Remove Etcd-related SSL test certificates and OWASP suppressions

Motivation

PIP-462: #25319

The Etcd metadata store backend is not used in production deployments. The jetcd library is poorly maintained and brings in significant transitive dependencies, requiring a dedicated shading module. This increases the Pulsar tarball and Docker image size unnecessarily.

ZooKeeper remains the fully supported default metadata store, and Oxia is the supported alternative for users seeking a different backend.

For users who still need Etcd support, it can be maintained as an external plugin via the pulsar-java-contrib repository.

Documentation

  • doc-required

(If you update the PR title, please also update Title above, since they are
used in the release notes.)

  • doc-not-needed
    (Your PR doesn't need any doc update, such as a typo fix or an internal
    refactoring.)

  • doc-complete
    (If your PR needs doc update, please complete the PR in
    apache/pulsar-site.)

Matching PR in forked repository

N/A

Ready to test

  • ready-to-test

@github-actions github-actions Bot added the doc-complete Your PR changes impact docs and the related docs have been already added. label Mar 21, 2026
@merlimat merlimat changed the title [cleanup][metadata] PIP-462: Remove Etcd metadata store backend [cleanup] PIP-462: Remove Etcd metadata store backend Mar 21, 2026
@codecov-commenter

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 72.77%. Comparing base (a27988b) to head (068994e).
⚠️ Report is 4 commits behind head on master.

Files with missing lines Patch % Lines
...pulsar/metadata/impl/MetadataStoreFactoryImpl.java 0.00% 1 Missing and 1 partial ⚠️
Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff              @@
##             master   #25380      +/-   ##
============================================
- Coverage     72.81%   72.77%   -0.05%     
+ Complexity    33791    33697      -94     
============================================
  Files          1954     1952       -2     
  Lines        154793   154525     -268     
  Branches      17731    17698      -33     
============================================
- Hits         112716   112450     -266     
+ Misses        33066    33043      -23     
- Partials       9011     9032      +21     
Flag Coverage Δ
inttests 25.74% <0.00%> (-0.17%) ⬇️
systests 22.59% <0.00%> (+0.01%) ⬆️
unittests 73.74% <0.00%> (-0.05%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
...pulsar/metadata/impl/MetadataStoreFactoryImpl.java 76.19% <0.00%> (-4.30%) ⬇️

... and 78 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Remove EtcdMetadataStore, EtcdSessionWatcher, and the jetcd-core-shaded
shading module. Remove all jetcd dependencies from root pom, pulsar-metadata,
pulsar-broker, and distribution modules. Remove Etcd SSL test certificates,
OWASP suppressions, and Etcd references from config/license files.

A clear error message is now returned if a user configures an etcd: URL.
@merlimat
merlimat force-pushed the pip-462-remove-etcd branch from 1a03bff to 5660679 Compare March 24, 2026 19:37
@merlimat
merlimat merged commit 0ec3883 into apache:master Mar 24, 2026
53 of 54 checks passed
@merlimat
merlimat deleted the pip-462-remove-etcd branch March 24, 2026 20:57
@lhotari lhotari added this to the 4.3.0 milestone Mar 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

doc-complete Your PR changes impact docs and the related docs have been already added. ready-to-test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants