{"action":"created","issue":{"url":"https://api.github.com/repos/dCache/dcache/issues/1608","labels_url":"https://api.github.com/repos/dCache/dcache/issues/1608/labels{/name}","comments_url":"https://api.github.com/repos/dCache/dcache/issues/1608/comments","events_url":"https://api.github.com/repos/dCache/dcache/issues/1608/events","html_url":"https://github.com/dCache/dcache/pull/1608","id":84477024,"number":1608,"title":"srm: Fix cache invalidation of space meta data","user":{"login":"gbehrmann","id":1125766,"avatar_url":"https://avatars.githubusercontent.com/u/1125766?v=3","gravatar_id":"","url":"https://api.github.com/users/gbehrmann","html_url":"https://github.com/gbehrmann","followers_url":"https://api.github.com/users/gbehrmann/followers","following_url":"https://api.github.com/users/gbehrmann/following{/other_user}","gists_url":"https://api.github.com/users/gbehrmann/gists{/gist_id}","starred_url":"https://api.github.com/users/gbehrmann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gbehrmann/subscriptions","organizations_url":"https://api.github.com/users/gbehrmann/orgs","repos_url":"https://api.github.com/users/gbehrmann/repos","events_url":"https://api.github.com/users/gbehrmann/events{/privacy}","received_events_url":"https://api.github.com/users/gbehrmann/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-06-03T10:11:22Z","updated_at":"2015-06-08T16:27:20Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/dCache/dcache/pulls/1608","html_url":"https://github.com/dCache/dcache/pull/1608","diff_url":"https://github.com/dCache/dcache/pull/1608.diff","patch_url":"https://github.com/dCache/dcache/pull/1608.patch"},"body":"Motivation:\n\nThe SRM caches space meta data. This cache needs to be invalidated if a client\ndoes something that modifies the meta data. Releasing spaces is done\nasynchronously with a callback, yet the cache invalidation happens in the\nforward call and thus may happen before the space is actually released. Thus\nthere is a race in which the cache could be repopulated with the old data\nbefore the space is released in space manager.\n\nModification:\n\nIntercept the callback and invalidate the cache inside the callback.\n\nResult:\n\nThe cache is invalidated after the space is released, thus resolving the\ndescribed race condition.\n\nTarget: trunk\nRequire-notes: yes\nRequire-book: no\nRequest: 2.12\nRequest: 2.11\nRequest: 2.10\nAcked-by: Paul Millar <paul.millar@desy.de>\nAcked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>\nPatch: https://rb.dcache.org/r/8273/\n(cherry picked from commit c15a133be42385cbe0c2c8d986231b016f410b77)"},"comment":{"url":"https://api.github.com/repos/dCache/dcache/issues/comments/110064612","html_url":"https://github.com/dCache/dcache/pull/1608#issuecomment-110064612","issue_url":"https://api.github.com/repos/dCache/dcache/issues/1608","id":110064612,"user":{"login":"paulmillar","id":533081,"avatar_url":"https://avatars.githubusercontent.com/u/533081?v=3","gravatar_id":"","url":"https://api.github.com/users/paulmillar","html_url":"https://github.com/paulmillar","followers_url":"https://api.github.com/users/paulmillar/followers","following_url":"https://api.github.com/users/paulmillar/following{/other_user}","gists_url":"https://api.github.com/users/paulmillar/gists{/gist_id}","starred_url":"https://api.github.com/users/paulmillar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paulmillar/subscriptions","organizations_url":"https://api.github.com/users/paulmillar/orgs","repos_url":"https://api.github.com/users/paulmillar/repos","events_url":"https://api.github.com/users/paulmillar/events{/privacy}","received_events_url":"https://api.github.com/users/paulmillar/received_events","type":"User","site_admin":false},"created_at":"2015-06-08T16:27:20Z","updated_at":"2015-06-08T16:27:20Z","body":"please retest this"}}