celix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bjoern Petri <bjoern.pe...@sundevil.de>
Subject Re: svn commit: r1627454 - in /celix/trunk/remote_services/discovery_etcd/private: include/etcd.h src/etcd.c src/etcd_watcher.c
Date Tue, 07 Oct 2014 18:38:38 GMT
On 2014-10-07 20:23, Alexander Broekhuis wrote:
> @Bjoern
> I did some more digging, and I guess the problem is with how Celix 
> watches
> for changes. After calling the "etcd_watch" 
> "etcdWatcher_addOwnFramework"
> is called, which basically re-adds the values for that discovery (I 
> guess
> to refresh the TTL). But this triggers an update of the value, which in
> turn triggers the watch of the other side with a new set. This result 
> in a
> remove/add of the discovery endpoint.
> This results in the remove/add juggling. The interval is about 10 
> seconds,
> I am not sure where this one comes from.

The interval comes from the curl timeout. The etcd_watch returns with a
timeout if no value has changed.

> The Amdatu implementation does not yet support TTL. But is this 
> behaviour
> as expected? I don't think a TTL update should trigger a "set" on the 
> other
> ends..
> What do you think?

Indeed, an "update" would be the nicer solution - this is unfortunately 
not yet supported by the Celix implementation - I will add it within the 
next days.

We could also change the update interval from 10 seconds, if you'd like 
to. I just choose a value not that high, so I don't need to wait that 
long when shutting down the discovery_etcd.


View raw message