{"action":"created","issue":{"url":"https://api.github.com/repos/jankotek/mapdb/issues/606","labels_url":"https://api.github.com/repos/jankotek/mapdb/issues/606/labels{/name}","comments_url":"https://api.github.com/repos/jankotek/mapdb/issues/606/comments","events_url":"https://api.github.com/repos/jankotek/mapdb/issues/606/events","html_url":"https://github.com/jankotek/mapdb/pull/606","id":111815355,"number":606,"title":"add constraints for BTree keys to ensure that they are Comparable","user":{"login":"pettermahlen","id":353687,"avatar_url":"https://avatars.githubusercontent.com/u/353687?v=3","gravatar_id":"","url":"https://api.github.com/users/pettermahlen","html_url":"https://github.com/pettermahlen","followers_url":"https://api.github.com/users/pettermahlen/followers","following_url":"https://api.github.com/users/pettermahlen/following{/other_user}","gists_url":"https://api.github.com/users/pettermahlen/gists{/gist_id}","starred_url":"https://api.github.com/users/pettermahlen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pettermahlen/subscriptions","organizations_url":"https://api.github.com/users/pettermahlen/orgs","repos_url":"https://api.github.com/users/pettermahlen/repos","events_url":"https://api.github.com/users/pettermahlen/events{/privacy}","received_events_url":"https://api.github.com/users/pettermahlen/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-10-16T11:49:41Z","updated_at":"2015-10-16T11:57:29Z","closed_at":"2015-10-16T11:54:56Z","pull_request":{"url":"https://api.github.com/repos/jankotek/mapdb/pulls/606","html_url":"https://github.com/jankotek/mapdb/pull/606","diff_url":"https://github.com/jankotek/mapdb/pull/606.diff","patch_url":"https://github.com/jankotek/mapdb/pull/606.patch"},"body":"The intention is to make it impossible to run into runtime exceptions\r\ndue to not having a well-defined key ordering for BTreeMaps.\r\n\r\nAn example exception:\r\n```\r\nCaused by: java.lang.ClassCastException: com.spotify.gabofiletailer.AutoValue_FosMessage cannot be cast to java.lang.Comparable\r\n\tat org.mapdb.Fun$2.compare(Fun.java:59) ~[mapdb-2.0-beta8.jar:na]\r\n\tat org.mapdb.BTreeKeySerializer$BasicKeySerializer.compare(BTreeKeySerializer.java:221) ~[mapdb-2.0-beta8.jar:na]\r\n\tat org.mapdb.BTreeKeySerializer$BasicKeySerializer.compare(BTreeKeySerializer.java:171) ~[mapdb-2.0-beta8.jar:na]\r\n\tat org.mapdb.BTreeKeySerializer.findChildren2(BTreeKeySerializer.java:130) ~[mapdb-2.0-beta8.jar:na]\r\n\tat org.mapdb.BTreeMap.removeOrReplace(BTreeMap.java:1578) ~[mapdb-2.0-beta8.jar:na]\r\n\tat org.mapdb.BTreeMap.remove(BTreeMap.java:1550) ~[mapdb-2.0-beta8.jar:na]\r\n```"},"comment":{"url":"https://api.github.com/repos/jankotek/mapdb/issues/comments/148697821","html_url":"https://github.com/jankotek/mapdb/pull/606#issuecomment-148697821","issue_url":"https://api.github.com/repos/jankotek/mapdb/issues/606","id":148697821,"user":{"login":"pettermahlen","id":353687,"avatar_url":"https://avatars.githubusercontent.com/u/353687?v=3","gravatar_id":"","url":"https://api.github.com/users/pettermahlen","html_url":"https://github.com/pettermahlen","followers_url":"https://api.github.com/users/pettermahlen/followers","following_url":"https://api.github.com/users/pettermahlen/following{/other_user}","gists_url":"https://api.github.com/users/pettermahlen/gists{/gist_id}","starred_url":"https://api.github.com/users/pettermahlen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pettermahlen/subscriptions","organizations_url":"https://api.github.com/users/pettermahlen/orgs","repos_url":"https://api.github.com/users/pettermahlen/repos","events_url":"https://api.github.com/users/pettermahlen/events{/privacy}","received_events_url":"https://api.github.com/users/pettermahlen/received_events","type":"User","site_admin":false},"created_at":"2015-10-16T11:57:29Z","updated_at":"2015-10-16T11:57:29Z","body":"Yes - the PR provided a method where you need to provide an explicit ```Comparator``` for that case. "}}