{"action":"created","comment":{"url":"https://api.github.com/repos/VoltDB/voltdb/pulls/comments/72280393","id":72280393,"diff_hunk":"@@ -157,58 +156,65 @@ public void deliver(VoltMessage msg)\n          * confirmation or communication with other replicas. In a partition scenario, it's\n          * possible to read an unconfirmed transaction's writes that will be lost.\n          */\n-\n+        boolean isShortcutReadBySetting = m_defaultConsistencyReadLevel.hasShortcutRead();\n         if (!m_isLeader && msg instanceof Iv2InitiateTaskMessage) {\n             final Iv2InitiateTaskMessage m = (Iv2InitiateTaskMessage)msg;\n \n-            boolean shortcutRead = m.isReadOnly() && (m_defaultConsistencyReadLevel == ReadLevel.FAST);\n-\n+            boolean shortcutRead = m.isReadOnly() && isShortcutReadBySetting;\n+            if (shortcutRead) {\n+                return;\n+            }\n             // We can't repair shortcut-read SP transactions due to their short-circuited nature.\n             // Just don't log them to the repair log.\n-            if (!shortcutRead) {\n-                m_lastSpHandle = m.getSpHandle();\n-                truncate(m.getTruncationHandle(), IS_SP);\n-                m_logSP.add(new Item(IS_SP, m, m.getSpHandle(), m.getTxnId()));\n-            }\n-        } else if (msg instanceof FragmentTaskMessage) {\n-            final FragmentTaskMessage m = (FragmentTaskMessage) msg;\n \n-            boolean shortcutRead = m.isReadOnly() && (m_defaultConsistencyReadLevel == ReadLevel.FAST);\n+            m_lastSpHandle = m.getSpHandle();\n+            truncate(m.getTruncationHandle(), IS_SP);\n+            m_logSP.add(new Item(IS_SP, m, m.getSpHandle(), m.getTxnId()));\n+            return;\n+        }\n+        if (msg instanceof FragmentTaskMessage) {\n+            final FragmentTaskMessage m = (FragmentTaskMessage) msg;\n \n-            if (!shortcutRead) {\n-                truncate(m.getTruncationHandle(), IS_MP);\n-                // only log the first fragment of a procedure (and handle 1st case)\n-                if (m.getTxnId() > m_lastMpHandle || m_lastMpHandle == Long.MAX_VALUE) {\n-                    m_logMP.add(new Item(IS_MP, m, m.getSpHandle(), m.getTxnId()));\n-                    m_lastMpHandle = m.getTxnId();\n-                    m_lastSpHandle = m.getSpHandle();\n-                }\n+            boolean shortcutRead = m.isReadOnly() && isShortcutReadBySetting;\n+            if (shortcutRead) {\n+                return;\n+            }\n+            truncate(m.getTruncationHandle(), IS_MP);\n+            // only log the first fragment of a procedure (and handle 1st case)\n+            if (m.getTxnId() > m_lastMpHandle || m_lastMpHandle == Long.MAX_VALUE) {\n+                m_logMP.add(new Item(IS_MP, m, m.getSpHandle(), m.getTxnId()));\n+                m_lastMpHandle = m.getTxnId();\n+                m_lastSpHandle = m.getSpHandle();\n             }\n+            return;\n         }\n-        else if (msg instanceof CompleteTransactionMessage) {\n+        if (msg instanceof CompleteTransactionMessage) {\n             // a CompleteTransactionMessage which indicates restart is not the end of the\n             // transaction.  We don't want to log it in the repair log.\n             CompleteTransactionMessage ctm = (CompleteTransactionMessage)msg;\n \n-            boolean shortcutRead = ctm.isReadOnly() && (m_defaultConsistencyReadLevel == ReadLevel.FAST);\n-\n-            if (!shortcutRead && !ctm.isRestart()) {\n-                truncate(ctm.getTruncationHandle(), IS_MP);\n-                m_logMP.add(new Item(IS_MP, ctm, ctm.getSpHandle(), ctm.getTxnId()));\n-                //Restore will send a complete transaction message with a lower mp transaction id because\n-                //the restore transaction precedes the loading of the right mp transaction id from the snapshot\n-                //Hence Math.max\n-                m_lastMpHandle = Math.max(m_lastMpHandle, ctm.getTxnId());\n-                m_lastSpHandle = ctm.getSpHandle();\n+            boolean shortcutRead = ctm.isReadOnly() && isShortcutReadBySetting;\n+            if (shortcutRead || ctm.isRestart()) {\n+                return;\n             }\n+\n+            truncate(ctm.getTruncationHandle(), IS_MP);\n+            m_logMP.add(new Item(IS_MP, ctm, ctm.getSpHandle(), ctm.getTxnId()));\n+            //Restore will send a complete transaction message with a lower mp transaction id because\n+            //the restore transaction precedes the loading of the right mp transaction id from the snapshot\n+            //Hence Math.max\n+            m_lastMpHandle = Math.max(m_lastMpHandle, ctm.getTxnId());\n+            m_lastSpHandle = ctm.getSpHandle();\n+            return;\n         }\n-        else if (msg instanceof DumpMessage) {\n+        if (msg instanceof DumpMessage) {\n             String who = CoreUtils.hsIdToString(m_HSId);\n             tmLog.warn(\"Repair log dump for site: \" + who + \", isLeader: \" + m_isLeader);\n             tmLog.warn(\"\" + who + \": lastSpHandle: \" + m_lastSpHandle + \", lastMpHandle: \" + m_lastMpHandle);\n             for (Iv2RepairLogResponseMessage il : contents(0l, false)) {\n                tmLog.warn(\"\" + who + \": msg: \" + il);\n             }\n+            return;","path":"src/frontend/org/voltdb/iv2/RepairLog.java","position":110,"original_position":110,"commit_id":"e58136e977751b17cb2c825ed7965269fdcf47f6","original_commit_id":"e58136e977751b17cb2c825ed7965269fdcf47f6","user":{"login":"nshi","id":10992,"avatar_url":"https://avatars.githubusercontent.com/u/10992?v=3","gravatar_id":"","url":"https://api.github.com/users/nshi","html_url":"https://github.com/nshi","followers_url":"https://api.github.com/users/nshi/followers","following_url":"https://api.github.com/users/nshi/following{/other_user}","gists_url":"https://api.github.com/users/nshi/gists{/gist_id}","starred_url":"https://api.github.com/users/nshi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nshi/subscriptions","organizations_url":"https://api.github.com/users/nshi/orgs","repos_url":"https://api.github.com/users/nshi/repos","events_url":"https://api.github.com/users/nshi/events{/privacy}","received_events_url":"https://api.github.com/users/nshi/received_events","type":"User","site_admin":false},"body":"It makes the pull request noisy, considering this is an important change to a critical path.","created_at":"2016-07-26T16:00:44Z","updated_at":"2016-07-26T16:00:44Z","html_url":"https://github.com/VoltDB/voltdb/pull/3782#discussion_r72280393","pull_request_url":"https://api.github.com/repos/VoltDB/voltdb/pulls/3782","_links":{"self":{"href":"https://api.github.com/repos/VoltDB/voltdb/pulls/comments/72280393"},"html":{"href":"https://github.com/VoltDB/voltdb/pull/3782#discussion_r72280393"},"pull_request":{"href":"https://api.github.com/repos/VoltDB/voltdb/pulls/3782"}}},"pull_request":{"url":"https://api.github.com/repos/VoltDB/voltdb/pulls/3782","id":78874292,"html_url":"https://github.com/VoltDB/voltdb/pull/3782","diff_url":"https://github.com/VoltDB/voltdb/pull/3782.diff","patch_url":"https://github.com/VoltDB/voltdb/pull/3782.patch","issue_url":"https://api.github.com/repos/VoltDB/voltdb/issues/3782","number":3782,"state":"open","locked":false,"title":"replace the default SAFE reads option with a faster better SAFE option","user":{"login":"xinjiacs","id":1305380,"avatar_url":"https://avatars.githubusercontent.com/u/1305380?v=3","gravatar_id":"","url":"https://api.github.com/users/xinjiacs","html_url":"https://github.com/xinjiacs","followers_url":"https://api.github.com/users/xinjiacs/followers","following_url":"https://api.github.com/users/xinjiacs/following{/other_user}","gists_url":"https://api.github.com/users/xinjiacs/gists{/gist_id}","starred_url":"https://api.github.com/users/xinjiacs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xinjiacs/subscriptions","organizations_url":"https://api.github.com/users/xinjiacs/orgs","repos_url":"https://api.github.com/users/xinjiacs/repos","events_url":"https://api.github.com/users/xinjiacs/events{/privacy}","received_events_url":"https://api.github.com/users/xinjiacs/received_events","type":"User","site_admin":false},"body":"We could move ShortCircuitReadLog into repair log with duplicate counter, but it will make the code review harder.  I propose to have a separate cleaning ticket with existing code.","created_at":"2016-07-26T15:36:04Z","updated_at":"2016-07-26T16:00:44Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c133b0ffa30781e1d00729e6c169f0541b2d4211","assignee":{"login":"nshi","id":10992,"avatar_url":"https://avatars.githubusercontent.com/u/10992?v=3","gravatar_id":"","url":"https://api.github.com/users/nshi","html_url":"https://github.com/nshi","followers_url":"https://api.github.com/users/nshi/followers","following_url":"https://api.github.com/users/nshi/following{/other_user}","gists_url":"https://api.github.com/users/nshi/gists{/gist_id}","starred_url":"https://api.github.com/users/nshi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nshi/subscriptions","organizations_url":"https://api.github.com/users/nshi/orgs","repos_url":"https://api.github.com/users/nshi/repos","events_url":"https://api.github.com/users/nshi/events{/privacy}","received_events_url":"https://api.github.com/users/nshi/received_events","type":"User","site_admin":false},"assignees":[{"login":"nshi","id":10992,"avatar_url":"https://avatars.githubusercontent.com/u/10992?v=3","gravatar_id":"","url":"https://api.github.com/users/nshi","html_url":"https://github.com/nshi","followers_url":"https://api.github.com/users/nshi/followers","following_url":"https://api.github.com/users/nshi/following{/other_user}","gists_url":"https://api.github.com/users/nshi/gists{/gist_id}","starred_url":"https://api.github.com/users/nshi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nshi/subscriptions","organizations_url":"https://api.github.com/users/nshi/orgs","repos_url":"https://api.github.com/users/nshi/repos","events_url":"https://api.github.com/users/nshi/events{/privacy}","received_events_url":"https://api.github.com/users/nshi/received_events","type":"User","site_admin":false},{"login":"jhugg","id":634609,"avatar_url":"https://avatars.githubusercontent.com/u/634609?v=3","gravatar_id":"","url":"https://api.github.com/users/jhugg","html_url":"https://github.com/jhugg","followers_url":"https://api.github.com/users/jhugg/followers","following_url":"https://api.github.com/users/jhugg/following{/other_user}","gists_url":"https://api.github.com/users/jhugg/gists{/gist_id}","starred_url":"https://api.github.com/users/jhugg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jhugg/subscriptions","organizations_url":"https://api.github.com/users/jhugg/orgs","repos_url":"https://api.github.com/users/jhugg/repos","events_url":"https://api.github.com/users/jhugg/events{/privacy}","received_events_url":"https://api.github.com/users/jhugg/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/VoltDB/voltdb/pulls/3782/commits","review_comments_url":"https://api.github.com/repos/VoltDB/voltdb/pulls/3782/comments","review_comment_url":"https://api.github.com/repos/VoltDB/voltdb/pulls/comments{/number}","comments_url":"https://api.github.com/repos/VoltDB/voltdb/issues/3782/comments","statuses_url":"https://api.github.com/repos/VoltDB/voltdb/statuses/e58136e977751b17cb2c825ed7965269fdcf47f6","head":{"label":"VoltDB:ENG-10831-better-safe","ref":"ENG-10831-better-safe","sha":"e58136e977751b17cb2c825ed7965269fdcf47f6","user":{"login":"VoltDB","id":703910,"avatar_url":"https://avatars.githubusercontent.com/u/703910?v=3","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,"name":"voltdb","full_name":"VoltDB/voltdb","owner":{"login":"VoltDB","id":703910,"avatar_url":"https://avatars.githubusercontent.com/u/703910?v=3","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":"2016-07-25T22:22:09Z","pushed_at":"2016-07-26T16:00:31Z","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":612081,"stargazers_count":821,"watchers_count":821,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":252,"mirror_url":null,"open_issues_count":42,"forks":252,"open_issues":42,"watchers":821,"default_branch":"master"}},"base":{"label":"VoltDB:master","ref":"master","sha":"23643e0496f91b69f5039a33f8077059d219b1a0","user":{"login":"VoltDB","id":703910,"avatar_url":"https://avatars.githubusercontent.com/u/703910?v=3","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,"name":"voltdb","full_name":"VoltDB/voltdb","owner":{"login":"VoltDB","id":703910,"avatar_url":"https://avatars.githubusercontent.com/u/703910?v=3","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":"2016-07-25T22:22:09Z","pushed_at":"2016-07-26T16:00:31Z","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":612081,"stargazers_count":821,"watchers_count":821,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":252,"mirror_url":null,"open_issues_count":42,"forks":252,"open_issues":42,"watchers":821,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/VoltDB/voltdb/pulls/3782"},"html":{"href":"https://github.com/VoltDB/voltdb/pull/3782"},"issue":{"href":"https://api.github.com/repos/VoltDB/voltdb/issues/3782"},"comments":{"href":"https://api.github.com/repos/VoltDB/voltdb/issues/3782/comments"},"review_comments":{"href":"https://api.github.com/repos/VoltDB/voltdb/pulls/3782/comments"},"review_comment":{"href":"https://api.github.com/repos/VoltDB/voltdb/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/VoltDB/voltdb/pulls/3782/commits"},"statuses":{"href":"https://api.github.com/repos/VoltDB/voltdb/statuses/e58136e977751b17cb2c825ed7965269fdcf47f6"}}}}
{"actor":{"display_login":"nshi"}}