Skip to content

fix: warn and override non-CAT mempool type#6574

Merged
rootulp merged 6 commits intocelestiaorg:mainfrom
rootulp:rootulp/error-on-non-cat-mempool
Feb 18, 2026
Merged

fix: warn and override non-CAT mempool type#6574
rootulp merged 6 commits intocelestiaorg:mainfrom
rootulp:rootulp/error-on-non-cat-mempool

Conversation

@rootulp
Copy link
Collaborator

@rootulp rootulp commented Feb 14, 2026

Closes #6573
Blocked on a release with celestiaorg/celestia-core#2811

Summary

  • Replace the silent override of non-CAT mempool types with a warning log and override to CAT
  • Add overrideMempoolType function that runs before the bypass-config-overrides flag check (non-CAT mempools are fundamentally unsupported and must not be bypassable)
  • Remove the silent mempool type override from overrideMempoolConfig
  • Update release notes to document the new behavior

A companion PR in celestia-core removes the mempool type field from the config.toml template so new config files no longer expose it: celestiaorg/celestia-core#2811

Test plan

  • make build compiles successfully
  • go test -v -run TestOverrideP2PConfig ./cmd/celestia-appd/cmd/ — all tests pass
  • go test -v -run TestOverrideMempoolType ./cmd/celestia-appd/cmd/ — unit tests pass
  • markdownlint docs/release-notes/release-notes.md — no lint errors
  • Verify that a node with type = "flood" in config.toml starts with a warning and overrides to CAT
  • Verify that a node with type = "cat" starts normally without a warning
  • Verify that --bypass-config-overrides does NOT bypass the mempool type override

🤖 Generated with Claude Code

#### Config Changes

No configuration changes are required for v7. Existing v6 configurations remain compatible.
celestia-app now returns a startup error if the mempool type is not `cat`. Previously, non-CAT mempool types (e.g. `flood`) were silently overridden to `cat` at startup. If your `config.toml` uses a different mempool type, update the `[mempool]` section:
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

This isn't technically true because the override would log a message.

Copy link
Member

@rach-id rach-id left a comment

Choose a reason for hiding this comment

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

IMO we should just remove the config from config.toml. It's easier to just run the binary than to read the logs, see what's wrong, etc

@rootulp rootulp marked this pull request as draft February 16, 2026 19:11
@rootulp
Copy link
Collaborator Author

rootulp commented Feb 16, 2026

FLUPs:

  1. Remove the mempool config field
  2. Make the default config file not have a mempool config
  3. Add a warning if a user still has a mempool specified in config file

@rootulp rootulp changed the title fix!: error on non-CAT mempool type instead of silent override fix!: warn and override non-CAT mempool type instead of silent override Feb 16, 2026
@rootulp rootulp changed the title fix!: warn and override non-CAT mempool type instead of silent override fix!: warn and override non-CAT mempool type Feb 16, 2026
@rootulp rootulp requested a review from rach-id February 16, 2026 23:29
@rootulp rootulp changed the title fix!: warn and override non-CAT mempool type fix: warn and override non-CAT mempool type Feb 16, 2026
@rootulp rootulp marked this pull request as ready for review February 16, 2026 23:29
rootulp and others added 4 commits February 16, 2026 17:27
Replace the silent override of non-CAT mempool types with a hard startup
error. Previously, celestia-app silently changed flood mempools to CAT,
masking misconfiguration. Now operators must explicitly set type = "cat"
in the [mempool] section of config.toml.

The mempool type validation runs before the bypass-config-overrides flag
check because non-CAT mempools are fundamentally unsupported.

Closes celestiaorg#6573

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Instead of returning a startup error for non-CAT mempool types, warn
and override to CAT. This is less disruptive for existing users whose
config.toml may still contain a mempool type field.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@rootulp rootulp force-pushed the rootulp/error-on-non-cat-mempool branch from 163ece0 to 6c7bbe8 Compare February 17, 2026 01:27
@rootulp rootulp enabled auto-merge February 17, 2026 01:29
rach-id
rach-id previously approved these changes Feb 17, 2026
ninabarbakadze
ninabarbakadze previously approved these changes Feb 17, 2026
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@rootulp rootulp dismissed stale reviews from ninabarbakadze and rach-id via c235b88 February 17, 2026 14:17
@rootulp rootulp requested review from ninabarbakadze and rach-id and removed request for cmwaters and evan-forbes February 17, 2026 14:17
Copy link
Member

@ninabarbakadze ninabarbakadze left a comment

Choose a reason for hiding this comment

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

merge conflict

@rootulp rootulp added this pull request to the merge queue Feb 18, 2026
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Feb 18, 2026
@rootulp rootulp added this pull request to the merge queue Feb 18, 2026
Merged via the queue into celestiaorg:main with commit e5ea62d Feb 18, 2026
45 checks passed
@rootulp rootulp deleted the rootulp/error-on-non-cat-mempool branch February 18, 2026 18:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Deprecate and remove the non CAT mempools

3 participants

Comments