{"action":"created","comment":{"url":"https://api.github.com/repos/hazelcast/hazelcast/pulls/comments/178267689","pull_request_review_id":108303754,"id":178267689,"diff_hunk":"@@ -0,0 +1,168 @@\n+/*\n+ * Copyright (c) 2008-2018, Hazelcast, Inc. All Rights Reserved.\n+ *\n+ * Licensed under the Apache License, Version 2.0 (the \"License\");\n+ * you may not use this file except in compliance with the License.\n+ * You may obtain a copy of the License at\n+ *\n+ * http://www.apache.org/licenses/LICENSE-2.0\n+ *\n+ * Unless required by applicable law or agreed to in writing, software\n+ * distributed under the License is distributed on an \"AS IS\" BASIS,\n+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n+ * See the License for the specific language governing permissions and\n+ * limitations under the License.\n+ */\n+\n+package com.hazelcast.nio.serialization;\n+\n+import com.hazelcast.internal.serialization.SerializationServiceBuilder;\n+import com.hazelcast.internal.serialization.impl.DefaultSerializationServiceBuilder;\n+import com.hazelcast.spi.serialization.SerializationService;\n+import org.junit.Test;\n+\n+import java.io.IOException;\n+\n+import static org.junit.Assert.assertEquals;\n+\n+public class PortableVersionTest {","path":"hazelcast/src/test/java/com/hazelcast/nio/serialization/PortableVersionTest.java","position":28,"original_position":28,"commit_id":"7615b90953f95b0961e78da9754f6af284da3d80","original_commit_id":"7615b90953f95b0961e78da9754f6af284da3d80","user":{"login":"mdogan","id":1201712,"avatar_url":"https://avatars3.githubusercontent.com/u/1201712?v=4","gravatar_id":"","url":"https://api.github.com/users/mdogan","html_url":"https://github.com/mdogan","followers_url":"https://api.github.com/users/mdogan/followers","following_url":"https://api.github.com/users/mdogan/following{/other_user}","gists_url":"https://api.github.com/users/mdogan/gists{/gist_id}","starred_url":"https://api.github.com/users/mdogan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mdogan/subscriptions","organizations_url":"https://api.github.com/users/mdogan/orgs","repos_url":"https://api.github.com/users/mdogan/repos","events_url":"https://api.github.com/users/mdogan/events{/privacy}","received_events_url":"https://api.github.com/users/mdogan/received_events","type":"User","site_admin":false},"body":"Needs `@Category`. Otherwise won't be executed on builds.","created_at":"2018-03-30T10:06:12Z","updated_at":"2018-03-30T10:06:12Z","html_url":"https://github.com/hazelcast/hazelcast/pull/12734#discussion_r178267689","pull_request_url":"https://api.github.com/repos/hazelcast/hazelcast/pulls/12734","author_association":"OWNER","_links":{"self":{"href":"https://api.github.com/repos/hazelcast/hazelcast/pulls/comments/178267689"},"html":{"href":"https://github.com/hazelcast/hazelcast/pull/12734#discussion_r178267689"},"pull_request":{"href":"https://api.github.com/repos/hazelcast/hazelcast/pulls/12734"}}},"pull_request":{"url":"https://api.github.com/repos/hazelcast/hazelcast/pulls/12734","id":178009575,"html_url":"https://github.com/hazelcast/hazelcast/pull/12734","diff_url":"https://github.com/hazelcast/hazelcast/pull/12734.diff","patch_url":"https://github.com/hazelcast/hazelcast/pull/12734.patch","issue_url":"https://api.github.com/repos/hazelcast/hazelcast/issues/12734","number":12734,"state":"open","locked":false,"title":"Fix for Portable Serialization incompatible class definition when nested portables used","user":{"login":"sancar","id":570462,"avatar_url":"https://avatars0.githubusercontent.com/u/570462?v=4","gravatar_id":"","url":"https://api.github.com/users/sancar","html_url":"https://github.com/sancar","followers_url":"https://api.github.com/users/sancar/followers","following_url":"https://api.github.com/users/sancar/following{/other_user}","gists_url":"https://api.github.com/users/sancar/gists{/gist_id}","starred_url":"https://api.github.com/users/sancar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sancar/subscriptions","organizations_url":"https://api.github.com/users/sancar/orgs","repos_url":"https://api.github.com/users/sancar/repos","events_url":"https://api.github.com/users/sancar/events{/privacy}","received_events_url":"https://api.github.com/users/sancar/received_events","type":"User","site_admin":false},"body":"\r\nPortable serialization is mistakenly reporting incompatible class-definitions when nested portables are used in certain scenarios.\r\nDetails of failed scenario are as follows:\r\nLet's say, we have two Portables: `Parent` and `Child`. `Child` is a field of `Parent` class.\r\nLet's say we have two nodes. Node A and Node B. And both nodes are using a non-default both same portable version.\r\n- `Child` is serialized in Node B. This results with a class definition cached in Node B.\r\n- `Parent` is serialized in Node A and send to Node B.\r\n- When Node B is deserializing `Parent`, it reads the class definition of both `Parent` and `Child` from the wire.\r\n- In Node B, when reading the class definition of `Child`, the version of fields of `Child` class is read wrong.\r\n- We end up with the following exception when checking if the new class definition of `Child` is same as the cached one in Node B\r\n```\r\nException in thread \"main\" com.hazelcast.nio.serialization.HazelcastSerializationException: Incompatible class-definitions with same class-id:\r\nClassDefinition{factoryId=1, classId=2, version=6, fieldDefinitions=[FieldDefinitionImpl{index=0, fieldName='name', type=UTF, classId=0, factoryId=0, version=0}]} VS\r\nClassDefinition{factoryId=1, classId=2, version=6, fieldDefinitions=[FieldDefinitionImpl{index=0, fieldName='name', type=UTF, classId=0, factoryId=0, version=6}]}\r\n\tat com.hazelcast.internal.serialization.impl.PortableContextImpl$ClassDefinitionContext.register(PortableContextImpl.java:281)\r\n\tat com.hazelcast.internal.serialization.impl.PortableContextImpl.registerClassDefinition(PortableContextImpl.java:165)\r\n\tat com.hazelcast.internal.serialization.impl.PortableContextImpl.readClassDefinition(PortableContextImpl.java:158)\r\n\tat com.hazelcast.internal.serialization.impl.PortableContextImpl.readClassDefinition(PortableContextImpl.java:135)\r\n\tat com.hazelcast.internal.serialization.impl.PortableSerializer.setupPositionAndDefinition(PortableSerializer.java:156)\r\n\tat com.hazelcast.internal.serialization.impl.PortableSerializer.createReader(PortableSerializer.java:166)\r\n\tat com.hazelcast.internal.serialization.impl.PortableSerializer.read(PortableSerializer.java:90)\r\n\tat com.hazelcast.internal.serialization.impl.PortableSerializer.read(PortableSerializer.java:81)\r\n\tat com.hazelcast.internal.serialization.impl.PortableSerializer.read(PortableSerializer.java:34)\r\n\tat com.hazelcast.internal.serialization.impl.StreamSerializerAdapter.read(StreamSerializerAdapter.java:48)\r\n\tat com.hazelcast.internal.serialization.impl.AbstractSerializationService.toObject(AbstractSerializationService.java:191)\r\n\r\n```\r\n\r\nThis pr contains both fix and some cleanups.\r\nFix is to use class version in fields when reading class definition from wire.\r\nIn a couple places, fields are made private/final where applicable.\r\n\r\nfixes #12733","created_at":"2018-03-28T11:34:04Z","updated_at":"2018-03-30T10:06:12Z","closed_at":null,"merged_at":null,"merge_commit_sha":"9cc1ae0dc35b82f3791fcf69c5bc0719a35ec6ae","assignee":{"login":"sancar","id":570462,"avatar_url":"https://avatars0.githubusercontent.com/u/570462?v=4","gravatar_id":"","url":"https://api.github.com/users/sancar","html_url":"https://github.com/sancar","followers_url":"https://api.github.com/users/sancar/followers","following_url":"https://api.github.com/users/sancar/following{/other_user}","gists_url":"https://api.github.com/users/sancar/gists{/gist_id}","starred_url":"https://api.github.com/users/sancar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sancar/subscriptions","organizations_url":"https://api.github.com/users/sancar/orgs","repos_url":"https://api.github.com/users/sancar/repos","events_url":"https://api.github.com/users/sancar/events{/privacy}","received_events_url":"https://api.github.com/users/sancar/received_events","type":"User","site_admin":false},"assignees":[{"login":"sancar","id":570462,"avatar_url":"https://avatars0.githubusercontent.com/u/570462?v=4","gravatar_id":"","url":"https://api.github.com/users/sancar","html_url":"https://github.com/sancar","followers_url":"https://api.github.com/users/sancar/followers","following_url":"https://api.github.com/users/sancar/following{/other_user}","gists_url":"https://api.github.com/users/sancar/gists{/gist_id}","starred_url":"https://api.github.com/users/sancar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sancar/subscriptions","organizations_url":"https://api.github.com/users/sancar/orgs","repos_url":"https://api.github.com/users/sancar/repos","events_url":"https://api.github.com/users/sancar/events{/privacy}","received_events_url":"https://api.github.com/users/sancar/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":2715846,"url":"https://api.github.com/repos/hazelcast/hazelcast/labels/Team:%20Client","name":"Team: Client","color":"8f77cc","default":false},{"id":1740690,"url":"https://api.github.com/repos/hazelcast/hazelcast/labels/Type:%20Defect","name":"Type: Defect","color":"eb6420","default":false}],"milestone":{"url":"https://api.github.com/repos/hazelcast/hazelcast/milestones/98","html_url":"https://github.com/hazelcast/hazelcast/milestone/98","labels_url":"https://api.github.com/repos/hazelcast/hazelcast/milestones/98/labels","id":2624978,"number":98,"title":"3.10","description":null,"creator":{"login":"jerrinot","id":158619,"avatar_url":"https://avatars1.githubusercontent.com/u/158619?v=4","gravatar_id":"","url":"https://api.github.com/users/jerrinot","html_url":"https://github.com/jerrinot","followers_url":"https://api.github.com/users/jerrinot/followers","following_url":"https://api.github.com/users/jerrinot/following{/other_user}","gists_url":"https://api.github.com/users/jerrinot/gists{/gist_id}","starred_url":"https://api.github.com/users/jerrinot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jerrinot/subscriptions","organizations_url":"https://api.github.com/users/jerrinot/orgs","repos_url":"https://api.github.com/users/jerrinot/repos","events_url":"https://api.github.com/users/jerrinot/events{/privacy}","received_events_url":"https://api.github.com/users/jerrinot/received_events","type":"User","site_admin":false},"open_issues":42,"closed_issues":758,"state":"open","created_at":"2017-07-06T10:25:45Z","updated_at":"2018-03-29T14:24:07Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/hazelcast/hazelcast/pulls/12734/commits","review_comments_url":"https://api.github.com/repos/hazelcast/hazelcast/pulls/12734/comments","review_comment_url":"https://api.github.com/repos/hazelcast/hazelcast/pulls/comments{/number}","comments_url":"https://api.github.com/repos/hazelcast/hazelcast/issues/12734/comments","statuses_url":"https://api.github.com/repos/hazelcast/hazelcast/statuses/7615b90953f95b0961e78da9754f6af284da3d80","head":{"label":"sancar:fix/versionedNestedPortableProblem/master","ref":"fix/versionedNestedPortableProblem/master","sha":"7615b90953f95b0961e78da9754f6af284da3d80","user":{"login":"sancar","id":570462,"avatar_url":"https://avatars0.githubusercontent.com/u/570462?v=4","gravatar_id":"","url":"https://api.github.com/users/sancar","html_url":"https://github.com/sancar","followers_url":"https://api.github.com/users/sancar/followers","following_url":"https://api.github.com/users/sancar/following{/other_user}","gists_url":"https://api.github.com/users/sancar/gists{/gist_id}","starred_url":"https://api.github.com/users/sancar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sancar/subscriptions","organizations_url":"https://api.github.com/users/sancar/orgs","repos_url":"https://api.github.com/users/sancar/repos","events_url":"https://api.github.com/users/sancar/events{/privacy}","received_events_url":"https://api.github.com/users/sancar/received_events","type":"User","site_admin":false},"repo":{"id":12152804,"name":"hazelcast","full_name":"sancar/hazelcast","owner":{"login":"sancar","id":570462,"avatar_url":"https://avatars0.githubusercontent.com/u/570462?v=4","gravatar_id":"","url":"https://api.github.com/users/sancar","html_url":"https://github.com/sancar","followers_url":"https://api.github.com/users/sancar/followers","following_url":"https://api.github.com/users/sancar/following{/other_user}","gists_url":"https://api.github.com/users/sancar/gists{/gist_id}","starred_url":"https://api.github.com/users/sancar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sancar/subscriptions","organizations_url":"https://api.github.com/users/sancar/orgs","repos_url":"https://api.github.com/users/sancar/repos","events_url":"https://api.github.com/users/sancar/events{/privacy}","received_events_url":"https://api.github.com/users/sancar/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/sancar/hazelcast","description":"Open Source In-Memory Data Grid","fork":true,"url":"https://api.github.com/repos/sancar/hazelcast","forks_url":"https://api.github.com/repos/sancar/hazelcast/forks","keys_url":"https://api.github.com/repos/sancar/hazelcast/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sancar/hazelcast/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sancar/hazelcast/teams","hooks_url":"https://api.github.com/repos/sancar/hazelcast/hooks","issue_events_url":"https://api.github.com/repos/sancar/hazelcast/issues/events{/number}","events_url":"https://api.github.com/repos/sancar/hazelcast/events","assignees_url":"https://api.github.com/repos/sancar/hazelcast/assignees{/user}","branches_url":"https://api.github.com/repos/sancar/hazelcast/branches{/branch}","tags_url":"https://api.github.com/repos/sancar/hazelcast/tags","blobs_url":"https://api.github.com/repos/sancar/hazelcast/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sancar/hazelcast/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sancar/hazelcast/git/refs{/sha}","trees_url":"https://api.github.com/repos/sancar/hazelcast/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sancar/hazelcast/statuses/{sha}","languages_url":"https://api.github.com/repos/sancar/hazelcast/languages","stargazers_url":"https://api.github.com/repos/sancar/hazelcast/stargazers","contributors_url":"https://api.github.com/repos/sancar/hazelcast/contributors","subscribers_url":"https://api.github.com/repos/sancar/hazelcast/subscribers","subscription_url":"https://api.github.com/repos/sancar/hazelcast/subscription","commits_url":"https://api.github.com/repos/sancar/hazelcast/commits{/sha}","git_commits_url":"https://api.github.com/repos/sancar/hazelcast/git/commits{/sha}","comments_url":"https://api.github.com/repos/sancar/hazelcast/comments{/number}","issue_comment_url":"https://api.github.com/repos/sancar/hazelcast/issues/comments{/number}","contents_url":"https://api.github.com/repos/sancar/hazelcast/contents/{+path}","compare_url":"https://api.github.com/repos/sancar/hazelcast/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sancar/hazelcast/merges","archive_url":"https://api.github.com/repos/sancar/hazelcast/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sancar/hazelcast/downloads","issues_url":"https://api.github.com/repos/sancar/hazelcast/issues{/number}","pulls_url":"https://api.github.com/repos/sancar/hazelcast/pulls{/number}","milestones_url":"https://api.github.com/repos/sancar/hazelcast/milestones{/number}","notifications_url":"https://api.github.com/repos/sancar/hazelcast/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sancar/hazelcast/labels{/name}","releases_url":"https://api.github.com/repos/sancar/hazelcast/releases{/id}","deployments_url":"https://api.github.com/repos/sancar/hazelcast/deployments","created_at":"2013-08-16T06:59:07Z","updated_at":"2015-04-23T16:11:55Z","pushed_at":"2018-03-30T09:49:13Z","git_url":"git://github.com/sancar/hazelcast.git","ssh_url":"git@github.com:sancar/hazelcast.git","clone_url":"https://github.com/sancar/hazelcast.git","svn_url":"https://github.com/sancar/hazelcast","homepage":"www.hazelcast.com","size":126449,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":null,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"hazelcast:master","ref":"master","sha":"2d87ba30fb788cd5edd4688c64ea0e62494ffe3c","user":{"login":"hazelcast","id":1453152,"avatar_url":"https://avatars2.githubusercontent.com/u/1453152?v=4","gravatar_id":"","url":"https://api.github.com/users/hazelcast","html_url":"https://github.com/hazelcast","followers_url":"https://api.github.com/users/hazelcast/followers","following_url":"https://api.github.com/users/hazelcast/following{/other_user}","gists_url":"https://api.github.com/users/hazelcast/gists{/gist_id}","starred_url":"https://api.github.com/users/hazelcast/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hazelcast/subscriptions","organizations_url":"https://api.github.com/users/hazelcast/orgs","repos_url":"https://api.github.com/users/hazelcast/repos","events_url":"https://api.github.com/users/hazelcast/events{/privacy}","received_events_url":"https://api.github.com/users/hazelcast/received_events","type":"Organization","site_admin":false},"repo":{"id":3786237,"name":"hazelcast","full_name":"hazelcast/hazelcast","owner":{"login":"hazelcast","id":1453152,"avatar_url":"https://avatars2.githubusercontent.com/u/1453152?v=4","gravatar_id":"","url":"https://api.github.com/users/hazelcast","html_url":"https://github.com/hazelcast","followers_url":"https://api.github.com/users/hazelcast/followers","following_url":"https://api.github.com/users/hazelcast/following{/other_user}","gists_url":"https://api.github.com/users/hazelcast/gists{/gist_id}","starred_url":"https://api.github.com/users/hazelcast/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hazelcast/subscriptions","organizations_url":"https://api.github.com/users/hazelcast/orgs","repos_url":"https://api.github.com/users/hazelcast/repos","events_url":"https://api.github.com/users/hazelcast/events{/privacy}","received_events_url":"https://api.github.com/users/hazelcast/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/hazelcast/hazelcast","description":"Open Source In-Memory Data Grid","fork":false,"url":"https://api.github.com/repos/hazelcast/hazelcast","forks_url":"https://api.github.com/repos/hazelcast/hazelcast/forks","keys_url":"https://api.github.com/repos/hazelcast/hazelcast/keys{/key_id}","collaborators_url":"https://api.github.com/repos/hazelcast/hazelcast/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/hazelcast/hazelcast/teams","hooks_url":"https://api.github.com/repos/hazelcast/hazelcast/hooks","issue_events_url":"https://api.github.com/repos/hazelcast/hazelcast/issues/events{/number}","events_url":"https://api.github.com/repos/hazelcast/hazelcast/events","assignees_url":"https://api.github.com/repos/hazelcast/hazelcast/assignees{/user}","branches_url":"https://api.github.com/repos/hazelcast/hazelcast/branches{/branch}","tags_url":"https://api.github.com/repos/hazelcast/hazelcast/tags","blobs_url":"https://api.github.com/repos/hazelcast/hazelcast/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/hazelcast/hazelcast/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/hazelcast/hazelcast/git/refs{/sha}","trees_url":"https://api.github.com/repos/hazelcast/hazelcast/git/trees{/sha}","statuses_url":"https://api.github.com/repos/hazelcast/hazelcast/statuses/{sha}","languages_url":"https://api.github.com/repos/hazelcast/hazelcast/languages","stargazers_url":"https://api.github.com/repos/hazelcast/hazelcast/stargazers","contributors_url":"https://api.github.com/repos/hazelcast/hazelcast/contributors","subscribers_url":"https://api.github.com/repos/hazelcast/hazelcast/subscribers","subscription_url":"https://api.github.com/repos/hazelcast/hazelcast/subscription","commits_url":"https://api.github.com/repos/hazelcast/hazelcast/commits{/sha}","git_commits_url":"https://api.github.com/repos/hazelcast/hazelcast/git/commits{/sha}","comments_url":"https://api.github.com/repos/hazelcast/hazelcast/comments{/number}","issue_comment_url":"https://api.github.com/repos/hazelcast/hazelcast/issues/comments{/number}","contents_url":"https://api.github.com/repos/hazelcast/hazelcast/contents/{+path}","compare_url":"https://api.github.com/repos/hazelcast/hazelcast/compare/{base}...{head}","merges_url":"https://api.github.com/repos/hazelcast/hazelcast/merges","archive_url":"https://api.github.com/repos/hazelcast/hazelcast/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/hazelcast/hazelcast/downloads","issues_url":"https://api.github.com/repos/hazelcast/hazelcast/issues{/number}","pulls_url":"https://api.github.com/repos/hazelcast/hazelcast/pulls{/number}","milestones_url":"https://api.github.com/repos/hazelcast/hazelcast/milestones{/number}","notifications_url":"https://api.github.com/repos/hazelcast/hazelcast/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/hazelcast/hazelcast/labels{/name}","releases_url":"https://api.github.com/repos/hazelcast/hazelcast/releases{/id}","deployments_url":"https://api.github.com/repos/hazelcast/hazelcast/deployments","created_at":"2012-03-21T12:25:18Z","updated_at":"2018-03-29T14:24:55Z","pushed_at":"2018-03-30T09:49:15Z","git_url":"git://github.com/hazelcast/hazelcast.git","ssh_url":"git@github.com:hazelcast/hazelcast.git","clone_url":"https://github.com/hazelcast/hazelcast.git","svn_url":"https://github.com/hazelcast/hazelcast","homepage":"http://www.hazelcast.org","size":127906,"stargazers_count":2515,"watchers_count":2515,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1000,"mirror_url":null,"archived":false,"open_issues_count":636,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0"},"forks":1000,"open_issues":636,"watchers":2515,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/hazelcast/hazelcast/pulls/12734"},"html":{"href":"https://github.com/hazelcast/hazelcast/pull/12734"},"issue":{"href":"https://api.github.com/repos/hazelcast/hazelcast/issues/12734"},"comments":{"href":"https://api.github.com/repos/hazelcast/hazelcast/issues/12734/comments"},"review_comments":{"href":"https://api.github.com/repos/hazelcast/hazelcast/pulls/12734/comments"},"review_comment":{"href":"https://api.github.com/repos/hazelcast/hazelcast/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/hazelcast/hazelcast/pulls/12734/commits"},"statuses":{"href":"https://api.github.com/repos/hazelcast/hazelcast/statuses/7615b90953f95b0961e78da9754f6af284da3d80"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"mdogan"}}