linq2dynamodb icon indicating copy to clipboard operation
linq2dynamodb copied to clipboard

Implement optimistic locking #8

Open danieljurek opened this issue 8 years ago • 2 comments

  • No more bulk operations for CUD, using async tasks instead
  • Removing entities also respects version field
  • Update caching behavior to handle partial failure in optimistic locking scenario

danieljurek avatar Mar 24 '17 18:03 danieljurek

[Discussion belongs in the PR, not on the issue] Andy and I work together and I'm helping with this PR.

The PR brings up a few things I want to make sure fit into the design moving forward:

  • If a CUD operation fails we'll get an AggregateException with a ConditionalCheckFailedException but no detail about the entity for which the check failed. We should probably create our own exception for this.
  • TableDefinitionWrapper has more complex add/update behavior.. We could probably put the responsibility of generating OperationConfigs in a different class.
  • We mutate an EntityWrapper's document in the CUD operation. There may be a better way to propagate document changes back to the entity.

danieljurek avatar Mar 24 '17 18:03 danieljurek

Was away for a while. Will have an updated PR soon.

danieljurek avatar Apr 04 '17 17:04 danieljurek