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

rocksdb.errors.Corruption: b'Corruption: Unknown Footer version. Maybe this file was created with newer version of RocksDB?' #105

Open
doliynyk-nference opened this issue Nov 3, 2022 · 0 comments

Comments

@doliynyk-nference
Copy link

This is now the third time I have run into this error. Previously I was not able to find a fix and simply changed my storage mechanism from rocksdb but in this case I am no longer able to.

Steps to Reproduce

  1. Create a rocksdb database using python-rocksdb 0.7.0 (installed through poetry if that matters)
  2. SCP the database onto a different machine with a different venv that also contains rocksdb 0.7.0
  3. Open the database on the second machine and attempt to use it (for example, create an iterator on it and attempt to read an item)
  4. Get the error rocksdb.errors.Corruption: b'Corruption: Unknown Footer version. Maybe this file was created with newer version of RocksDB?'

Things I Tried

  • Opening the db on the first machine to make sure the db is not corrupted. It works without any issue.
  • SCPing over the db from the second machine back to the first and trying to open it on the first machine to make sure the db didn't get corrupted while it was being moved. Opening and reading the moved shard back on the first machine works fine.
  • Reinstalling python-rocksdb 0.7.0 . Still get the same error.
  • Installing an identical environment from machine one onto machine two (copied over the pyproject.toml and installed it on machine two) to make sure no other packages are interfering to cause this error. Still get the same error using the copied environment.

I am assuming that the internal version of the actual rocksdb the python bindings are for is somehow different between the two machines. Is it possible to see what version of rocksdb the python binding is using? Has anyone encountered this error and found a fix?

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

No branches or pull requests

1 participant