{"action":"created","issue":{"url":"https://api.github.com/repos/palantir/plottable/issues/1020","labels_url":"https://api.github.com/repos/palantir/plottable/issues/1020/labels{/name}","comments_url":"https://api.github.com/repos/palantir/plottable/issues/1020/comments","events_url":"https://api.github.com/repos/palantir/plottable/issues/1020/events","html_url":"https://github.com/palantir/plottable/issues/1020","id":42580929,"number":1020,"title":"Potential for extent miscalculation in obscure circumstances","user":{"login":"danmane","id":1400023,"avatar_url":"https://avatars.githubusercontent.com/u/1400023?v=3","gravatar_id":"","url":"https://api.github.com/users/danmane","html_url":"https://github.com/danmane","followers_url":"https://api.github.com/users/danmane/followers","following_url":"https://api.github.com/users/danmane/following{/other_user}","gists_url":"https://api.github.com/users/danmane/gists{/gist_id}","starred_url":"https://api.github.com/users/danmane/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danmane/subscriptions","organizations_url":"https://api.github.com/users/danmane/orgs","repos_url":"https://api.github.com/users/danmane/repos","events_url":"https://api.github.com/users/danmane/events{/privacy}","received_events_url":"https://api.github.com/users/danmane/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/palantir/plottable/labels/bug","name":"bug","color":"ff93c8"},{"url":"https://api.github.com/repos/palantir/plottable/labels/p3","name":"p3","color":"009800"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2014-09-11T23:07:29Z","updated_at":"2015-07-07T21:32:17Z","closed_at":"2015-07-07T21:32:17Z","body":"Due to how extent caching is implemented, and the addition of type-coercion in #1019, there is a potential for scale extent caching to break in a subtle way. Particularly, if you have the same data with the same accessor being passed into two different scales, where the scales have different type coercers, then it will inappropriately get a cache hit when the output actually winds up being different. This is difficult to fix due to how the cache is implemented (by strict equality testing on the accessor). We can't just wrap the accessor and type-coercer together because then the array will technically be a new object every time. We could probably solve it with a 2-layer cache, it will just require some time and attention. I don't think this is a high priority bug because it only comes about in very particular & strange circumstances."},"comment":{"url":"https://api.github.com/repos/palantir/plottable/issues/comments/119348542","html_url":"https://github.com/palantir/plottable/issues/1020#issuecomment-119348542","issue_url":"https://api.github.com/repos/palantir/plottable/issues/1020","id":119348542,"user":{"login":"aicioara","id":3248682,"avatar_url":"https://avatars.githubusercontent.com/u/3248682?v=3","gravatar_id":"","url":"https://api.github.com/users/aicioara","html_url":"https://github.com/aicioara","followers_url":"https://api.github.com/users/aicioara/followers","following_url":"https://api.github.com/users/aicioara/following{/other_user}","gists_url":"https://api.github.com/users/aicioara/gists{/gist_id}","starred_url":"https://api.github.com/users/aicioara/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aicioara/subscriptions","organizations_url":"https://api.github.com/users/aicioara/orgs","repos_url":"https://api.github.com/users/aicioara/repos","events_url":"https://api.github.com/users/aicioara/events{/privacy}","received_events_url":"https://api.github.com/users/aicioara/received_events","type":"User","site_admin":false},"created_at":"2015-07-07T21:32:17Z","updated_at":"2015-07-07T21:32:17Z","body":"Such a bug has not been filed yet. Also the architecture has changed. Unless a repro is provided, won't fix. "}}