Unified storage kvstore bulk import support (#113791)

* implement batchdelete in datastore

* implement bulkprocess in kv storage_backend

* convert bulkRVs to snowflake
This commit is contained in:
Will Assis
2025-12-04 09:26:50 -05:00
committed by GitHub
parent 64a3c298cf
commit ae4d2324d6
4 changed files with 326 additions and 0 deletions
@@ -2950,6 +2950,42 @@ func TestDataStore_getGroupResources(t *testing.T) {
}
}
func TestDataStore_BatchDelete(t *testing.T) {
ds := setupTestDataStore(t)
ctx := context.Background()
keys := make([]DataKey, 95)
for i := 0; i < 95; i++ {
rv := node.Generate().Int64()
keys[i] = DataKey{
Namespace: "test-namespace",
Group: "test-group",
Resource: "test-resource",
Name: fmt.Sprintf("test-name-%d", i),
ResourceVersion: rv,
Action: DataActionCreated,
Folder: "test-folder",
}
content := fmt.Sprintf("test-value-%d", i)
err := ds.Save(ctx, keys[i], bytes.NewReader([]byte(content)))
require.NoError(t, err)
}
err := ds.batchDelete(ctx, keys)
require.NoError(t, err)
// Verify all events were deleted
for i := 0; i < 95; i++ {
_, err := ds.Get(ctx, DataKey{
Namespace: "test-namespace",
Group: "test-group",
Resource: "test-resource",
Name: fmt.Sprintf("test-name-%d", i),
})
require.Error(t, err, "Resource should have been deleted")
}
}
func TestDataStore_BatchGet(t *testing.T) {
ds := setupTestDataStore(t)
ctx := context.Background()