stream-registry
stream-registry copied to clipboard
Read-your-writes consistency
Desired Behavior
- Mutations should "wait" until their side-effects are realized in underlying data store before returning to the caller
- This approximates "read-your-writes"
- There should be a timeout that fails if "read-your-write" condition is not met by the timeout
Benefits
- Builds more quickly
- Builds are more reliable
- Hacks are not in place to ensure side-effects are propagated
See this as an example:
https://github.com/homeaway/hello-streams/blob/8fb25229513a26d61ea94952d1d0fa7f902703f2/order-processor/src/main/java/com/homeaway/streamplatform/hellostreams/orderprocessor/dao/OrderDao.java#L105-L106
and this:
https://github.com/homeaway/hello-streams/blob/8fb25229513a26d61ea94952d1d0fa7f902703f2/order-processor/src/main/java/com/homeaway/streamplatform/hellostreams/orderprocessor/dao/OrderDao.java#L72-L82
Would ideally want a completely consumer-based interaction as opposed to polling, but polling can be a good first start.