You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Raftlog-gc worker does the actual log deletion work asynchronously. Since the result of GC has not been sent, when a certain RaftLogGCTask is not successfully processed, the LastCompactedIdx is still updated in the ScheduleCompactLog function. I think this may cause some logs to not be collected for a long time.
It's only used in tests, and the test always init the channel at first.
Thank you for your reply. I found that in line 282 of the file kv/raftstore/raftstore. go, the raftLogGCTaskHandler was used again, and the pipeline was not initialized in advance. When we complete the code in project 2c and run the corresponding tests, the program will also enter the member function of the raftLogGCTaskHandler for execution. And I think it is unsafe to update LastCompletedIdx asynchronously, and submitted a pr to try to fix it. #441
When executing the project2c test, in the function startWorkers, when raftLogGCWorker is started, the taskResCh in raftLogGCTaskHandler is nil.
It caused collected not to be sent as expected in the function reportCollected.
Raftlog-gc worker does the actual log deletion work asynchronously. Since the result of GC has not been sent, when a certain RaftLogGCTask is not successfully processed, the LastCompactedIdx is still updated in the ScheduleCompactLog function. I think this may cause some logs to not be collected for a long time.
The text was updated successfully, but these errors were encountered: