{"action":"created","comment":{"url":"https://api.github.com/repos/akka/akka/pulls/comments/79139927","id":79139927,"diff_hunk":"@@ -595,31 +596,43 @@ private[remote] class ArteryTransport(_system: ExtendedActorSystem, _provider: R\n             import CompressionProtocol._\n             m match {\n               case ActorRefCompressionAdvertisement(from, table) ⇒\n-                log.debug(\"Incoming ActorRef compression advertisement from [{}], table: [{}]\", from, table)\n-                val a = association(from.address)\n-                // make sure uid is same for active association\n-                if (a.associationState.uniqueRemoteAddressValue().contains(from)) {\n-                  import system.dispatcher\n-                  a.changeActorRefCompression(table).foreach { _ ⇒\n-                    a.sendControl(ActorRefCompressionAdvertisementAck(localAddress, table.version))\n-                    system.eventStream.publish(Events.ReceivedActorRefCompressionTable(from, table))\n+                if (table.originUid == localAddress.uid) {\n+                  log.debug(\"Incoming ActorRef compression advertisement from [{}], table: [{}]\", from, table)\n+                  val a = association(from.address)\n+                  // make sure uid is same for active association\n+                  if (a.associationState.uniqueRemoteAddressValue().contains(from)) {\n+                    import system.dispatcher\n+                    a.changeActorRefCompression(table).foreach { _ ⇒\n+                      a.sendControl(ActorRefCompressionAdvertisementAck(localAddress, table.version))\n+                      system.eventStream.publish(Events.ReceivedActorRefCompressionTable(from, table))\n+                    }\n                   }\n-                }\n+                } else\n+                  log.debug(\n+                    \"Discarding incoming ActorRef compression advertisement from [{}] that was \" +\n+                      \"prepared for another incarnation [{}] than current [{}], table: [{}]\",","path":"akka-remote/src/main/scala/akka/remote/artery/ArteryTransport.scala","position":55,"original_position":55,"commit_id":"9ae4ae58ad7080f7cf2f0da8ef2dfc2fa0cf243e","original_commit_id":"9ae4ae58ad7080f7cf2f0da8ef2dfc2fa0cf243e","user":{"login":"drewhk","id":932285,"avatar_url":"https://avatars.githubusercontent.com/u/932285?v=3","gravatar_id":"","url":"https://api.github.com/users/drewhk","html_url":"https://github.com/drewhk","followers_url":"https://api.github.com/users/drewhk/followers","following_url":"https://api.github.com/users/drewhk/following{/other_user}","gists_url":"https://api.github.com/users/drewhk/gists{/gist_id}","starred_url":"https://api.github.com/users/drewhk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drewhk/subscriptions","organizations_url":"https://api.github.com/users/drewhk/orgs","repos_url":"https://api.github.com/users/drewhk/repos","events_url":"https://api.github.com/users/drewhk/events{/privacy}","received_events_url":"https://api.github.com/users/drewhk/received_events","type":"User","site_admin":false},"body":"add the string \"uid\" there to make it more clear (i.e. \"incarnation with uid\")","created_at":"2016-09-16T10:00:56Z","updated_at":"2016-09-16T10:00:56Z","html_url":"https://github.com/akka/akka/pull/21474#discussion_r79139927","pull_request_url":"https://api.github.com/repos/akka/akka/pulls/21474","_links":{"self":{"href":"https://api.github.com/repos/akka/akka/pulls/comments/79139927"},"html":{"href":"https://github.com/akka/akka/pull/21474#discussion_r79139927"},"pull_request":{"href":"https://api.github.com/repos/akka/akka/pulls/21474"}}},"pull_request":{"url":"https://api.github.com/repos/akka/akka/pulls/21474","id":85541716,"html_url":"https://github.com/akka/akka/pull/21474","diff_url":"https://github.com/akka/akka/pull/21474.diff","patch_url":"https://github.com/akka/akka/pull/21474.patch","issue_url":"https://api.github.com/repos/akka/akka/issues/21474","number":21474,"state":"open","locked":false,"title":"fix many bugs in InboundCompressions, #21464","user":{"login":"patriknw","id":336161,"avatar_url":"https://avatars.githubusercontent.com/u/336161?v=3","gravatar_id":"","url":"https://api.github.com/users/patriknw","html_url":"https://github.com/patriknw","followers_url":"https://api.github.com/users/patriknw/followers","following_url":"https://api.github.com/users/patriknw/following{/other_user}","gists_url":"https://api.github.com/users/patriknw/gists{/gist_id}","starred_url":"https://api.github.com/users/patriknw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/patriknw/subscriptions","organizations_url":"https://api.github.com/users/patriknw/orgs","repos_url":"https://api.github.com/users/patriknw/repos","events_url":"https://api.github.com/users/patriknw/events{/privacy}","received_events_url":"https://api.github.com/users/patriknw/received_events","type":"User","site_admin":false},"body":"* comprehensive integration test that revealed many bugs\r\n* confirmations of manifests were wrong, at two places\r\n* using wrong tables when system is restarted, including\r\n  originUid in the tables with checks when receiving advertisments\r\n* close (stop scheduling) of advertisments when new incarnation,\r\n  quarantine, or restart\r\n* cleanup how deadLetters ref was treated, and made it more robust\r\n* make Decoder tolerant to decompression failures, can happen in\r\n  case of system restart before handshake completed\r\n* give up resending advertisment after a few attempts without confirmation,\r\n  to avoid keeping outbound association open to possible dead system\r\n* don't advertise new table when no inbound messages,\r\n  to avoid keeping outbound association open to possible dead system\r\n* HeaderBuilder could use manifest field from previous message, added\r\n  resetMessageFields\r\n* No compression for ArteryMessage, e.g. handshake messages must go\r\n  through without depending on compression tables being in sync\r\n* improve debug logging, including originUid","created_at":"2016-09-16T09:20:02Z","updated_at":"2016-09-16T10:00:56Z","closed_at":null,"merged_at":null,"merge_commit_sha":"04828aa39fe51a7b354cb905a01693dee0424e88","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/akka/akka/pulls/21474/commits","review_comments_url":"https://api.github.com/repos/akka/akka/pulls/21474/comments","review_comment_url":"https://api.github.com/repos/akka/akka/pulls/comments{/number}","comments_url":"https://api.github.com/repos/akka/akka/issues/21474/comments","statuses_url":"https://api.github.com/repos/akka/akka/statuses/9ae4ae58ad7080f7cf2f0da8ef2dfc2fa0cf243e","head":{"label":"akka:wip-21464-decoder-NoSuchElement-patriknw","ref":"wip-21464-decoder-NoSuchElement-patriknw","sha":"9ae4ae58ad7080f7cf2f0da8ef2dfc2fa0cf243e","user":{"login":"akka","id":1496237,"avatar_url":"https://avatars.githubusercontent.com/u/1496237?v=3","gravatar_id":"","url":"https://api.github.com/users/akka","html_url":"https://github.com/akka","followers_url":"https://api.github.com/users/akka/followers","following_url":"https://api.github.com/users/akka/following{/other_user}","gists_url":"https://api.github.com/users/akka/gists{/gist_id}","starred_url":"https://api.github.com/users/akka/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akka/subscriptions","organizations_url":"https://api.github.com/users/akka/orgs","repos_url":"https://api.github.com/users/akka/repos","events_url":"https://api.github.com/users/akka/events{/privacy}","received_events_url":"https://api.github.com/users/akka/received_events","type":"Organization","site_admin":false},"repo":{"id":130013,"name":"akka","full_name":"akka/akka","owner":{"login":"akka","id":1496237,"avatar_url":"https://avatars.githubusercontent.com/u/1496237?v=3","gravatar_id":"","url":"https://api.github.com/users/akka","html_url":"https://github.com/akka","followers_url":"https://api.github.com/users/akka/followers","following_url":"https://api.github.com/users/akka/following{/other_user}","gists_url":"https://api.github.com/users/akka/gists{/gist_id}","starred_url":"https://api.github.com/users/akka/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akka/subscriptions","organizations_url":"https://api.github.com/users/akka/orgs","repos_url":"https://api.github.com/users/akka/repos","events_url":"https://api.github.com/users/akka/events{/privacy}","received_events_url":"https://api.github.com/users/akka/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/akka/akka","description":"Akka Project","fork":false,"url":"https://api.github.com/repos/akka/akka","forks_url":"https://api.github.com/repos/akka/akka/forks","keys_url":"https://api.github.com/repos/akka/akka/keys{/key_id}","collaborators_url":"https://api.github.com/repos/akka/akka/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/akka/akka/teams","hooks_url":"https://api.github.com/repos/akka/akka/hooks","issue_events_url":"https://api.github.com/repos/akka/akka/issues/events{/number}","events_url":"https://api.github.com/repos/akka/akka/events","assignees_url":"https://api.github.com/repos/akka/akka/assignees{/user}","branches_url":"https://api.github.com/repos/akka/akka/branches{/branch}","tags_url":"https://api.github.com/repos/akka/akka/tags","blobs_url":"https://api.github.com/repos/akka/akka/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/akka/akka/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/akka/akka/git/refs{/sha}","trees_url":"https://api.github.com/repos/akka/akka/git/trees{/sha}","statuses_url":"https://api.github.com/repos/akka/akka/statuses/{sha}","languages_url":"https://api.github.com/repos/akka/akka/languages","stargazers_url":"https://api.github.com/repos/akka/akka/stargazers","contributors_url":"https://api.github.com/repos/akka/akka/contributors","subscribers_url":"https://api.github.com/repos/akka/akka/subscribers","subscription_url":"https://api.github.com/repos/akka/akka/subscription","commits_url":"https://api.github.com/repos/akka/akka/commits{/sha}","git_commits_url":"https://api.github.com/repos/akka/akka/git/commits{/sha}","comments_url":"https://api.github.com/repos/akka/akka/comments{/number}","issue_comment_url":"https://api.github.com/repos/akka/akka/issues/comments{/number}","contents_url":"https://api.github.com/repos/akka/akka/contents/{+path}","compare_url":"https://api.github.com/repos/akka/akka/compare/{base}...{head}","merges_url":"https://api.github.com/repos/akka/akka/merges","archive_url":"https://api.github.com/repos/akka/akka/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/akka/akka/downloads","issues_url":"https://api.github.com/repos/akka/akka/issues{/number}","pulls_url":"https://api.github.com/repos/akka/akka/pulls{/number}","milestones_url":"https://api.github.com/repos/akka/akka/milestones{/number}","notifications_url":"https://api.github.com/repos/akka/akka/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/akka/akka/labels{/name}","releases_url":"https://api.github.com/repos/akka/akka/releases{/id}","deployments_url":"https://api.github.com/repos/akka/akka/deployments","created_at":"2009-02-16T12:51:54Z","updated_at":"2016-09-16T02:04:37Z","pushed_at":"2016-09-16T09:48:13Z","git_url":"git://github.com/akka/akka.git","ssh_url":"git@github.com:akka/akka.git","clone_url":"https://github.com/akka/akka.git","svn_url":"https://github.com/akka/akka","homepage":"http://akka.io","size":229226,"stargazers_count":6025,"watchers_count":6025,"language":"Scala","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1915,"mirror_url":null,"open_issues_count":501,"forks":1915,"open_issues":501,"watchers":6025,"default_branch":"master"}},"base":{"label":"akka:artery-dev","ref":"artery-dev","sha":"03eb20e5d2550298ea20b36872f9cd2a67b4c6a2","user":{"login":"akka","id":1496237,"avatar_url":"https://avatars.githubusercontent.com/u/1496237?v=3","gravatar_id":"","url":"https://api.github.com/users/akka","html_url":"https://github.com/akka","followers_url":"https://api.github.com/users/akka/followers","following_url":"https://api.github.com/users/akka/following{/other_user}","gists_url":"https://api.github.com/users/akka/gists{/gist_id}","starred_url":"https://api.github.com/users/akka/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akka/subscriptions","organizations_url":"https://api.github.com/users/akka/orgs","repos_url":"https://api.github.com/users/akka/repos","events_url":"https://api.github.com/users/akka/events{/privacy}","received_events_url":"https://api.github.com/users/akka/received_events","type":"Organization","site_admin":false},"repo":{"id":130013,"name":"akka","full_name":"akka/akka","owner":{"login":"akka","id":1496237,"avatar_url":"https://avatars.githubusercontent.com/u/1496237?v=3","gravatar_id":"","url":"https://api.github.com/users/akka","html_url":"https://github.com/akka","followers_url":"https://api.github.com/users/akka/followers","following_url":"https://api.github.com/users/akka/following{/other_user}","gists_url":"https://api.github.com/users/akka/gists{/gist_id}","starred_url":"https://api.github.com/users/akka/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akka/subscriptions","organizations_url":"https://api.github.com/users/akka/orgs","repos_url":"https://api.github.com/users/akka/repos","events_url":"https://api.github.com/users/akka/events{/privacy}","received_events_url":"https://api.github.com/users/akka/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/akka/akka","description":"Akka Project","fork":false,"url":"https://api.github.com/repos/akka/akka","forks_url":"https://api.github.com/repos/akka/akka/forks","keys_url":"https://api.github.com/repos/akka/akka/keys{/key_id}","collaborators_url":"https://api.github.com/repos/akka/akka/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/akka/akka/teams","hooks_url":"https://api.github.com/repos/akka/akka/hooks","issue_events_url":"https://api.github.com/repos/akka/akka/issues/events{/number}","events_url":"https://api.github.com/repos/akka/akka/events","assignees_url":"https://api.github.com/repos/akka/akka/assignees{/user}","branches_url":"https://api.github.com/repos/akka/akka/branches{/branch}","tags_url":"https://api.github.com/repos/akka/akka/tags","blobs_url":"https://api.github.com/repos/akka/akka/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/akka/akka/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/akka/akka/git/refs{/sha}","trees_url":"https://api.github.com/repos/akka/akka/git/trees{/sha}","statuses_url":"https://api.github.com/repos/akka/akka/statuses/{sha}","languages_url":"https://api.github.com/repos/akka/akka/languages","stargazers_url":"https://api.github.com/repos/akka/akka/stargazers","contributors_url":"https://api.github.com/repos/akka/akka/contributors","subscribers_url":"https://api.github.com/repos/akka/akka/subscribers","subscription_url":"https://api.github.com/repos/akka/akka/subscription","commits_url":"https://api.github.com/repos/akka/akka/commits{/sha}","git_commits_url":"https://api.github.com/repos/akka/akka/git/commits{/sha}","comments_url":"https://api.github.com/repos/akka/akka/comments{/number}","issue_comment_url":"https://api.github.com/repos/akka/akka/issues/comments{/number}","contents_url":"https://api.github.com/repos/akka/akka/contents/{+path}","compare_url":"https://api.github.com/repos/akka/akka/compare/{base}...{head}","merges_url":"https://api.github.com/repos/akka/akka/merges","archive_url":"https://api.github.com/repos/akka/akka/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/akka/akka/downloads","issues_url":"https://api.github.com/repos/akka/akka/issues{/number}","pulls_url":"https://api.github.com/repos/akka/akka/pulls{/number}","milestones_url":"https://api.github.com/repos/akka/akka/milestones{/number}","notifications_url":"https://api.github.com/repos/akka/akka/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/akka/akka/labels{/name}","releases_url":"https://api.github.com/repos/akka/akka/releases{/id}","deployments_url":"https://api.github.com/repos/akka/akka/deployments","created_at":"2009-02-16T12:51:54Z","updated_at":"2016-09-16T02:04:37Z","pushed_at":"2016-09-16T09:48:13Z","git_url":"git://github.com/akka/akka.git","ssh_url":"git@github.com:akka/akka.git","clone_url":"https://github.com/akka/akka.git","svn_url":"https://github.com/akka/akka","homepage":"http://akka.io","size":229226,"stargazers_count":6025,"watchers_count":6025,"language":"Scala","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1915,"mirror_url":null,"open_issues_count":501,"forks":1915,"open_issues":501,"watchers":6025,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/akka/akka/pulls/21474"},"html":{"href":"https://github.com/akka/akka/pull/21474"},"issue":{"href":"https://api.github.com/repos/akka/akka/issues/21474"},"comments":{"href":"https://api.github.com/repos/akka/akka/issues/21474/comments"},"review_comments":{"href":"https://api.github.com/repos/akka/akka/pulls/21474/comments"},"review_comment":{"href":"https://api.github.com/repos/akka/akka/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/akka/akka/pulls/21474/commits"},"statuses":{"href":"https://api.github.com/repos/akka/akka/statuses/9ae4ae58ad7080f7cf2f0da8ef2dfc2fa0cf243e"}}}}
{"actor":{"display_login":"drewhk"}}