{"action":"created","issue":{"url":"https://api.github.com/repos/dCache/dcache/issues/3375","repository_url":"https://api.github.com/repos/dCache/dcache","labels_url":"https://api.github.com/repos/dCache/dcache/issues/3375/labels{/name}","comments_url":"https://api.github.com/repos/dCache/dcache/issues/3375/comments","events_url":"https://api.github.com/repos/dCache/dcache/issues/3375/events","html_url":"https://github.com/dCache/dcache/pull/3375","id":246809663,"number":3375,"title":"chimera: use jsr-107 jcache interface for caching","user":{"login":"kofemann","id":575965,"avatar_url":"https://avatars0.githubusercontent.com/u/575965?v=4","gravatar_id":"","url":"https://api.github.com/users/kofemann","html_url":"https://github.com/kofemann","followers_url":"https://api.github.com/users/kofemann/followers","following_url":"https://api.github.com/users/kofemann/following{/other_user}","gists_url":"https://api.github.com/users/kofemann/gists{/gist_id}","starred_url":"https://api.github.com/users/kofemann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kofemann/subscriptions","organizations_url":"https://api.github.com/users/kofemann/orgs","repos_url":"https://api.github.com/users/kofemann/repos","events_url":"https://api.github.com/users/kofemann/events{/privacy}","received_events_url":"https://api.github.com/users/kofemann/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2017-07-31T16:08:31Z","updated_at":"2017-08-01T10:23:02Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/dCache/dcache/pulls/3375","html_url":"https://github.com/dCache/dcache/pull/3375","diff_url":"https://github.com/dCache/dcache/pull/3375.diff","patch_url":"https://github.com/dCache/dcache/pull/3375.patch"},"body":"TEST pull request\r\n\r\n\r\nMotivation:\r\nto reduce load on DB, chimera caches inumber <-> pnfsid mapping.\r\nThis there is an assumption that this mapping will never change.\r\nAs some functionality in dCache may break this rule, we need a\r\nway to invalidate cached values.\r\n\r\nIn case of multiple direct chimera instances, like PnfsManager in\r\nHA setup or nfs door, the cache invalidation must be propagated to\r\nall instances.\r\n\r\nJSR-107 defines interface only API for caching. Depending on\r\nimplementation, cache can be local or distributed.\r\n\r\nModification:\r\nUse JCache based distributed cache to load data into Guava's cache. This\r\nconstruct still uses local cache, but loads data from distributed cache\r\nif available. additionally, cache invalidation events handled by all cache\r\nclients.\r\n\r\nThe JdbcFs updated to join or create a distributed Hazelcast cache.\r\nA zookeeper based autodiscovery is added to cluster members to discover\r\neach other.\r\n\r\nThe Guava's cache size is reduced to ensure, that values are always in the\r\nshared cache, when they are in the local caches.\r\n\r\nResult:\r\nNo visible user changes. However all direct chimera clients build a distributed\r\ncache with autodiscovery.\r\n\r\nAcked-by:\r\nTarget: master\r\nRequire-book: no\r\nRequire-notes: yes"},"comment":{"url":"https://api.github.com/repos/dCache/dcache/issues/comments/319331436","html_url":"https://github.com/dCache/dcache/pull/3375#issuecomment-319331436","issue_url":"https://api.github.com/repos/dCache/dcache/issues/3375","id":319331436,"user":{"login":"mksahakyan","id":14925380,"avatar_url":"https://avatars1.githubusercontent.com/u/14925380?v=4","gravatar_id":"","url":"https://api.github.com/users/mksahakyan","html_url":"https://github.com/mksahakyan","followers_url":"https://api.github.com/users/mksahakyan/followers","following_url":"https://api.github.com/users/mksahakyan/following{/other_user}","gists_url":"https://api.github.com/users/mksahakyan/gists{/gist_id}","starred_url":"https://api.github.com/users/mksahakyan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mksahakyan/subscriptions","organizations_url":"https://api.github.com/users/mksahakyan/orgs","repos_url":"https://api.github.com/users/mksahakyan/repos","events_url":"https://api.github.com/users/mksahakyan/events{/privacy}","received_events_url":"https://api.github.com/users/mksahakyan/received_events","type":"User","site_admin":false},"created_at":"2017-08-01T10:23:02Z","updated_at":"2017-08-01T10:23:02Z","body":"retest this please"}}
{"actor":{"display_login":"mksahakyan"}}