Currently this is not really enforced via an interface
Implementation needs to map it to respective state store concepts (which if fine, but tricky at times)
The implementation itself requires "if-else" for concurrency and consistency, and then choosing the right "API call"
I was trying to play around with a state store implementation for couchbase and these ^ thoughts popped up during that process
I wonder if it's possible to make this easier? Also, I see that some of the state store implementations do not take this (consistency, concurrency etc.) into account
Yes, that's why the consistency/concurrency are optional as part of the request. A state store does not have to implement them. We will extend the docs on supported state stores to extend the table and show which stores enable those features.
That doc is outdated.. it references a spec that is not in use anymore. These behaviors are not required.
Thanks. For Dapr state stores, consistency is either "eventual" or "strong", but that is not the case with every database. Classic e.g. is Cassandra which has the equivalent of ALL (all replicas) or ANY (at least one node) for "strong" and "eventual" respectively, but also has other consistency levels e.g. QUORUM, ONE, TWO etc. How can state store implementations account for these?
Because Dapr defines eventual or strong, a state store can either account for these two, or none. In order to account for extra settings, implementations can use the metadata fields that can be set with every state request, and map these to the specific implementation of the store.
Hey, is anybody free to run a quick test for me to validate a fix on this PR (dapr/components-contrib#186). It looks to address a bug in the Azure ServiceBus pubsub component when the network disconnects. If so, let me know and I can explain in more detail over DM (p.s. you will need an Azure ServiceBus to use).
hello, created a new output bining component for alicloud objectstorage service and raised a pull rquest, this is my firsttime contributing to dapr, dapr/components-contrib#278. please let me know. Created tests, updated the dapr file (main.go) and tested with alicloud.