EventStoreDB流删除失败求助:调用DeleteAsync后流仍存在
环境信息
- 技术栈:C#、.NET 8
- EventStoreDB版本:v23.10.0.0
- Client SDK版本:EventStore.Client.Grpc.Streams 23.3.9
问题描述
调用DeleteAsync方法传入流的最后一个事件位置尝试删除流,但流始终未被移除。此前执行scavenge操作后流会消失,现在该操作失效;重复启动事件删除工具时,能找到已标记删除的事件,但事件位置每次都发生变化,多次执行scavenge后问题仍未解决。
相关代码
var delRes = await eventStoreClient.DeleteAsync(e.Event.EventStreamId, StreamRevision.FromStreamPosition(e.Event.EventNumber)); Console.WriteLine( $"Deleted event: {e.Event.EventId}, created at: {e.Event.Created}, in stream: {e.Event.EventStreamId}, of type: {e.Event.EventType}. Position: {delRes.LogPosition}");
执行日志
删除事件:65902794-2794-2794-2794-174965902794,创建时间:11.06.2025 16:23:54,流:registration-5d868369-b670-4078-a720-80a79ad8aad1,类型:yyyyyy.regisatrationtest。位置:C:1342178747/P:1342178747
scavenge已启动并完成
情况依旧:流仍存在,所有事件都还在删除事件:65902794-2794-2794-2794-174965902794,创建时间:11.06.2025 16:23:54,流:registration-5d868369-b670-4078-a720-80a79ad8aad1,类型:yyyyyy.regisatrationtest。位置:C:1610614209/P:1610614209
scavenge已启动并完成
情况依旧:流仍存在,所有事件都还在删除事件:65902794-2794-2794-2794-174965902794,创建时间:11.06.2025 16:23:54,流:registration-5d868369-b670-4078-a720-80a79ad8aad1,类型:yyyyyy.regisatrationtest。位置:C:1879049659/P:1879049659
0@$scavenges-068d5f21-c6c3-4bbc-8f47-10a560fc36bc $scavengeStarted, completed
情况依旧:流仍存在,所有事件都还在
内容的提问来源于stack exchange,提问作者Maxim Kitsenko

