View Issue Details

IDProjectCategoryView StatusLast Update
0001514GNUnetARM servicepublic2012-06-18 23:02
ReporterChristian Grothoff Assigned ToChristian Grothoff  
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 13: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 23: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 Modified Username Field Change
2009-11-16 02:10 Christian Grothoff New Issue
2009-11-16 02:11 Christian Grothoff Assigned To => safey
2009-11-16 02:11 Christian Grothoff Status new => assigned
2011-09-15 14:20 Christian Grothoff Assigned To safey =>
2011-09-15 14:20 Christian Grothoff Status assigned => confirmed
2011-11-04 11:14 Christian Grothoff Priority normal => low
2011-11-22 13:24 Christian Grothoff Note Added: 0004961
2012-02-21 22:06 Christian Grothoff Target Version => 0.9.5
2012-06-18 23:02 Christian Grothoff Note Added: 0006092
2012-06-18 23:02 Christian Grothoff Assigned To => Christian Grothoff
2012-06-18 23:02 Christian Grothoff Status confirmed => closed
2012-06-18 23:02 Christian Grothoff Resolution open => won't fix
2012-06-18 23:02 Christian Grothoff Target Version 0.9.5 =>