Ticket #66 (closed task: fixed)
Notify RowLog and RowLogProcessor when consumers are (un-)registered
| Reported by: | evert | Owned by: | evert |
|---|---|---|---|
| Priority: | minor | Milestone: | 0.3 |
| Component: | RowLog | Version: | |
| Keywords: | Cc: | lily-developers@… |
Description
While Lily is up and running, RowLogConsumers? can be registered and unregistered (cfr #52).
The RowLog? needs to be notified of such changes in order to know for which consumers messages should be created.
The RowLogProcessors? also need to be notified in order to know for which consumers processor threads need to be running and which messages can be cleared from the rowlog (cfr #53).
Since the registered consumers will be persisted in ZooKeeper?, Watches can be used on ZooKeeper? nodes to inform the RowLog? and RowLogProcessor? of any changes.
Change History
comment:3 Changed 3 years ago by evert
- Status changed from new to closed
- Resolution set to fixed
The RowLogConfigurationManager? allows to register subscriptions (formerly known as consumers) to a RowLog?. This registration is stored persistently in ZooKeeper?.
The RowLogConfigurationManager? keeps a watch on the subscriptions nodes in ZooKeeper? to get informed of (un-)registering subscriptions. Through a callback it then informs the RowLog? and RowLogProcessor?.
The RowLog? itself does no longer know of the existance of the RowLogProcessor? and it does no longer have to inform the RowLogProcessor? of (un-)registering subscriptions.