Fix DirRemover should sync before delete mark file#658
Conversation
|
Hello. You can check the make release-victoria-logsor the following for docker image make package-victoria-logssee: https://docs.victoriametrics.com/victorialogs/quickstart/#building-from-source-code |
|
@jiekun thanks! I've found the Dockerfile in |
|
@jiekun I'll run this image for 1 day and observe the deletion behavior. |
That should work. Just in case we have some other necessary things for building the image, I will still recommend using the makefile, and use these super simple commands for compiling binary and docker image, maybe for next time. |
|
@jiekun Thanks for your suggestions! I'll use Makefile next time. And should I push a PR against the original repo instead of in the vendor dir? |
|
Please create a PR in the VictoriaMetrics repository and wait for it to be merged. After that, you can update the |
|
(Maybe it's worth mentioning it in the contributor guide, regarding how we vendor dependencies and where changes should be made to.) |
|
hi @func25 @jiekun I open a new PR in repo VictoriaMetrics VictoriaMetrics/VictoriaMetrics#9709, and this PR will be closed. |
Some VictoriaMetrics organization's repos vendor each others. To avoid pull request like VictoriaMetrics/VictoriaLogs#658, this pull request adds contributing guide for vendor package. Related: VictoriaMetrics/VictoriaLogs#659
Some VictoriaMetrics organization's repos vendor each others. To avoid pull request like VictoriaMetrics/VictoriaLogs#658, this pull request adds contributing guide for vendor package. Related: VictoriaMetrics/VictoriaLogs#659
Describe Your Changes
This PR is trying to fix #649.
I deploy victorialogs in k8s, and mount a OSSFS2 persistent volume as the data directory. The vl pod meets the panic issue described in #649.
And I read the source code of dir_remover.go, and I found that operation sequence is
And When I use fuse-based cloud FS, there is a metadata cache. If removing the delete file is completed, the metadata is not newest, it will meet the
dir not emptyerror.So in this PR, I will change the opeartion sequece to
Checklist
The following checks are mandatory: