Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

reindex-event command is not available anymore #2802

Open
andynog opened this issue Apr 12, 2024 · 3 comments
Open

reindex-event command is not available anymore #2802

andynog opened this issue Apr 12, 2024 · 3 comments
Labels
bug Something isn't working P:tech-debt Priority: Technical debt that needs to be paid off to enable us to move faster, reliably rpc
Milestone

Comments

@andynog
Copy link
Contributor

andynog commented Apr 12, 2024

Problem

While working on a un-related issue, I've noticed that the reindex-event command is not hooked-up in the CLI. I found this PR in the tendermint/tendermint repo where it was added to the CLI in v0.34.x.

Was this changed "lost" in CometBFT or did we disabled this command (I couldn't find any issue/PR for that in cometbft repo) ?

We need to decide if this is still a command that is useful (and if it actually works with all the storage changes made in cometbft).

If nobody complained so far, I'm wondering how important/needed this is.

The command doesn't show up in cometbft as an option:

 cometbft
BFT state machine replication for applications in any programming languages

Usage:
  cometbft [command]

Available Commands:
  debug                          A utility to kill or watch a CometBFT process while aggregating debugging data
  experimental-compact-goleveldb force compacts the CometBFT storage engine (only GoLevelDB supported)
  gen-node-key                   Generate a node key for this node and print its ID
  gen-validator                  Generate new validator keypair
  help                           Help about any command
  init                           Initialize CometBFT
  inspect                        Run an inspect server for investigating CometBFT state
  light                          Run a light client proxy server, verifying CometBFT rpc
  reset-state                    Remove all the data and WAL
  rollback                       rollback CometBFT state by one height
  show-node-id                   Show this node's ID
  show-validator                 Show this node's validator info
  start                          Run the CometBFT node
  testnet                        Initialize files for a CometBFT testnet
  unsafe-reset-all               (unsafe) Remove all the data and WAL, reset this node's validator to genesis state
  unsafe-reset-priv-validator    (unsafe) Reset this node's validator to genesis state
  version                        Show version info

But in tendermint it was available:

tendermint 
BFT state machine replication for applications in any programming languages

Usage:
  tendermint [command]

Available Commands:
  debug                          A utility to kill or watch a Tendermint process while aggregating debugging data
  experimental-compact-goleveldb force compacts the tendermint storage engine (only GoLevelDB supported)
  gen-node-key                   Generate a node key for this node and print its ID
  gen-validator                  Generate new validator keypair
  help                           Help about any command
  init                           Initialize Tendermint
  light                          Run a light client proxy server, verifying Tendermint rpc
  probe-upnp                     Test UPnP functionality
  reindex-event                  Re-index events to the event store backends
  replay                         Replay messages from WAL
  replay-console                 Replay messages from WAL in a console
  reset-state                    Remove all the data and WAL
  rollback                       rollback tendermint state by one height
  show-node-id                   Show this node's ID
  show-validator                 Show this node's validator info
  start                          Run the tendermint node
  testnet                        Initialize files for a Tendermint testnet
  unsafe-reset-all               (unsafe) Remove all the data and WAL, reset this node's validator to genesis state
  unsafe-reset-priv-validator    (unsafe) Reset this node's validator to genesis state
  version                        Show version info

Decision:

If there's agreement that this command is not needed anymore (lack of usage) or the effort to make it work again is to high (because of storage changes), we should remove it from cmd/cometbft/commands.

There is also the internal/progressbar dependency that is only there because this command and could also be removed.

This can reduce some bloat in the code.

@andynog andynog added bug Something isn't working P:tech-debt Priority: Technical debt that needs to be paid off to enable us to move faster, reliably needs-information Waiting for additional information or feedback labels Apr 12, 2024
@andynog andynog added this to the 2024-Q2 milestone Apr 12, 2024
@andynog andynog self-assigned this Apr 12, 2024
@andynog andynog added this to CometBFT Apr 12, 2024
@github-project-automation github-project-automation bot moved this to Todo in CometBFT Apr 12, 2024
@andynog andynog removed the needs-information Waiting for additional information or feedback label May 17, 2024
@andynog
Copy link
Contributor Author

andynog commented May 17, 2024

This command might be helpful on re-indexing transactions to fix problems where a tx cannot be returned in a /tx or /tx_search RPC call like here

@andynog andynog changed the title reindex-event command is not enabled (still needed?) reindex-event command is not available anymore May 17, 2024
@adizere adizere removed this from the 2024-Q2 milestone Jul 2, 2024
@andynog andynog added the rpc label Sep 4, 2024
@melekes
Copy link
Contributor

melekes commented Sep 5, 2024

If nobody complained for a year, we don't need it.

@a26nine
Copy link

a26nine commented Sep 5, 2024

If nobody complained for a year, we don't need it.

Well, it's an issue, for sure! There are no publicly available archive snapshots for CosmosHub apart from QuikSync. And, the QuikSync snapshot doesn't index the tx, so it's difficult to provide "full archive" access to the customers. It will be really beneficial to have this functionality in-place.

@andynog andynog added this to the 2024-Q4 milestone Sep 12, 2024
@andynog andynog removed their assignment Dec 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working P:tech-debt Priority: Technical debt that needs to be paid off to enable us to move faster, reliably rpc
Projects
Status: Todo
Development

No branches or pull requests

4 participants