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

the object will delete more times when curvefs trash inode #2774

Closed
SeanHai opened this issue Sep 25, 2023 · 2 comments
Closed

the object will delete more times when curvefs trash inode #2774

SeanHai opened this issue Sep 25, 2023 · 2 comments
Labels
bug Something isn't working

Comments

@SeanHai
Copy link
Contributor

SeanHai commented Sep 25, 2023

Describe the bug (描述bug)

截屏2023-09-25 16 08 32

We found this object have been deleted from each metaserver:
image

To Reproduce (复现方法)

Expected behavior (期望行为)

Versions (各种版本)

found in v2.6

OS:
Compiler:
branch:
commit id:

Additional context/screenshots (更多上下文/截图)

@SeanHai SeanHai added the bug Something isn't working label Sep 25, 2023
@SeanHai
Copy link
Contributor Author

SeanHai commented Sep 25, 2023

原因:

  1. 目前trash是在metaserver端,每个partition有一个独立的trash线程,会周期性遍历待删除队列,发现满足删除条件即删除inode对应的object和元数据,这样会造成三个副本独立的删除某个inode,当其中一个副本删除对象后,其他副本再次删除时造成了上面描述的问题。
  2. Error日志打印存在不合理性,不应该在s3_adpter common模块中进行错误日志打印,应该上层调用出根据语义进行日志处理。

@SeanHai
Copy link
Contributor Author

SeanHai commented Sep 25, 2023

解决方案:

  1. 临时性处理可先进行日志和幂等性逻辑处理
  2. 整个trash的方案可能需要重新整理下 因为还存在重启丢失的问题:[curvefs/metaserver] The trash module will lose the current processing inode information that needs to be deleted after a system reboot. #2507

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants