Conversation
Refined the rest of the DCB GRPC API.
Events sent from the server will be identifiable by this reference.
Implemented first version of Intercepting Event Store Service.
Refactored the state of the API.
- Replaced Seed with Head - Added shortcut for filtering events on multiple types
… size as the response to append events.
| map<string, string> meta_data = 3; | ||
| int64 pendingSince = 4; | ||
| bool changePending = 5; | ||
| bool dcbContext = 6; |
There was a problem hiding this comment.
Does this mean you can update a context to become a DCB Context?
There was a problem hiding this comment.
No, this is a return message from Axon Server. Just indicating whether the context is dcb or not.
| string name = 1; | ||
| string replicationGroupName = 2; | ||
| map<string, string> meta_data = 3; | ||
| bool dcbContext = 4; |
There was a problem hiding this comment.
If I am not mistaken, the "meta_data" field here is rather configuration for the context, right? Couldn't the fact that it is a DCB context be part of that?
There was a problem hiding this comment.
No preference here. Having it as a separate field makes it more explicite, but it may be redundant in the future.
src/main/proto/dcb.proto
Outdated
| /* Gets the current _tail_ of the Event Store. The _tail_ points to a sequence of the first event stored. */ | ||
| rpc GetTail (GetTailRequest) returns (GetTailResponse); | ||
|
|
||
| /* Gets the sequence of the event whose timestamp approximately matches the given request. It returns the first |
There was a problem hiding this comment.
"Approximately match" is very vague. I suggest:
Returns the lowest sequence of an event with a timestamp equal to or higher than the given timestamp. The HEAD is returned if no events exist with a timestamp equal to or higher than the given timestamp.
The NB part is good. Best to warn people that the timestamps are application-provided and that Axon Server has no control over them. Note that "monotonically" is not relevant here. Monotonically means that the delta between each event's timestamp is equal. I would replace that with "strictly".
There was a problem hiding this comment.
I agree with the first part.
Formal Definition of Monotonically Increasing Function:
A function f(x) is monotonically increasing if for all x1 and x2 in its domain where x1 ≤ x2, then f(x1) ≤ f(x2).
The values must be greater than or equal to. It says nothing about deltas.
smcvb
left a comment
There was a problem hiding this comment.
Since I am already using this API in AF5, I am fine with what it looks like. I only have some documentation nits here and there.
There are two exceptions though:
- What about using
versioninstead ofrevisionfor the snapshots? - Why use
keyinstead of something likeidentifier?
However, those two exceptions are on the snapshot API, which you pointed out is still to be finalized. Henceforth, I am approving this PR.
| string name = 1; | ||
|
|
||
| /* The revision of the snapshot. */ | ||
| string revision = 2; |
There was a problem hiding this comment.
Nit: we have started to move away from revision, in favor of version, within Axon Framework. Although it's up to the Server team in the end, we figured it would be clearer to simply use version, as the word revision raises some eye brows from time to time.
There was a problem hiding this comment.
Granted, this part of the API is still up for change as you pointed out. So I don't mind if this is taken care off later.
There was a problem hiding this comment.
I'll leave it for now as is since it's prone to change.
| int64 sequence = 2; | ||
|
|
||
| /* If set to true, older snapshots for the same key are pruned. */ | ||
| bool prune = 3; |
Co-authored-by: Steven van Beelen <steven.vanbeelen@axoniq.io>
Co-authored-by: Steven van Beelen <steven.vanbeelen@axoniq.io>
Co-authored-by: Steven van Beelen <steven.vanbeelen@axoniq.io>
Co-authored-by: Steven van Beelen <steven.vanbeelen@axoniq.io>
Co-authored-by: Steven van Beelen <steven.vanbeelen@axoniq.io>
Co-authored-by: Steven van Beelen <steven.vanbeelen@axoniq.io>
Co-authored-by: Steven van Beelen <steven.vanbeelen@axoniq.io>
smcvb
left a comment
There was a problem hiding this comment.
Still think this looks fine.
|
🚀 |
Experimental DCB API - it could be a subject of change in the future.
Retagging and Snapshotting are not yet supported by Axon Server.