incubator-s4-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matthieu Morel <>
Subject Re: s4-110 s4 helix integration update
Date Mon, 11 Feb 2013 11:54:20 GMT
Thanks for the summary Kishore!

One note about the new design of emitters: before, emitters used be notified of updates to
the cluster, but this is not the case anymore: the senders are the ones receiving these updates,
so they can decide where to send messages.

One implication is that the mapping destination/node in the emitter is not updated automatically.

Illustration: Suppose a mapping destination1->node1. Node 1 fails. Node 2 starts and replaces
node1. Suppose we have a new mapping destination 1 -> node2. In the emitter, in the absence
of notifications, this mapping has not been updated yet. This happens with the first message
to destination 1 - which does not reach destination, but clears the old mapping. Next message
for destination 1 will setup the new channels to node 2.

Once we get the integration complete, we can improve that with something like keeping the
mappings of the emitters in a cache with a TTL or something like that.

The other pending tasks will be porting existing examples (the echo and the twitter examples)
to illustrate the new perspectives offered by this integration.



On Feb 11, 2013, at 11:07 , kishore g wrote:

> Hi,
> This is an update on S4 and Helix integration happening on S4-110-new
> branch. Last week Matthieu and I made good progress. We have the initial
> set of changes that allow us to configure the cluster management mode (
> existing zk based or helix based).  We had to do some changes to the
> existing  code to facilitate this.
> Significant changes was that Emitters no longer hold the mapping of
> partition to node. The logic of deciding the destination for an event is
> moved to Sender. This allowed us to have clear separation
> of responsibility between Sender and Emitter.
> In order to add new helix implementations, we also made changes in some of
> the bindings like S4Bootstrap, DeploymentManager, cluster, Emittter etc.
> We still have the following pending
>   - Tools are broken. they currently support only Helix based mode. We
>   need to support additional configuration that indicates the mode(zk or
>   helix).
>   - Need to add more test cases/documentation for helix related changes.
>   - Fix broken test cases for s4 mode.
>   - Other minor code clean up/refactoring.
> Matthieu, please add items to this list( I am sure I have missed quite a
> few) :-). The code is not yet ready for review, but feel free to comment on
> design and code structure.
> Thanks,
> Kishore G

View raw message