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

Lotus Daemon chain prune broken on 1.18.0 #9697

Open
7 of 8 tasks
RobQuistNL opened this issue Nov 22, 2022 · 4 comments
Open
7 of 8 tasks

Lotus Daemon chain prune broken on 1.18.0 #9697

RobQuistNL opened this issue Nov 22, 2022 · 4 comments
Labels
area/chain Area: Chain kind/bug Kind: Bug need/community-input Hint: Needs Community Input

Comments

@RobQuistNL
Copy link
Contributor

RobQuistNL commented Nov 22, 2022

Checklist

  • This is not a security-related bug/issue. If it is, please follow please follow the security policy.
  • This is not a question or a support request. If you have any lotus related questions, please ask in the lotus forum.
  • This is not a new feature request. If it is, please file a feature request instead.
  • This is not an enhancement request. If it is, please file a improvement suggestion instead.
  • I have searched on the issue tracker and the lotus forum, and there is no existing related issue or discussion.
  • I am running the Latest release, or the most recent RC(release canadiate) for the upcoming release or the dev branch(master), or have an issue updating to any of these.
  • I did not make any code changes to lotus.

Lotus component

  • lotus daemon - chain sync

Lotus Version

1.18.0

Describe the Bug

The panic says enough;

panic: interface conversion: *blockstore.discardstore is not blockstore.BlockstoreIterator: missing method ForEachKey

goroutine 143496878 [running]:
github.com/filecoin-project/lotus/blockstore/splitstore.(*SplitStore).doPrune(0xc000273400, 0xc047b33800, 0x2?, 0xc0378e7f98)
        /home/filecoinnew/lotus/blockstore/splitstore/splitstore_prune.go:220 +0x93c
github.com/filecoin-project/lotus/blockstore/splitstore.(*SplitStore).prune(0x39eb180?, 0x0?, 0x0?, 0xc0004bd380?)
        /home/filecoinnew/lotus/blockstore/splitstore/splitstore_prune.go:131 +0x194
github.com/filecoin-project/lotus/blockstore/splitstore.(*SplitStore).HeadChange.func2()
        /home/filecoinnew/lotus/blockstore/splitstore/splitstore_compact.go:167 +0x2a5
created by github.com/filecoin-project/lotus/blockstore/splitstore.(*SplitStore).HeadChange
        /home/filecoinnew/lotus/blockstore/splitstore/splitstore_compact.go:140 +0x338

Repo Steps

  1. Run 1.18.0 with chain prune enabled
@RobQuistNL
Copy link
Contributor Author

In the slack, @TippyFlitsUK mentioned "you can't run a discard store with autoprune enabled"

But, when running the "discard" store and not enabling coldstoreautoprune, it looks like the chain data keeps growing to > 800gb

Also, the config docs do not state anything about this behaviour.

@TippyFlitsUK
Copy link
Contributor

Hey Rob 👋

You are absolutely correct, running discard mode with AutoPrune enabled will result in this error.

There is a known issue with pruning in 1.18.0. New pruning logic will land in 1.19.0 which is currently in testing with the RC1.

I know you are not a big fan of installing RCs so you'll need to hold on for stable 1.19.0 to be released for a resolution I'm afraid.

Many thanks! 🙏

@TippyFlitsUK TippyFlitsUK added need/community-input Hint: Needs Community Input area/chain Area: Chain kind/bug Kind: Bug and removed kind/bug Kind: Bug need/triage labels Nov 22, 2022
@rwxr-xr-x
Copy link

Currently have same crash.
BTW I run discard+autoprune on 1.16.1, 1.17.2 and few months was without any issues. On 1.18.0 start to crash.

@RobQuistNL
Copy link
Contributor Author

Same here, looks like it works fine on 1.17.2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/chain Area: Chain kind/bug Kind: Bug need/community-input Hint: Needs Community Input
Projects
None yet
Development

No branches or pull requests

3 participants