View Issue Details

IDProjectCategoryView StatusLast Update
0001514GNUnetARM servicepublic2012-06-18 21:02
ReporterChristian Grothoff Assigned ToChristian Grothoff Due Date
PrioritylowSeverityfeatureReproducibilityN/A
Status closedResolutionwon't fix 
Summary0001514: ARM should be smarter about restarting processes due to configuration changes
DescriptionARM should monitor the current configuration file for changes (not just in timestamp but in content!). If a change is detected, ARM should restart those service processes that are impacted.

For this, we need a way for ARM to learn which options a process depends on. This is not static information. We will say that a process depends on an option after it has accessed the option for the first time using the gnunet_configuration_lib API. Obviously this set of options could change during the lifetime of a process.

Somehow, the process needs to communicate this information to ARM.
Additional InformationI'm currently thinking of using a (temporary) file on disk where the process could write a bloom filter (!) with bits set for all of the options the process has accessed. Advantages:

1) Using a bloom filter would minimize IO / parsing.
2) The probabilistic nature is harmless in this context (extremely rare unnecessary re-starts if a configuration changed)
3) No need for ARM to listen on some port for notifications; in fact, if the configuration does not change, ARM never needs to even read the bloom filter files!
4) Can use bloom filter 'test' to quickly determine if the option was accessed previously -- and then avoid writing to disk again)
TagsNo tags attached.

Activities

Christian Grothoff

2011-11-22 12:24

manager   ~0004961

- better tracking of which config changes actually need to cause process restarts by ARM.
- handle gnunet-arm -k in combination with auto-start magic (what is the right thing here?)
- discover dependencies between services

Christian Grothoff

2012-06-18 21:02

manager   ~0006092

I'm starting to think this is a bad idea --- very, very complicated to get right, and complicating ARM which is really undesirable.

Issue History

Date ModifiedUsernameFieldChange
2009-11-16 01:10Christian GrothoffNew Issue
2009-11-16 01:11Christian GrothoffAssigned To => safey
2009-11-16 01:11Christian GrothoffStatusnew => assigned
2011-09-15 12:20Christian GrothoffAssigned Tosafey =>
2011-09-15 12:20Christian GrothoffStatusassigned => confirmed
2011-11-04 10:14Christian GrothoffPrioritynormal => low
2011-11-22 12:24Christian GrothoffNote Added: 0004961
2012-02-21 21:06Christian GrothoffTarget Version => 0.9.5
2012-06-18 21:02Christian GrothoffNote Added: 0006092
2012-06-18 21:02Christian GrothoffAssigned To => Christian Grothoff
2012-06-18 21:02Christian GrothoffStatusconfirmed => closed
2012-06-18 21:02Christian GrothoffResolutionopen => won't fix
2012-06-18 21:02Christian GrothoffTarget Version0.9.5 =>