Skip to content
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

Reload route config (handle aggregations) #32

Closed
vladimir-smirnov-sociomantic opened this issue Dec 22, 2014 · 9 comments
Closed

Reload route config (handle aggregations) #32

vladimir-smirnov-sociomantic opened this issue Dec 22, 2014 · 9 comments

Comments

@vladimir-smirnov-sociomantic

I think it's good idea to have sort of "fast restart" ability - e.x. when you add new aggregates, there should be a way to perform "fast" reload of the rules.

@grobian
Copy link
Owner

grobian commented Dec 23, 2014

Agreed, it requires expiration of the aggregates that exist now, this isn't implemented (yet).
Currently we "get away" with it, because the relay pushes out every aggregation bucket when it shuts down, and upstream relays should buffer for the short time the aggregator is down.

@vladimir-smirnov-sociomantic
Copy link
Author

Yeah, I understand that it's not that easy, but I think it'll be very useful to have such feature.

@Onlinehead
Copy link

Agree with Vladimir, it's very useful function.

@grobian
Copy link
Owner

grobian commented Dec 30, 2014

update: I've made some steps here, but it requires quite a bit of code overhaul, so please bear with me here

@filippog
Copy link

thanks Fabian, I'll be useful indeed to have this!

@grobian
Copy link
Owner

grobian commented Jan 19, 2015

first shot just pushed, but don't try to use this just yet, I needed a syncpoint :)

@jriguera
Copy link

jriguera commented Feb 4, 2015

Nice, this feature is perfect of confd + docker

@grobian
Copy link
Owner

grobian commented Feb 9, 2015

so, I think what needs to be done here, is (apart from some testing) to handle aggregations.

@grobian grobian changed the title Reload route config Reload route config (handle aggregations) Sep 27, 2015
grobian added a commit that referenced this issue Dec 25, 2015
For issues #32 and #133, get the aggregator to expire as if it was
shutting down on a reload of the configuration.  Side effect of this is
that we need to suspend the dispatchers such that we don't get data
while we're clearing out the aggregators.
In this scheme, a reload will cause a slight service interruption.
New connections are still accepted, but no data is read while the
aggregations are flushed, and the dispatchers load the new
configuration.  The upside of this is that there will be an atomic
reload, that is, everything is either routed according to the old
configuration, or the new configuration, not both at the same time as
was the case before this commit.
@grobian
Copy link
Owner

grobian commented Dec 25, 2015

I think I've finally tackled this!

@grobian grobian closed this as completed Dec 25, 2015
pkittenis pushed a commit to pkittenis/carbon-c-relay that referenced this issue Feb 3, 2016
For issues grobian#32 and grobian#133, get the aggregator to expire as if it was
shutting down on a reload of the configuration.  Side effect of this is
that we need to suspend the dispatchers such that we don't get data
while we're clearing out the aggregators.
In this scheme, a reload will cause a slight service interruption.
New connections are still accepted, but no data is read while the
aggregations are flushed, and the dispatchers load the new
configuration.  The upside of this is that there will be an atomic
reload, that is, everything is either routed according to the old
configuration, or the new configuration, not both at the same time as
was the case before this commit.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants