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
fields are missing in metadata when restarting #49
Comments
Can you share a snippet of your code on initially creating the cache, and then shutdown, and then recover? We have not seen the issue you described here. The logic throwing is this:
But on shutdown, if we have successfully shut down, we must have serialized the "nextPoolId" and stored in thrift structure.
So it's quite odd that on recovery you're hitting an error that complains this thrift field is not set. Can you add some debug code before throwing to print out the value of |
i agree it is very odd after checking the code. creating cache and recover
shutdown
|
@tangliisu few questions about the occurrence of the issue.
|
One thing that might be the cause is we use an old version of fbthrift which does not support accessing the thrift members through methods. So I just change the method _ref() in cachelib codebase to the thriftfields. On the changes related to nextPoolId, I change |
nvm i figured it out. it is a stupid typo. I change |
close the ticket |
When i enable the persistent cache by following the wiki, i meet the following error message
Memory Pool Manager can not be restored, nextPoolId is not set
when trying to attach the old cache instance
cache = std::make_unique<Cache>(Cache::SharedMemAttach, config);
Some more info:
auto res = cache.shutDown();
the metadata is successfully saved since
res == Cache::ShutDownStatus::kSuccess
cache = std::make_unique<Cache>(Cache::SharedMemAttach, config);
I checked the metadata file again. It is not empty (the size is 149B)
It seems nextPoolId is not serialized into metadata. Do you have any suggestion here?
The text was updated successfully, but these errors were encountered: