unistore: fix delete and db closed in kv store (#107918)

* fix delete and db closed

* fix tests
This commit is contained in:
Georges Chaudy
2025-07-10 11:34:36 +02:00
committed by GitHub
parent befc947fee
commit b6dd08da2f
6 changed files with 66 additions and 6 deletions
@@ -63,6 +63,7 @@ func (k *kvStorageBackend) WriteEvent(ctx context.Context, event WriteEvent) (in
}
rv := k.snowflake.Generate().Int64()
obj := event.Object
// Write data.
var action DataAction
switch event.Type {
@@ -87,10 +88,15 @@ func (k *kvStorageBackend) WriteEvent(ctx context.Context, event WriteEvent) (in
action = DataActionUpdated
case resourcepb.WatchEvent_DELETED:
action = DataActionDeleted
obj = event.ObjectOld
default:
return 0, fmt.Errorf("invalid event type: %d", event.Type)
}
if obj == nil {
return 0, fmt.Errorf("object is nil")
}
// Build the search document
doc, err := k.builder.BuildDocument(ctx, event.Key, rv, event.Value)
if err != nil {
@@ -119,7 +125,7 @@ func (k *kvStorageBackend) WriteEvent(ctx context.Context, event WriteEvent) (in
Name: event.Key.Name,
ResourceVersion: rv,
Action: action,
Folder: event.Object.GetFolder(),
Folder: obj.GetFolder(),
},
Value: MetaData{
IndexableDocument: *doc,
@@ -137,7 +143,7 @@ func (k *kvStorageBackend) WriteEvent(ctx context.Context, event WriteEvent) (in
Name: event.Key.Name,
ResourceVersion: rv,
Action: action,
Folder: event.Object.GetFolder(),
Folder: obj.GetFolder(),
PreviousRV: event.PreviousRV,
})
if err != nil {