Georges Chaudy
1162fa5104
kvstore: Add optimistic locking for unified resource storage backend ( #113230 )
...
* Add optimistic concurrency
* add optimistic concurrency
* fix test
* nit
* fix tests for sql
* fix tests for sql
* rebase fix
* add one more check
* Implement GetLatestAndPredecessor method in datastore and add corresponding tests. This new functionality retrieves the latest resource version and its immediate predecessor, handling cases for single and non-existent resources. Update WriteEvent to utilize this method for improved optimistic concurrency control.
* Enhance optimistic concurrency control in WriteEvent method. Added checks for concurrent create operations to ensure only one succeeds, preventing race conditions. Updated tests to validate this behavior with multiple concurrent create attempts.
* lint
* Refactor optimistic concurrency check in WriteEvent method. Simplified the logic by removing unnecessary condition for single version existence, ensuring more robust handling of concurrent modifications.
2025-11-14 10:42:39 +01:00
Georges Chaudy and Peter Štibraný
696657bdd1
unistore: add kv based storage backend ( #107305 )
...
* Add datastore
* too many slashes
* lint
* add metadata store
* simplify meta
* Add eventstore
* golint
* lint
* Add datastore
* too many slashes
* lint
* pr comments
* extract ParseKey
* readcloser
* remove get prefix
* use dedicated keys
* parsekey
* sameresource
* unrelated
* name
* renmae tests
* add key validation
* fix tests
* refactor a bit
* lint
* allow empty ns
* get keys instead of list
* rename the functions
* refactor yield candidate
* update test
* unistore: add LastResourceVersion to datastore
* lint
* use map string
* missing err check
* fix
* Add storage backend
* remove hasmore
* fix tests
* small refactor
* pre-alloc
* extract the folder
* lint
* refactor
* handle context canceled in ListHistory to pass the tests
* fix the resource test
* unistore: provide generic tests for the kv interface (#107443 )
unistore: move the kv tests to the testing package
* Update pkg/storage/unified/resource/storage_backend_test.go
Co-authored-by: Peter Štibraný <pstibrany@gmail.com >
* address comments
* comments
* comments
* comments
* normalise the names and add helper method
* events comments
* rename function
---------
Co-authored-by: Peter Štibraný <pstibrany@gmail.com >
2025-07-02 10:57:37 +00:00
Jean-Philippe Quéméner
a13fe75de8
refactor(unified-storage): set the GUID in the resource server ( #105683 )
2025-05-21 09:49:49 +02:00
Jean-Philippe Quéméner
002f46736a
refactor(unified-storage): move generated protos to own pkg ( #105356 )
2025-05-15 21:36:52 +02:00
Peter Štibraný
b4c4b9abbd
Remove embedded WriteEvent from WrittenEvent struct, to avoid having unnecessary fields. ( #101081 )
2025-02-20 17:34:25 +01:00
Georges Chaudy
c3571752b6
Unitstore: Fix the Folder migration ( #96078 )
...
* UniStore: Add folder to the SQL backend
This reverts commit aaa4f4a23e .
* fix folder migration
2024-11-12 12:52:04 +01:00
Leonor Oliveira
aaa4f4a23e
Revert "UniStore: Add folder to the SQL backend" ( #95966 )
...
Revert "UniStore: Add folder to the SQL backend (#95671 )"
This reverts commit f075662696 .
2024-11-06 17:04:57 +02:00
Georges Chaudy
f075662696
UniStore: Add folder to the SQL backend ( #95671 )
...
* Add folder to the SQL backend
* remove unused key
* fix tests
* Return folders from watch
2024-11-05 10:37:23 +01:00
Ryan McKinley
07c2d886fa
Storage: prepare in resource bytes in storage.Interface, not the backend ( #90513 )
...
* prepare in k8s
* prepare in k8s
* prepare in k8s
* simplify event creation
* decode the inputs
2024-07-17 07:40:03 -07:00
Ryan McKinley
079f0715aa
ResourceServer: Add resource server protobuf and wrapper ( #90007 )
2024-07-09 15:08:13 -07:00