[bind10-dev] configuration diffs

JINMEI Tatuya / 神明達哉 jinmei at isc.org
Wed May 16 06:22:24 UTC 2012


At Mon, 14 May 2012 16:47:09 +0200,
Jelte Jansen <jelte at isc.org> wrote:

> So, for instance, instead of a general ConfigHandler method, one would
> set up actions to be called when values are changed, added, or
> removed; should one not want to do that, I would still like to be able
> to read data directly (from 'current' config).

Some random, preliminary thoughts

- As you noted, it's probably just impossible t have a simple and
  generally applicable definition of "differences" between two sets of
  configurations, each of which is represented in the form of JSON
  (-like structure).
- It would be useful to see how others are dealing with a
  simplified/generalized problem of how to get a difference between
  two JSON-represented objects.  From a quick google I found this:
  http://stackoverflow.com/questions/584338/how-to-push-diffs-of-data-possibly-json-to-a-server
  Even if it may not be directly applicable to our specific problem, I
  think the discussion is informative.
- As discussed in the above link, we might want to step back a bit and
  revisit whether we really need to represent diff directly.  Maybe
  the answer is still yes, but in some cases it might just be
  sufficient to pass the whole new set of configuration, as long as
  the application can handle it reasonably efficiently.
- Representing a diff as a sequence of some operations may be one way.
- How to handle differences may be quite application specific - for
  example, in some cases the order of list element matter, and in some
  other cases it doesn't; some applications may be sensitive to the
  ordering of adding and deleting (in which case, e.g., just giving
  sets of added elements and deleted elements won't work well).
  Depending on how widely such app specific requirements vary, generic
  way of handling diffs may or may not be feasible.

---
JINMEI, Tatuya


More information about the bind10-dev mailing list