-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ringbuffer] Keep primary and backups consistent in case of a store failure #11209
Labels
Milestone
Comments
blazember
added a commit
to blazember/hazelcast
that referenced
this issue
Jan 11, 2018
- Define contracts and interactions between Ringbuffer and RingbufferStore - Format Ringbuffer javadoc - Bring terms and spelling to a common ground (ringbuffer -> Ringbuffer, entries -> items etc) - Resolves contradiction between reference manual and javadoc: manual: "Hazelcast Ringbuffer is a distributed data structure..." javadoc: "Ringbuffer currently is not a distributed data-structure..." Fixes hazelcast#11209
blazember
added a commit
to blazember/hazelcast
that referenced
this issue
Jan 11, 2018
- Define contracts and interactions between Ringbuffer and RingbufferStore - Format Ringbuffer javadoc - Bring terms and spelling to a common ground (ringbuffer -> Ringbuffer, entries -> items etc) - Resolves contradiction between reference manual and javadoc: manual: "Hazelcast Ringbuffer is a distributed data structure..." javadoc: "Ringbuffer currently is not a distributed data-structure..." Fixes hazelcast#11209
blazember
added a commit
to blazember/hazelcast
that referenced
this issue
Jan 11, 2018
- Define contracts and interactions between Ringbuffer and RingbufferStore - Format Ringbuffer javadoc - Bring terms and spelling to a common ground (ringbuffer -> Ringbuffer, entries -> items etc) - Resolves contradiction between reference manual and javadoc: manual: "Hazelcast Ringbuffer is a distributed data structure..." javadoc: "Ringbuffer currently is not a distributed data-structure..." Fixes hazelcast#11209
blazember
added a commit
to blazember/hazelcast
that referenced
this issue
Jan 15, 2018
- Fail Ringbuffer add operations (add, addAsync, addAllAsync) in case the underlying store throws an exception - Define contracts and interactions between Ringbuffer and RingbufferStore - Format Ringbuffer javadoc - Bring terms and spelling to a common ground (ringbuffer -> Ringbuffer, entries -> items etc) - Resolves contradiction between reference manual and javadoc: manual: "Hazelcast Ringbuffer is a distributed data structure..." javadoc: "Ringbuffer currently is not a distributed data-structure..." Fixes hazelcast#11209
blazember
added a commit
to blazember/hazelcast
that referenced
this issue
Jan 15, 2018
- Fail Ringbuffer add operations (add, addAsync, addAllAsync) in case the underlying store throws an exception - Define contracts and interactions between Ringbuffer and RingbufferStore - Format Ringbuffer javadoc - Bring terms and spelling to a common ground (ringbuffer -> Ringbuffer, entries -> items etc) - Resolves contradiction between reference manual and javadoc: manual: "Hazelcast Ringbuffer is a distributed data structure..." javadoc: "Ringbuffer currently is not a distributed data-structure..." Fixes hazelcast#11209
blazember
added a commit
to blazember/hazelcast
that referenced
this issue
Jan 15, 2018
- Fail Ringbuffer add operations (add, addAsync, addAllAsync) in case the underlying store throws an exception - Define contracts and interactions between Ringbuffer and RingbufferStore - Format Ringbuffer javadoc - Bring terms and spelling to a common ground (ringbuffer -> Ringbuffer, entries -> items etc) - Resolves contradiction between reference manual and javadoc: manual: "Hazelcast Ringbuffer is a distributed data structure..." javadoc: "Ringbuffer currently is not a distributed data-structure..." Fixes hazelcast#11209
blazember
changed the title
[ringbuffer] RingBuffer Store failure scenarios not documented/loose contract
[ringbuffer] Keep primary and backups consistent in case of a store failure
Jan 15, 2018
blazember
added a commit
to blazember/hazelcast
that referenced
this issue
Jan 16, 2018
- Fail Ringbuffer add operations (add, addAsync, addAllAsync) in case the underlying store throws an exception - Define contracts and interactions between Ringbuffer and RingbufferStore - Format Ringbuffer javadoc - Bring terms and spelling to a common ground (ringbuffer -> Ringbuffer, entries -> items etc) - Resolves contradiction between reference manual and javadoc: manual: "Hazelcast Ringbuffer is a distributed data structure..." javadoc: "Ringbuffer currently is not a distributed data-structure..." Fixes hazelcast#11209
blazember
added a commit
to blazember/hazelcast
that referenced
this issue
Jan 16, 2018
- Fail Ringbuffer add operations (add, addAsync, addAllAsync) in case the underlying store throws an exception - Define contracts and interactions between Ringbuffer and RingbufferStore - Format Ringbuffer javadoc - Bring terms and spelling to a common ground (ringbuffer -> Ringbuffer, entries -> items etc) - Resolves contradiction between reference manual and javadoc: manual: "Hazelcast Ringbuffer is a distributed data structure..." javadoc: "Ringbuffer currently is not a distributed data-structure..." Fixes hazelcast#11209
blazember
added a commit
to blazember/hazelcast
that referenced
this issue
Jan 17, 2018
- Fail Ringbuffer add operations (add, addAsync, addAllAsync) in case the underlying store throws an exception - Define contracts and interactions between Ringbuffer and RingbufferStore - Format Ringbuffer javadoc - Bring terms and spelling to a common ground (ringbuffer -> Ringbuffer, entries -> items etc) - Resolves contradiction between reference manual and javadoc: manual: "Hazelcast Ringbuffer is a distributed data structure..." javadoc: "Ringbuffer currently is not a distributed data-structure..." Fixes hazelcast#11209
blazember
added a commit
that referenced
this issue
Jan 17, 2018
Items not to be added to Ringbuffer on store error
This issue was closed.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Current behavior
Backups' view of the Ringbuffer differs from the primary's in case of an exception is thrown by the store underlying the Ringbuffer.
Example
Add 5 items.
A client adds a 6th.
The primary will add it to its ringbuffer. It will then call store. If the store throws an exception the primary leaves the 6th item in its primary ring buffer but does not add it to the backup ring buffer and it is also missing from the store.
Desired behavior
Neither primary nor backups add item(s) in case of a store exception is thrown. Store is responsible for not adding the item(s) in case it throws exceptions.
Also the contracts between the Ringbuffer and the RingbufferStore needs to be documented in the javadoc.
The text was updated successfully, but these errors were encountered: