{"action":"created","comment":{"url":"https://api.github.com/repos/VoltDB/voltdb/pulls/comments/213113551","pull_request_review_id":149882251,"id":213113551,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxMzExMzU1MQ==","diff_hunk":"@@ -0,0 +1,430 @@\n+/* This file is part of VoltDB.\n+ * Copyright (C) 2008-2018 VoltDB Inc.\n+ *\n+ * Permission is hereby granted, free of charge, to any person obtaining\n+ * a copy of this software and associated documentation files (the\n+ * \"Software\"), to deal in the Software without restriction, including\n+ * without limitation the rights to use, copy, modify, merge, publish,\n+ * distribute, sublicense, and/or sell copies of the Software, and to\n+ * permit persons to whom the Software is furnished to do so, subject to\n+ * the following conditions:\n+ *\n+ * The above copyright notice and this permission notice shall be\n+ * included in all copies or substantial portions of the Software.\n+ *\n+ * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n+ * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR\n+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,\n+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n+ * OTHER DEALINGS IN THE SOFTWARE.\n+ */\n+\n+package org.voltdb;\n+\n+import static org.junit.Assert.assertEquals;\n+import static org.junit.Assert.assertTrue;\n+import org.voltcore.logging.VoltLogger;\n+\n+import java.io.BufferedReader;\n+import java.io.File;\n+import java.io.IOException;\n+import java.io.InputStreamReader;\n+import java.net.ServerSocket;\n+import java.net.Socket;\n+import java.util.ArrayList;\n+import java.util.Collections;\n+import java.util.HashMap;\n+import java.util.HashSet;\n+import java.util.List;\n+import java.util.Map;\n+import java.util.Properties;\n+import java.util.Set;\n+import java.util.concurrent.ConcurrentHashMap;\n+import java.util.concurrent.ConcurrentMap;\n+import java.util.concurrent.atomic.AtomicLong;\n+\n+import org.junit.Test;\n+import org.voltdb.client.Client;\n+import org.voltdb.client.ClientConfig;\n+import org.voltdb.client.ClientFactory;\n+import org.voltdb.client.NoConnectionsException;\n+import org.voltdb.client.ProcCallException;\n+import org.voltdb.compiler.VoltProjectBuilder;\n+import org.voltdb.export.ExportDataProcessor;\n+import org.voltdb.export.TestExportBase;\n+import org.voltdb.regressionsuites.LocalCluster;\n+import org.voltdb.regressionsuites.MultiConfigSuiteBuilder;\n+import org.voltdb.utils.VoltFile;\n+\n+import com.google_voltpatches.common.base.Splitter;\n+import com.google_voltpatches.common.base.Strings;\n+import com.google_voltpatches.common.collect.Maps;\n+\n+import au.com.bytecode.opencsv_voltpatches.CSVParser;\n+\n+public class TestFlushEEBufferWhenExport extends TestExportBase\n+{\n+    private ServerListener m_serverSocket;\n+    private final List<ClientConnectionHandler> m_clients = Collections.synchronizedList(new ArrayList<ClientConnectionHandler>());\n+    private final ConcurrentMap<Long, AtomicLong> m_seenIds = new ConcurrentHashMap<Long, AtomicLong>();\n+    private Map<Integer, TopoMapEntry> m_topoMap = new HashMap<Integer, TopoMapEntry>();\n+    private static final String SCHEMA =\n+            \"CREATE STREAM t partition on column a (a integer not null, b integer not null);\";\n+    private static int m_portCount = 5001;\n+    private static LocalCluster cluster = null;\n+    private static VoltProjectBuilder project = null;\n+    private static Set<String> set = null;\n+\n+    public TestFlushEEBufferWhenExport(String name) {\n+        super(name);\n+    }\n+\n+    @Override\n+    public void setUp() throws Exception {\n+        m_username = \"default\";\n+        m_password = \"password\";\n+        VoltFile.recursivelyDelete(new File(\"/tmp/\" + System.getProperty(\"user.name\")));\n+        File f = new File(\"/tmp/\" + System.getProperty(\"user.name\"));\n+        f.mkdirs();\n+        super.setUp();\n+        m_serverSocket = new ServerListener(5001);\n+        m_serverSocket.start();\n+        //PeriodicTopoCheck check = new PeriodicTopoCheck();\n+        //check.start();\n+    }\n+\n+    @Test\n+    public void testFlushEEBufferWithOutQuiesce() throws Exception {\n+        VoltFile.resetSubrootForThisProcess();\n+        Client client = null;\n+        set = new HashSet<>();\n+        try {\n+            // config the export settings\n+            wireupExportTableToSocketExport(\"t\");\n+\n+            ClientConfig config = new ClientConfig();\n+            config.setClientAffinity(true);\n+            config.setTopologyChangeAware(true);\n+            config.setConnectionResponseTimeout(4*60*1000);\n+            config.setProcedureCallTimeout(4*60*1000);\n+            client = ClientFactory.createClient(config);\n+            client.createConnection(\"\", cluster.port(0));\n+\n+            // create a table to enable rejoin\n+            client.callProcedure(\"@AdHoc\", \"create table test (a int);\");\n+            client.callProcedure(\"@AdHoc\", \"insert into test values(1)\");\n+\n+            loadTopologyMap(client);\n+            cluster.killSingleHost(1);\n+            VoltTable vt = client.callProcedure(\"@Statistics\", \"TOPO\").getResults()[0];\n+            System.out.println(\"TOPO after kill:\");\n+            System.out.println(vt.toFormattedString());\n+            int pid = 1, rid = 0;    // partition id, random offset\n+            HostSiteId newLeader = findNewLeader(pid, rid);\n+            assertEquals(newLeader.m_hostId, 0);\n+            assertEquals(newLeader.m_siteId, 1);\n+\n+            Thread insertThread = new Thread(new Runnable() {\n+                public void run() {\n+                    Client client2 = ClientFactory.createClient(config);\n+                    try {\n+                        client2.createConnection(\"\", cluster.port(0));\n+                        for (int i=0; i < 80; i++) {\n+                            Thread.sleep(80);\n+                            //add data to stream table\n+                            client2.callProcedure(\"@AdHoc\", \"insert into t values(\" + i + \", 1)\");\n+                        }\n+                    } catch (Exception e) {\n+                        e.printStackTrace();\n+                    }\n+                }\n+            });\n+\n+            Thread rejoinThread = new Thread(new Runnable() {\n+                public void run() {\n+                    try {\n+                        Thread.sleep(50);\n+                        cluster.rejoinOne(1);\n+                    } catch (Exception e) {\n+                        e.printStackTrace();\n+                    }\n+                }\n+            });\n+            insertThread.start();\n+            rejoinThread.start();\n+\n+            Thread.sleep(6000);\n+            vt = client.callProcedure(\"@Statistics\", \"TOPO\").getResults()[0];\n+            System.out.println(\"TOPO in the end:\");\n+            System.out.println(vt.toFormattedString());\n+            client.callProcedure(\"@Quisce\");\n+            assertTrue(set.size() == 80);\n+\n+            vt.resetRowPosition();\n+            while(vt.advanceRow()) {\n+                if (vt.getLong(0) == pid) {\n+                    break;\n+                }\n+            }\n+        } catch (Exception e){\n+        } finally {\n+            if (m_clients.size() > 0) m_clients.get(0).stopClient();\n+            m_serverSocket.close();\n+            m_clients.clear();\n+            cleanup(client, cluster);\n+        }\n+    }\n+\n+    public static void wireupExportTableToSocketExport(String tableName) {\n+        String streamName = tableName;\n+        Map<String, Integer> m_portForTable = new HashMap<String, Integer>();\n+        if (!m_portForTable.containsKey(streamName)) {\n+            m_portForTable.put(streamName, getNextPort());\n+        }\n+        Properties props = new Properties();\n+        boolean m_isExportReplicated = false;","path":"tests/frontend/org/voltdb/TestFlushExportBufferWhenRejoin.java","position":187,"original_position":187,"commit_id":"160606997aed4e08ac17a1d97808f83370ab76b9","original_commit_id":"160606997aed4e08ac17a1d97808f83370ab76b9","user":{"login":"manjujames","id":12613581,"node_id":"MDQ6VXNlcjEyNjEzNTgx","avatar_url":"https://avatars3.githubusercontent.com/u/12613581?v=4","gravatar_id":"","url":"https://api.github.com/users/manjujames","html_url":"https://github.com/manjujames","followers_url":"https://api.github.com/users/manjujames/followers","following_url":"https://api.github.com/users/manjujames/following{/other_user}","gists_url":"https://api.github.com/users/manjujames/gists{/gist_id}","starred_url":"https://api.github.com/users/manjujames/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/manjujames/subscriptions","organizations_url":"https://api.github.com/users/manjujames/orgs","repos_url":"https://api.github.com/users/manjujames/repos","events_url":"https://api.github.com/users/manjujames/events{/privacy}","received_events_url":"https://api.github.com/users/manjujames/received_events","type":"User","site_admin":false},"body":"This is also a local variable. So, it should just be isExportReplicated, no m_","created_at":"2018-08-27T20:59:30Z","updated_at":"2018-08-27T20:59:30Z","html_url":"https://github.com/VoltDB/voltdb/pull/5565#discussion_r213113551","pull_request_url":"https://api.github.com/repos/VoltDB/voltdb/pulls/5565","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/VoltDB/voltdb/pulls/comments/213113551"},"html":{"href":"https://github.com/VoltDB/voltdb/pull/5565#discussion_r213113551"},"pull_request":{"href":"https://api.github.com/repos/VoltDB/voltdb/pulls/5565"}}},"pull_request":{"url":"https://api.github.com/repos/VoltDB/voltdb/pulls/5565","id":211143104,"node_id":"MDExOlB1bGxSZXF1ZXN0MjExMTQzMTA0","html_url":"https://github.com/VoltDB/voltdb/pull/5565","diff_url":"https://github.com/VoltDB/voltdb/pull/5565.diff","patch_url":"https://github.com/VoltDB/voltdb/pull/5565.patch","issue_url":"https://api.github.com/repos/VoltDB/voltdb/issues/5565","number":5565,"state":"open","locked":false,"title":"Eng 13952 test","user":{"login":"GuaGuaDean","id":17966660,"node_id":"MDQ6VXNlcjE3OTY2NjYw","avatar_url":"https://avatars0.githubusercontent.com/u/17966660?v=4","gravatar_id":"","url":"https://api.github.com/users/GuaGuaDean","html_url":"https://github.com/GuaGuaDean","followers_url":"https://api.github.com/users/GuaGuaDean/followers","following_url":"https://api.github.com/users/GuaGuaDean/following{/other_user}","gists_url":"https://api.github.com/users/GuaGuaDean/gists{/gist_id}","starred_url":"https://api.github.com/users/GuaGuaDean/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GuaGuaDean/subscriptions","organizations_url":"https://api.github.com/users/GuaGuaDean/orgs","repos_url":"https://api.github.com/users/GuaGuaDean/repos","events_url":"https://api.github.com/users/GuaGuaDean/events{/privacy}","received_events_url":"https://api.github.com/users/GuaGuaDean/received_events","type":"User","site_admin":false},"body":"When a node rejoining, it will ask the surviving node to save snapshot, which will call @Quiesce SysProc. So we don't need to do this again in MigratePartitionLeader process. Test case attached.","created_at":"2018-08-27T15:21:02Z","updated_at":"2018-08-27T20:59:30Z","closed_at":null,"merged_at":null,"merge_commit_sha":"d6439346d16c53776b573e5769be375800c58735","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/VoltDB/voltdb/pulls/5565/commits","review_comments_url":"https://api.github.com/repos/VoltDB/voltdb/pulls/5565/comments","review_comment_url":"https://api.github.com/repos/VoltDB/voltdb/pulls/comments{/number}","comments_url":"https://api.github.com/repos/VoltDB/voltdb/issues/5565/comments","statuses_url":"https://api.github.com/repos/VoltDB/voltdb/statuses/160606997aed4e08ac17a1d97808f83370ab76b9","head":{"label":"VoltDB:ENG-13952-test","ref":"ENG-13952-test","sha":"160606997aed4e08ac17a1d97808f83370ab76b9","user":{"login":"VoltDB","id":703910,"node_id":"MDEyOk9yZ2FuaXphdGlvbjcwMzkxMA==","avatar_url":"https://avatars3.githubusercontent.com/u/703910?v=4","gravatar_id":"","url":"https://api.github.com/users/VoltDB","html_url":"https://github.com/VoltDB","followers_url":"https://api.github.com/users/VoltDB/followers","following_url":"https://api.github.com/users/VoltDB/following{/other_user}","gists_url":"https://api.github.com/users/VoltDB/gists{/gist_id}","starred_url":"https://api.github.com/users/VoltDB/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/VoltDB/subscriptions","organizations_url":"https://api.github.com/users/VoltDB/orgs","repos_url":"https://api.github.com/users/VoltDB/repos","events_url":"https://api.github.com/users/VoltDB/events{/privacy}","received_events_url":"https://api.github.com/users/VoltDB/received_events","type":"Organization","site_admin":false},"repo":{"id":2445970,"node_id":"MDEwOlJlcG9zaXRvcnkyNDQ1OTcw","name":"voltdb","full_name":"VoltDB/voltdb","owner":{"login":"VoltDB","id":703910,"node_id":"MDEyOk9yZ2FuaXphdGlvbjcwMzkxMA==","avatar_url":"https://avatars3.githubusercontent.com/u/703910?v=4","gravatar_id":"","url":"https://api.github.com/users/VoltDB","html_url":"https://github.com/VoltDB","followers_url":"https://api.github.com/users/VoltDB/followers","following_url":"https://api.github.com/users/VoltDB/following{/other_user}","gists_url":"https://api.github.com/users/VoltDB/gists{/gist_id}","starred_url":"https://api.github.com/users/VoltDB/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/VoltDB/subscriptions","organizations_url":"https://api.github.com/users/VoltDB/orgs","repos_url":"https://api.github.com/users/VoltDB/repos","events_url":"https://api.github.com/users/VoltDB/events{/privacy}","received_events_url":"https://api.github.com/users/VoltDB/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/VoltDB/voltdb","description":"VoltDB","fork":false,"url":"https://api.github.com/repos/VoltDB/voltdb","forks_url":"https://api.github.com/repos/VoltDB/voltdb/forks","keys_url":"https://api.github.com/repos/VoltDB/voltdb/keys{/key_id}","collaborators_url":"https://api.github.com/repos/VoltDB/voltdb/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/VoltDB/voltdb/teams","hooks_url":"https://api.github.com/repos/VoltDB/voltdb/hooks","issue_events_url":"https://api.github.com/repos/VoltDB/voltdb/issues/events{/number}","events_url":"https://api.github.com/repos/VoltDB/voltdb/events","assignees_url":"https://api.github.com/repos/VoltDB/voltdb/assignees{/user}","branches_url":"https://api.github.com/repos/VoltDB/voltdb/branches{/branch}","tags_url":"https://api.github.com/repos/VoltDB/voltdb/tags","blobs_url":"https://api.github.com/repos/VoltDB/voltdb/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/VoltDB/voltdb/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/VoltDB/voltdb/git/refs{/sha}","trees_url":"https://api.github.com/repos/VoltDB/voltdb/git/trees{/sha}","statuses_url":"https://api.github.com/repos/VoltDB/voltdb/statuses/{sha}","languages_url":"https://api.github.com/repos/VoltDB/voltdb/languages","stargazers_url":"https://api.github.com/repos/VoltDB/voltdb/stargazers","contributors_url":"https://api.github.com/repos/VoltDB/voltdb/contributors","subscribers_url":"https://api.github.com/repos/VoltDB/voltdb/subscribers","subscription_url":"https://api.github.com/repos/VoltDB/voltdb/subscription","commits_url":"https://api.github.com/repos/VoltDB/voltdb/commits{/sha}","git_commits_url":"https://api.github.com/repos/VoltDB/voltdb/git/commits{/sha}","comments_url":"https://api.github.com/repos/VoltDB/voltdb/comments{/number}","issue_comment_url":"https://api.github.com/repos/VoltDB/voltdb/issues/comments{/number}","contents_url":"https://api.github.com/repos/VoltDB/voltdb/contents/{+path}","compare_url":"https://api.github.com/repos/VoltDB/voltdb/compare/{base}...{head}","merges_url":"https://api.github.com/repos/VoltDB/voltdb/merges","archive_url":"https://api.github.com/repos/VoltDB/voltdb/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/VoltDB/voltdb/downloads","issues_url":"https://api.github.com/repos/VoltDB/voltdb/issues{/number}","pulls_url":"https://api.github.com/repos/VoltDB/voltdb/pulls{/number}","milestones_url":"https://api.github.com/repos/VoltDB/voltdb/milestones{/number}","notifications_url":"https://api.github.com/repos/VoltDB/voltdb/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/VoltDB/voltdb/labels{/name}","releases_url":"https://api.github.com/repos/VoltDB/voltdb/releases{/id}","deployments_url":"https://api.github.com/repos/VoltDB/voltdb/deployments","created_at":"2011-09-23T18:46:12Z","updated_at":"2018-08-27T14:59:08Z","pushed_at":"2018-08-27T19:57:19Z","git_url":"git://github.com/VoltDB/voltdb.git","ssh_url":"git@github.com:VoltDB/voltdb.git","clone_url":"https://github.com/VoltDB/voltdb.git","svn_url":"https://github.com/VoltDB/voltdb","homepage":"http://community.voltdb.com/","size":528031,"stargazers_count":1215,"watchers_count":1215,"language":"Java","has_issues":false,"has_projects":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":336,"mirror_url":null,"archived":false,"open_issues_count":73,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0","node_id":"MDc6TGljZW5zZTE="},"forks":336,"open_issues":73,"watchers":1215,"default_branch":"master"}},"base":{"label":"VoltDB:master","ref":"master","sha":"77c9fe4a4e5f4627faf5413f1e40e61965870030","user":{"login":"VoltDB","id":703910,"node_id":"MDEyOk9yZ2FuaXphdGlvbjcwMzkxMA==","avatar_url":"https://avatars3.githubusercontent.com/u/703910?v=4","gravatar_id":"","url":"https://api.github.com/users/VoltDB","html_url":"https://github.com/VoltDB","followers_url":"https://api.github.com/users/VoltDB/followers","following_url":"https://api.github.com/users/VoltDB/following{/other_user}","gists_url":"https://api.github.com/users/VoltDB/gists{/gist_id}","starred_url":"https://api.github.com/users/VoltDB/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/VoltDB/subscriptions","organizations_url":"https://api.github.com/users/VoltDB/orgs","repos_url":"https://api.github.com/users/VoltDB/repos","events_url":"https://api.github.com/users/VoltDB/events{/privacy}","received_events_url":"https://api.github.com/users/VoltDB/received_events","type":"Organization","site_admin":false},"repo":{"id":2445970,"node_id":"MDEwOlJlcG9zaXRvcnkyNDQ1OTcw","name":"voltdb","full_name":"VoltDB/voltdb","owner":{"login":"VoltDB","id":703910,"node_id":"MDEyOk9yZ2FuaXphdGlvbjcwMzkxMA==","avatar_url":"https://avatars3.githubusercontent.com/u/703910?v=4","gravatar_id":"","url":"https://api.github.com/users/VoltDB","html_url":"https://github.com/VoltDB","followers_url":"https://api.github.com/users/VoltDB/followers","following_url":"https://api.github.com/users/VoltDB/following{/other_user}","gists_url":"https://api.github.com/users/VoltDB/gists{/gist_id}","starred_url":"https://api.github.com/users/VoltDB/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/VoltDB/subscriptions","organizations_url":"https://api.github.com/users/VoltDB/orgs","repos_url":"https://api.github.com/users/VoltDB/repos","events_url":"https://api.github.com/users/VoltDB/events{/privacy}","received_events_url":"https://api.github.com/users/VoltDB/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/VoltDB/voltdb","description":"VoltDB","fork":false,"url":"https://api.github.com/repos/VoltDB/voltdb","forks_url":"https://api.github.com/repos/VoltDB/voltdb/forks","keys_url":"https://api.github.com/repos/VoltDB/voltdb/keys{/key_id}","collaborators_url":"https://api.github.com/repos/VoltDB/voltdb/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/VoltDB/voltdb/teams","hooks_url":"https://api.github.com/repos/VoltDB/voltdb/hooks","issue_events_url":"https://api.github.com/repos/VoltDB/voltdb/issues/events{/number}","events_url":"https://api.github.com/repos/VoltDB/voltdb/events","assignees_url":"https://api.github.com/repos/VoltDB/voltdb/assignees{/user}","branches_url":"https://api.github.com/repos/VoltDB/voltdb/branches{/branch}","tags_url":"https://api.github.com/repos/VoltDB/voltdb/tags","blobs_url":"https://api.github.com/repos/VoltDB/voltdb/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/VoltDB/voltdb/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/VoltDB/voltdb/git/refs{/sha}","trees_url":"https://api.github.com/repos/VoltDB/voltdb/git/trees{/sha}","statuses_url":"https://api.github.com/repos/VoltDB/voltdb/statuses/{sha}","languages_url":"https://api.github.com/repos/VoltDB/voltdb/languages","stargazers_url":"https://api.github.com/repos/VoltDB/voltdb/stargazers","contributors_url":"https://api.github.com/repos/VoltDB/voltdb/contributors","subscribers_url":"https://api.github.com/repos/VoltDB/voltdb/subscribers","subscription_url":"https://api.github.com/repos/VoltDB/voltdb/subscription","commits_url":"https://api.github.com/repos/VoltDB/voltdb/commits{/sha}","git_commits_url":"https://api.github.com/repos/VoltDB/voltdb/git/commits{/sha}","comments_url":"https://api.github.com/repos/VoltDB/voltdb/comments{/number}","issue_comment_url":"https://api.github.com/repos/VoltDB/voltdb/issues/comments{/number}","contents_url":"https://api.github.com/repos/VoltDB/voltdb/contents/{+path}","compare_url":"https://api.github.com/repos/VoltDB/voltdb/compare/{base}...{head}","merges_url":"https://api.github.com/repos/VoltDB/voltdb/merges","archive_url":"https://api.github.com/repos/VoltDB/voltdb/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/VoltDB/voltdb/downloads","issues_url":"https://api.github.com/repos/VoltDB/voltdb/issues{/number}","pulls_url":"https://api.github.com/repos/VoltDB/voltdb/pulls{/number}","milestones_url":"https://api.github.com/repos/VoltDB/voltdb/milestones{/number}","notifications_url":"https://api.github.com/repos/VoltDB/voltdb/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/VoltDB/voltdb/labels{/name}","releases_url":"https://api.github.com/repos/VoltDB/voltdb/releases{/id}","deployments_url":"https://api.github.com/repos/VoltDB/voltdb/deployments","created_at":"2011-09-23T18:46:12Z","updated_at":"2018-08-27T14:59:08Z","pushed_at":"2018-08-27T19:57:19Z","git_url":"git://github.com/VoltDB/voltdb.git","ssh_url":"git@github.com:VoltDB/voltdb.git","clone_url":"https://github.com/VoltDB/voltdb.git","svn_url":"https://github.com/VoltDB/voltdb","homepage":"http://community.voltdb.com/","size":528031,"stargazers_count":1215,"watchers_count":1215,"language":"Java","has_issues":false,"has_projects":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":336,"mirror_url":null,"archived":false,"open_issues_count":73,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0","node_id":"MDc6TGljZW5zZTE="},"forks":336,"open_issues":73,"watchers":1215,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/VoltDB/voltdb/pulls/5565"},"html":{"href":"https://github.com/VoltDB/voltdb/pull/5565"},"issue":{"href":"https://api.github.com/repos/VoltDB/voltdb/issues/5565"},"comments":{"href":"https://api.github.com/repos/VoltDB/voltdb/issues/5565/comments"},"review_comments":{"href":"https://api.github.com/repos/VoltDB/voltdb/pulls/5565/comments"},"review_comment":{"href":"https://api.github.com/repos/VoltDB/voltdb/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/VoltDB/voltdb/pulls/5565/commits"},"statuses":{"href":"https://api.github.com/repos/VoltDB/voltdb/statuses/160606997aed4e08ac17a1d97808f83370ab76b9"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"manjujames"}}