{"action":"created","issue":{"url":"https://api.github.com/repos/palantir/atlasdb/issues/1033","repository_url":"https://api.github.com/repos/palantir/atlasdb","labels_url":"https://api.github.com/repos/palantir/atlasdb/issues/1033/labels{/name}","comments_url":"https://api.github.com/repos/palantir/atlasdb/issues/1033/comments","events_url":"https://api.github.com/repos/palantir/atlasdb/issues/1033/events","html_url":"https://github.com/palantir/atlasdb/pull/1033","id":181282270,"number":1033,"title":"refactor C* keyspace creation and improve degraded node startup","user":{"login":"clockfort","id":57031,"avatar_url":"https://avatars.githubusercontent.com/u/57031?v=3","gravatar_id":"","url":"https://api.github.com/users/clockfort","html_url":"https://github.com/clockfort","followers_url":"https://api.github.com/users/clockfort/followers","following_url":"https://api.github.com/users/clockfort/following{/other_user}","gists_url":"https://api.github.com/users/clockfort/gists{/gist_id}","starred_url":"https://api.github.com/users/clockfort/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/clockfort/subscriptions","organizations_url":"https://api.github.com/users/clockfort/orgs","repos_url":"https://api.github.com/users/clockfort/repos","events_url":"https://api.github.com/users/clockfort/events{/privacy}","received_events_url":"https://api.github.com/users/clockfort/received_events","type":"User","site_admin":false},"labels":[{"id":450523207,"url":"https://api.github.com/repos/palantir/atlasdb/labels/pr:%20external","name":"pr: external","color":"1d76db","default":false}],"state":"open","locked":false,"assignee":{"login":"jboreiko","id":837571,"avatar_url":"https://avatars.githubusercontent.com/u/837571?v=3","gravatar_id":"","url":"https://api.github.com/users/jboreiko","html_url":"https://github.com/jboreiko","followers_url":"https://api.github.com/users/jboreiko/followers","following_url":"https://api.github.com/users/jboreiko/following{/other_user}","gists_url":"https://api.github.com/users/jboreiko/gists{/gist_id}","starred_url":"https://api.github.com/users/jboreiko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jboreiko/subscriptions","organizations_url":"https://api.github.com/users/jboreiko/orgs","repos_url":"https://api.github.com/users/jboreiko/repos","events_url":"https://api.github.com/users/jboreiko/events{/privacy}","received_events_url":"https://api.github.com/users/jboreiko/received_events","type":"User","site_admin":false},"assignees":[{"login":"jboreiko","id":837571,"avatar_url":"https://avatars.githubusercontent.com/u/837571?v=3","gravatar_id":"","url":"https://api.github.com/users/jboreiko","html_url":"https://github.com/jboreiko","followers_url":"https://api.github.com/users/jboreiko/followers","following_url":"https://api.github.com/users/jboreiko/following{/other_user}","gists_url":"https://api.github.com/users/jboreiko/gists{/gist_id}","starred_url":"https://api.github.com/users/jboreiko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jboreiko/subscriptions","organizations_url":"https://api.github.com/users/jboreiko/orgs","repos_url":"https://api.github.com/users/jboreiko/repos","events_url":"https://api.github.com/users/jboreiko/events{/privacy}","received_events_url":"https://api.github.com/users/jboreiko/received_events","type":"User","site_admin":false},{"login":"gsheasby","id":15610492,"avatar_url":"https://avatars.githubusercontent.com/u/15610492?v=3","gravatar_id":"","url":"https://api.github.com/users/gsheasby","html_url":"https://github.com/gsheasby","followers_url":"https://api.github.com/users/gsheasby/followers","following_url":"https://api.github.com/users/gsheasby/following{/other_user}","gists_url":"https://api.github.com/users/gsheasby/gists{/gist_id}","starred_url":"https://api.github.com/users/gsheasby/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gsheasby/subscriptions","organizations_url":"https://api.github.com/users/gsheasby/orgs","repos_url":"https://api.github.com/users/gsheasby/repos","events_url":"https://api.github.com/users/gsheasby/events{/privacy}","received_events_url":"https://api.github.com/users/gsheasby/received_events","type":"User","site_admin":false}],"milestone":null,"comments":13,"created_at":"2016-10-05T22:30:10Z","updated_at":"2016-11-07T11:45:50Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/palantir/atlasdb/pulls/1033","html_url":"https://github.com/palantir/atlasdb/pull/1033","diff_url":"https://github.com/palantir/atlasdb/pull/1033.diff","patch_url":"https://github.com/palantir/atlasdb/pull/1033.patch"},"body":"refactor C\\* keyspace creation; fixes #1028 and as a bonus breaks up a large method\n\nMade a tiny manual test class against a local C\\* 3.9 instance.\n\n```\npackage com.palantir.atlasdb.keyvalue.cassandra;\n\nimport java.net.InetSocketAddress;\n\nimport com.google.common.base.Optional;\nimport com.palantir.atlasdb.cassandra.CassandraKeyValueServiceConfigManager;\nimport com.palantir.atlasdb.cassandra.ImmutableCassandraKeyValueServiceConfig;\n\npublic class TestLogOutput {\n    public static void main(String[] args) {\n        CassandraKeyValueService.create(\n                CassandraKeyValueServiceConfigManager.createSimpleManager(\n                        ImmutableCassandraKeyValueServiceConfig.builder()\n                                .addServers(new InetSocketAddress(\"localhost\", 9160))\n                                .keyspace(\"atlas\")\n                                .ssl(false)\n                                .replicationFactor(1)\n                                .build()),\n                Optional.absent()).close();\n    }\n}\n```\n\nFirst run now logs:\n\n```\n15:17:36.863 [main] INFO  c.p.a.k.c.jmx.CassandraJmxCompaction - Jmx compaction is not enabled.\n15:17:37.225 [main] INFO  c.p.a.k.cassandra.CassandraVerifier - Created keyspace: atlas\n15:17:37.444 [main calling cassandra host localhost/127.0.0.1:9160 started at 2016-10-05T22:17:37.443Z - 4] INFO  c.p.a.k.c.CassandraApiVersion - Your cassandra api version (20.1.0) supports check and set.\n15:17:38.562 [main calling cassandra host localhost/127.0.0.1:9160 started at 2016-10-05T22:17:37.537Z - 8] INFO  c.p.a.k.cassandra.SchemaMutationLock - Successfully acquired schema mutation lock.\n15:17:38.642 [main calling cassandra host localhost/127.0.0.1:9160 started at 2016-10-05T22:17:38.637Z - 15] INFO  c.p.a.k.cassandra.SchemaMutationLock - Successfully released schema mutation lock.\n\nProcess finished with exit code 0\n```\n\nSubsequent runs now log:\n\n```\n15:16:49.758 [main] INFO  c.p.a.k.c.jmx.CassandraJmxCompaction - Jmx compaction is not enabled.\n15:16:50.268 [main calling cassandra host localhost/127.0.0.1:9160 started at 2016-10-05T22:16:50.267Z - 4] INFO  c.p.a.k.c.CassandraApiVersion - Your cassandra api version (20.1.0) supports check and set.\n15:16:50.299 [main calling cassandra host localhost/127.0.0.1:9160 started at 2016-10-05T22:16:50.280Z - 7] INFO  c.p.a.k.cassandra.SchemaMutationLock - Successfully acquired schema mutation lock.\n15:16:50.318 [main calling cassandra host localhost/127.0.0.1:9160 started at 2016-10-05T22:16:50.312Z - 12] INFO  c.p.a.k.cassandra.SchemaMutationLock - Successfully released schema mutation lock.\n\nProcess finished with exit code 0\n```\n\n<!-- Reviewable:start -->\n---\n\nThis change is [<img src=\"https://reviewable.io/review_button.svg\" height=\"34\" align=\"absmiddle\" alt=\"Reviewable\"/>](https://reviewable.io/reviews/palantir/atlasdb/1033)\n\n<!-- Reviewable:end -->\n"},"comment":{"url":"https://api.github.com/repos/palantir/atlasdb/issues/comments/258815207","html_url":"https://github.com/palantir/atlasdb/pull/1033#issuecomment-258815207","issue_url":"https://api.github.com/repos/palantir/atlasdb/issues/1033","id":258815207,"user":{"login":"gsheasby","id":15610492,"avatar_url":"https://avatars.githubusercontent.com/u/15610492?v=3","gravatar_id":"","url":"https://api.github.com/users/gsheasby","html_url":"https://github.com/gsheasby","followers_url":"https://api.github.com/users/gsheasby/followers","following_url":"https://api.github.com/users/gsheasby/following{/other_user}","gists_url":"https://api.github.com/users/gsheasby/gists{/gist_id}","starred_url":"https://api.github.com/users/gsheasby/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gsheasby/subscriptions","organizations_url":"https://api.github.com/users/gsheasby/orgs","repos_url":"https://api.github.com/users/gsheasby/repos","events_url":"https://api.github.com/users/gsheasby/events{/privacy}","received_events_url":"https://api.github.com/users/gsheasby/received_events","type":"User","site_admin":false},"created_at":"2016-11-07T11:45:50Z","updated_at":"2016-11-07T11:45:50Z","body":"Looks good to me, some more nits but they're all within CassandraVerifier (and I've made a note to spend 5-10 mins refactoring that class at some point)."}}
{"actor":{"display_login":"gsheasby"}}