-
Notifications
You must be signed in to change notification settings - Fork 217
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
Add "group" to Ditto pubsub #878
Milestone
Comments
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
…or declared ack labels with group. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
…iling) - akka.japi.Pair is not serializable. Use a different data structure. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
…f serialization; test remote conflict. - Delete AckDData, which uses a non-serializable type akka.japi.Pair as value of ORMultiMap. - Opted to use String as value type of ORMultiMap and deserialize on each ddata change notification. This way, sweeping changes to serialization configuration in all dependent services are avoided. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
…ter; add javadoc. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
pushed a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
…er into own "API" package * made abstract classes package private where now feasible * small javadoc adjustments Signed-off-by: Thomas Jaeckle <thomas.jaeckle@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
- Add serialization and deserialization of grouped acknowledgement label declarations. - Add typed change notifications from AckUpdater. - Handle remote racing. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
…in topics ddata. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
…essed topic type from ByteString to Long to prepare for JSON serialization.
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
…tal update. Incremental update removed due to losing granuality of topics in the distributed data. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
Command deserialization is extended to give recursive access to the registry in order to deserialize inner signals. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
Reason: Serialization of PublishSignal command. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
Inner signal may not be a command. Should recurse onto mapping strategies level instead of the same (command) registry. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
…e publisher side. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
…roups at the subscriber. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
…ibe in a group. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
…nectionPersistenceActorTest; fix that grouped ack label declarations conflict with themselves. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
…StreamingSessionActorHeaderInteractionTest. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
…m ConnectionPersistenceActor to OutboundDispatchingActor; add InboundSignal; fix deserialization of null event metadata. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
…xtension. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
…igin. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
pushed a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
…/import stuff Signed-off-by: Thomas Jaeckle <thomas.jaeckle@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
…ecover from message loss; make client actors watch each other to remove zombies from cache. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
pushed a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
….. to assign... Signed-off-by: Thomas Jaeckle <thomas.jaeckle@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
…istence actor to client actors. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
…ublishSignal. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
…connection persistence actor where possible. Client actors now dispatch search commands to each other whenever they contain a subscription ID to identify the intended recipient. Only CreateSubscription is routed through the connection persistence for round-robin subscription ID assignment. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
Signed-off-by: Yufei Cai <yufei.cai@bosch.io> Conflicts: services/connectivity/messaging/src/main/java/org/eclipse/ditto/services/connectivity/messaging/BaseClientActor.java services/connectivity/messaging/src/main/java/org/eclipse/ditto/services/connectivity/messaging/OutboundMappingProcessor.java services/connectivity/messaging/src/main/java/org/eclipse/ditto/services/connectivity/messaging/persistence/ConnectionPersistenceActor.java services/connectivity/messaging/src/main/java/org/eclipse/ditto/services/connectivity/messaging/persistence/ConnectionSupervisorActor.java services/connectivity/messaging/src/test/java/org/eclipse/ditto/services/connectivity/messaging/persistence/ConnectionPersistenceActorTest.java
yufei-cai
pushed a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
Signed-off-by: Thomas Jaeckle <thomas.jaeckle@bosch.io>
yufei-cai
pushed a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
Signed-off-by: Thomas Jaeckle <thomas.jaeckle@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
… on the same node. For single-connectivity instance deployments, starting multiple client actors on the same node increases concurrency and reduces the impact of latency on connection throughput. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
…cription ID. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
…tion has 1 client. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
…a by optimistic waiting. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
…and mocks. DData topic count metrics replaced by size estimation due to introduction of literal group names into the ddata of topics and of declared acknowledgement labels. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
Class was used only by an unnecessary interface method. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
Akka does not attempt to compute the diff of successive ddata updates, which is reasonable because Akka does not know that all updates of an ORSet comes from the same node. Therefore Ditto should compute the diff so that no unnecessary replication occurs. Consequently, replicators no longer emits Replicator.Changed events every update cycle because unchanged subscriptions cause no update. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
…mistic. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
…imistic; fix a double assignment in AckSupervisor. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
…ed SubAck for topic subscriptions Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
…module. The following modules no longer depends on ditto-services-models-concierge: - ditto-services-gateway-streaming - ditto-services-connectivity-messaging Gateway and connectivity starter modules still depend on concierge service models because they need ConciergeForwarder. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
… more pessimistic. This reverts commit 20c6471. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
…and AckSupervisor. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
pushed a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
Signed-off-by: Thomas Jaeckle <thomas.jaeckle@bosch.io>
yufei-cai
pushed a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
…hod to withInserts; fixed toString() Signed-off-by: Thomas Jaeckle <thomas.jaeckle@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
Signed-off-by: Yufei Cai <yufei.cai@bosch.io> Conflicts: services/connectivity/messaging/src/test/java/org/eclipse/ditto/services/connectivity/messaging/persistence/ConnectionPersistenceActorTest.java
yufei-cai
pushed a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
…tractSubscriptions * adjusted Subscribe, AbstractRequest Signatures to accept a Collection instead of a Set in order to make the "topics" guaranteed immutable w/o creating too much Set copies Signed-off-by: Thomas Jaeckle <thomas.jaeckle@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
…BasePublisherActor. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
…used metric. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
…ubscribers-interval for responsiveness. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
yufei-cai
pushed a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
Signed-off-by: Thomas Jaeckle <thomas.jaeckle@bosch.io>
yufei-cai
pushed a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
…Id and random UUID for "clientId" with "_" in order to be able to easily split 2 UUIDs Signed-off-by: Thomas Jaeckle <thomas.jaeckle@bosch.io>
yufei-cai
added a commit
to bosch-io/ditto
that referenced
this issue
Dec 7, 2020
… ConnectionPersistenceActorTest.enabledConnectionLogsAreEnabledAgainAfterModify. Signed-off-by: Yufei Cai <yufei.cai@bosch.io>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add a "group" concept to Ditto pubsub similar to groups in Akka pubsub.
WIth this feature, the event publishing at connections will scale with the number of client actors by having the client actors subscribe for events directly using the connection ID as group.
The text was updated successfully, but these errors were encountered: