{"comment":{"url":"https://api.github.com/repos/inercia/weave/comments/11153920","html_url":"https://github.com/inercia/weave/commit/eaebb847a5537484acafdad23518240731b1da29#commitcomment-11153920","id":11153920,"user":{"login":"inercia","id":1841612,"avatar_url":"https://avatars.githubusercontent.com/u/1841612?v=3","gravatar_id":"","url":"https://api.github.com/users/inercia","html_url":"https://github.com/inercia","followers_url":"https://api.github.com/users/inercia/followers","following_url":"https://api.github.com/users/inercia/following{/other_user}","gists_url":"https://api.github.com/users/inercia/gists{/gist_id}","starred_url":"https://api.github.com/users/inercia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/inercia/subscriptions","organizations_url":"https://api.github.com/users/inercia/orgs","repos_url":"https://api.github.com/users/inercia/repos","events_url":"https://api.github.com/users/inercia/events{/privacy}","received_events_url":"https://api.github.com/users/inercia/received_events","type":"User","site_admin":false},"position":224,"line":199,"path":"nameserver/zone.go","commit_id":"eaebb847a5537484acafdad23518240731b1da29","created_at":"2015-05-12T12:47:42Z","updated_at":"2015-05-12T12:47:42Z","body":"The first incarnation of the listeners did exactly that: it passed arguments regarding the change in the observed objects. However, I soon realized there was no point in that: the observer did not use that information, it just invalidated the cache....\r\n\r\nWith this implementation, we could be removing the same key twice on the same operation in the Zone database, so, in a future iteration of the problem, I would really like to optimize the cache invalidations by _collecting_ all the keys that must be removed. This would require changing the observers from being _callables_ to some _keys_ that could be passed to an observer..."}}