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

Issue with Remote Compaction #13181

Open
xiebinlin opened this issue Dec 4, 2024 · 0 comments
Open

Issue with Remote Compaction #13181

xiebinlin opened this issue Dec 4, 2024 · 0 comments

Comments

@xiebinlin
Copy link

Description&Problem:

I am currently using the remote compaction feature in RocksDB. On the client side, I implement Schedule and Wait, and it acts as the primary DB. On the server side, I use OpenAndCompact, and it serves as the secondary DB.

The first remote compaction works as expected. However, during the second remote compaction attempt, the server encounters an error:【 IO error: GetFileSize failed】

This error occurs because the server attempts to call GetFileSize to access the SST files on the client side, but the SST files have already been deleted.

Investigation:

I found the reason is as follows:

During the first remote compaction, the client side successfully loads the SST files sent from the server and deletes some SST files. At the same time, the manifest log is appended.

On the second remote compaction, when OpenAndCompact is called, it loads the manifest. However, it still tries to read the deleted SST files, leading to the error mentioned above.

Concern:

I am unsure if this behavior is intended. My expectation is that, while loading the manifest in OpenAndCompact, it should not attempt to read SST files that have been deleted. This seems to be causing the issue.

Any insights or guidance on this matter would be greatly appreciated. Thank you!

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