fx19880617 commented on a change in pull request #6525:
URL: https://github.com/apache/incubator-pinot/pull/6525#discussion_r569288948



##########
File path: 
pinot-spi/src/main/java/org/apache/pinot/spi/data/readers/GenericRow.java
##########
@@ -167,11 +167,62 @@ public boolean equals(Object obj) {
     }
     if (obj instanceof GenericRow) {
       GenericRow that = (GenericRow) obj;
-      return _fieldToValueMap.equals(that._fieldToValueMap) && 
_nullValueFields.equals(that._nullValueFields);
+      if (!_nullValueFields.containsAll(that._nullValueFields) || 
!that._nullValueFields
+          .containsAll(_nullValueFields)) {
+        return false;
+      }
+      return compareMap(_fieldToValueMap, that._fieldToValueMap);
     }
     return false;
   }
 
+  private boolean compareMap(Map<String, Object> thisMap, Map<String, Object> 
thatMap) {
+    if (thisMap.size() == thatMap.size()) {

Review comment:
       Below is one example of a large nested record:
   ```
   {
        "actor": {
                "avatar_url": 
"https://avatars.githubusercontent.com/u/5439615?";,
                "display_login": "johndmulhausen",
                "gravatar_id": "",
                "id": 5439615,
                "login": "johndmulhausen",
                "url": "https://api.github.com/users/johndmulhausen";
        },
        "created_at": "2016-07-07T00:00:34Z",
        "id": "4243624603",
        "org": {
                "avatar_url": 
"https://avatars.githubusercontent.com/u/13629408?";,
                "gravatar_id": "",
                "id": 13629408,
                "login": "kubernetes",
                "url": "https://api.github.com/orgs/kubernetes";
        },
        "payload": {
                "action": "closed",
                "number": 507,
                "pull_request": {
                        "_links": {
                                "comments": {
                                        "href": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/issues/507/comments";
                                },
                                "commits": {
                                        "href": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/pulls/507/commits";
                                },
                                "html": {
                                        "href": 
"https://github.com/kubernetes/kubernetes.github.io/pull/507";
                                },
                                "issue": {
                                        "href": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/issues/507";
                                },
                                "review_comment": {
                                        "href": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/pulls/comments{/number}";
                                },
                                "review_comments": {
                                        "href": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/pulls/507/comments";
                                },
                                "self": {
                                        "href": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/pulls/507";
                                },
                                "statuses": {
                                        "href": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/statuses/0700c5ca798fce6d1f323ca70baa5ef45e82e491";
                                }
                        },
                        "additions": 38,
                        "assignees": {},
                        "base": {
                                "label": "kubernetes:master",
                                "ref": "master",
                                "repo": {
                                        "archive_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/{archive_format}{/ref}";,
                                        "assignees_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/assignees{/user}";,
                                        "blobs_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/git/blobs{/sha}";,
                                        "branches_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/branches{/branch}";,
                                        "clone_url": 
"https://github.com/kubernetes/kubernetes.github.io.git";,
                                        "collaborators_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/collaborators{/collaborator}";,
                                        "comments_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/comments{/number}";,
                                        "commits_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/commits{/sha}";,
                                        "compare_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/compare/{base}...{head}";,
                                        "contents_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/contents/{+path}";,
                                        "contributors_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/contributors";,
                                        "created_at": "2016-02-10T22:46:48Z",
                                        "default_branch": "master",
                                        "deployments_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/deployments";,
                                        "description": "Website/documentation 
repo",
                                        "downloads_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/downloads";,
                                        "events_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/events";,
                                        "fork": false,
                                        "forks": 329,
                                        "forks_count": 329,
                                        "forks_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/forks";,
                                        "full_name": 
"kubernetes/kubernetes.github.io",
                                        "git_commits_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/git/commits{/sha}";,
                                        "git_refs_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/git/refs{/sha}";,
                                        "git_tags_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/git/tags{/sha}";,
                                        "git_url": 
"git://github.com/kubernetes/kubernetes.github.io.git",
                                        "has_downloads": true,
                                        "has_issues": true,
                                        "has_pages": true,
                                        "has_wiki": true,
                                        "hooks_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/hooks";,
                                        "html_url": 
"https://github.com/kubernetes/kubernetes.github.io";,
                                        "id": 51478266,
                                        "issue_comment_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/issues/comments{/number}";,
                                        "issue_events_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/issues/events{/number}";,
                                        "issues_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/issues{/number}";,
                                        "keys_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/keys{/key_id}";,
                                        "labels_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/labels{/name}";,
                                        "language": "HTML",
                                        "languages_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/languages";,
                                        "merges_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/merges";,
                                        "milestones_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/milestones{/number}";,
                                        "name": "kubernetes.github.io",
                                        "notifications_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/notifications{?since,all,participating}";,
                                        "open_issues": 289,
                                        "open_issues_count": 289,
                                        "owner": {
                                                "avatar_url": 
"https://avatars.githubusercontent.com/u/13629408?v=3";,
                                                "events_url": 
"https://api.github.com/users/kubernetes/events{/privacy}";,
                                                "followers_url": 
"https://api.github.com/users/kubernetes/followers";,
                                                "following_url": 
"https://api.github.com/users/kubernetes/following{/other_user}";,
                                                "gists_url": 
"https://api.github.com/users/kubernetes/gists{/gist_id}";,
                                                "gravatar_id": "",
                                                "html_url": 
"https://github.com/kubernetes";,
                                                "id": 13629408,
                                                "login": "kubernetes",
                                                "organizations_url": 
"https://api.github.com/users/kubernetes/orgs";,
                                                "received_events_url": 
"https://api.github.com/users/kubernetes/received_events";,
                                                "repos_url": 
"https://api.github.com/users/kubernetes/repos";,
                                                "site_admin": false,
                                                "starred_url": 
"https://api.github.com/users/kubernetes/starred{/owner}{/repo}";,
                                                "subscriptions_url": 
"https://api.github.com/users/kubernetes/subscriptions";,
                                                "type": "Organization",
                                                "url": 
"https://api.github.com/users/kubernetes";
                                        },
                                        "private": false,
                                        "pulls_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/pulls{/number}";,
                                        "pushed_at": "2016-07-07T00:00:33Z",
                                        "releases_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/releases{/id}";,
                                        "size": 39878,
                                        "ssh_url": 
"[email protected]:kubernetes/kubernetes.github.io.git",
                                        "stargazers_count": 55,
                                        "stargazers_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/stargazers";,
                                        "statuses_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/statuses/{sha}";,
                                        "subscribers_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/subscribers";,
                                        "subscription_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/subscription";,
                                        "svn_url": 
"https://github.com/kubernetes/kubernetes.github.io";,
                                        "tags_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/tags";,
                                        "teams_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/teams";,
                                        "trees_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/git/trees{/sha}";,
                                        "updated_at": "2016-07-06T22:19:07Z",
                                        "url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io";,
                                        "watchers": 55,
                                        "watchers_count": 55
                                },
                                "sha": 
"85eba1f0b3100abd75cb5c0355ff6a474f977a07",
                                "user": {
                                        "avatar_url": 
"https://avatars.githubusercontent.com/u/13629408?v=3";,
                                        "events_url": 
"https://api.github.com/users/kubernetes/events{/privacy}";,
                                        "followers_url": 
"https://api.github.com/users/kubernetes/followers";,
                                        "following_url": 
"https://api.github.com/users/kubernetes/following{/other_user}";,
                                        "gists_url": 
"https://api.github.com/users/kubernetes/gists{/gist_id}";,
                                        "gravatar_id": "",
                                        "html_url": 
"https://github.com/kubernetes";,
                                        "id": 13629408,
                                        "login": "kubernetes",
                                        "organizations_url": 
"https://api.github.com/users/kubernetes/orgs";,
                                        "received_events_url": 
"https://api.github.com/users/kubernetes/received_events";,
                                        "repos_url": 
"https://api.github.com/users/kubernetes/repos";,
                                        "site_admin": false,
                                        "starred_url": 
"https://api.github.com/users/kubernetes/starred{/owner}{/repo}";,
                                        "subscriptions_url": 
"https://api.github.com/users/kubernetes/subscriptions";,
                                        "type": "Organization",
                                        "url": 
"https://api.github.com/users/kubernetes";
                                }
                        },
                        "body": "Mostly the same as 
https://github.com/kubernetes/kubernetes/pull/25574";,
                        "changed_files": 1,
                        "closed_at": "2016-07-07T00:00:33Z",
                        "comments": 2,
                        "comments_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/issues/507/comments";,
                        "commits": 1,
                        "commits_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/pulls/507/commits";,
                        "created_at": "2016-05-13T16:01:23Z",
                        "deletions": 0,
                        "diff_url": 
"https://github.com/kubernetes/kubernetes.github.io/pull/507.diff";,
                        "head": {
                                "label": "therc:patch-2",
                                "ref": "patch-2",
                                "repo": {
                                        "archive_url": 
"https://api.github.com/repos/therc/kubernetes.github.io/{archive_format}{/ref}";,
                                        "assignees_url": 
"https://api.github.com/repos/therc/kubernetes.github.io/assignees{/user}";,
                                        "blobs_url": 
"https://api.github.com/repos/therc/kubernetes.github.io/git/blobs{/sha}";,
                                        "branches_url": 
"https://api.github.com/repos/therc/kubernetes.github.io/branches{/branch}";,
                                        "clone_url": 
"https://github.com/therc/kubernetes.github.io.git";,
                                        "collaborators_url": 
"https://api.github.com/repos/therc/kubernetes.github.io/collaborators{/collaborator}";,
                                        "comments_url": 
"https://api.github.com/repos/therc/kubernetes.github.io/comments{/number}";,
                                        "commits_url": 
"https://api.github.com/repos/therc/kubernetes.github.io/commits{/sha}";,
                                        "compare_url": 
"https://api.github.com/repos/therc/kubernetes.github.io/compare/{base}...{head}";,
                                        "contents_url": 
"https://api.github.com/repos/therc/kubernetes.github.io/contents/{+path}";,
                                        "contributors_url": 
"https://api.github.com/repos/therc/kubernetes.github.io/contributors";,
                                        "created_at": "2016-03-14T21:11:34Z",
                                        "default_branch": "master",
                                        "deployments_url": 
"https://api.github.com/repos/therc/kubernetes.github.io/deployments";,
                                        "description": "Website/documentation 
repo",
                                        "downloads_url": 
"https://api.github.com/repos/therc/kubernetes.github.io/downloads";,
                                        "events_url": 
"https://api.github.com/repos/therc/kubernetes.github.io/events";,
                                        "fork": true,
                                        "forks": 0,
                                        "forks_count": 0,
                                        "forks_url": 
"https://api.github.com/repos/therc/kubernetes.github.io/forks";,
                                        "full_name": 
"therc/kubernetes.github.io",
                                        "git_commits_url": 
"https://api.github.com/repos/therc/kubernetes.github.io/git/commits{/sha}";,
                                        "git_refs_url": 
"https://api.github.com/repos/therc/kubernetes.github.io/git/refs{/sha}";,
                                        "git_tags_url": 
"https://api.github.com/repos/therc/kubernetes.github.io/git/tags{/sha}";,
                                        "git_url": 
"git://github.com/therc/kubernetes.github.io.git",
                                        "has_downloads": true,
                                        "has_issues": false,
                                        "has_pages": false,
                                        "has_wiki": true,
                                        "hooks_url": 
"https://api.github.com/repos/therc/kubernetes.github.io/hooks";,
                                        "html_url": 
"https://github.com/therc/kubernetes.github.io";,
                                        "id": 53892222,
                                        "issue_comment_url": 
"https://api.github.com/repos/therc/kubernetes.github.io/issues/comments{/number}";,
                                        "issue_events_url": 
"https://api.github.com/repos/therc/kubernetes.github.io/issues/events{/number}";,
                                        "issues_url": 
"https://api.github.com/repos/therc/kubernetes.github.io/issues{/number}";,
                                        "keys_url": 
"https://api.github.com/repos/therc/kubernetes.github.io/keys{/key_id}";,
                                        "labels_url": 
"https://api.github.com/repos/therc/kubernetes.github.io/labels{/name}";,
                                        "language": "HTML",
                                        "languages_url": 
"https://api.github.com/repos/therc/kubernetes.github.io/languages";,
                                        "merges_url": 
"https://api.github.com/repos/therc/kubernetes.github.io/merges";,
                                        "milestones_url": 
"https://api.github.com/repos/therc/kubernetes.github.io/milestones{/number}";,
                                        "name": "kubernetes.github.io",
                                        "notifications_url": 
"https://api.github.com/repos/therc/kubernetes.github.io/notifications{?since,all,participating}";,
                                        "open_issues": 0,
                                        "open_issues_count": 0,
                                        "owner": {
                                                "avatar_url": 
"https://avatars.githubusercontent.com/u/13481082?v=3";,
                                                "events_url": 
"https://api.github.com/users/therc/events{/privacy}";,
                                                "followers_url": 
"https://api.github.com/users/therc/followers";,
                                                "following_url": 
"https://api.github.com/users/therc/following{/other_user}";,
                                                "gists_url": 
"https://api.github.com/users/therc/gists{/gist_id}";,
                                                "gravatar_id": "",
                                                "html_url": 
"https://github.com/therc";,
                                                "id": 13481082,
                                                "login": "therc",
                                                "organizations_url": 
"https://api.github.com/users/therc/orgs";,
                                                "received_events_url": 
"https://api.github.com/users/therc/received_events";,
                                                "repos_url": 
"https://api.github.com/users/therc/repos";,
                                                "site_admin": false,
                                                "starred_url": 
"https://api.github.com/users/therc/starred{/owner}{/repo}";,
                                                "subscriptions_url": 
"https://api.github.com/users/therc/subscriptions";,
                                                "type": "User",
                                                "url": 
"https://api.github.com/users/therc";
                                        },
                                        "private": false,
                                        "pulls_url": 
"https://api.github.com/repos/therc/kubernetes.github.io/pulls{/number}";,
                                        "pushed_at": "2016-05-13T16:01:15Z",
                                        "releases_url": 
"https://api.github.com/repos/therc/kubernetes.github.io/releases{/id}";,
                                        "size": 33202,
                                        "ssh_url": 
"[email protected]:therc/kubernetes.github.io.git",
                                        "stargazers_count": 0,
                                        "stargazers_url": 
"https://api.github.com/repos/therc/kubernetes.github.io/stargazers";,
                                        "statuses_url": 
"https://api.github.com/repos/therc/kubernetes.github.io/statuses/{sha}";,
                                        "subscribers_url": 
"https://api.github.com/repos/therc/kubernetes.github.io/subscribers";,
                                        "subscription_url": 
"https://api.github.com/repos/therc/kubernetes.github.io/subscription";,
                                        "svn_url": 
"https://github.com/therc/kubernetes.github.io";,
                                        "tags_url": 
"https://api.github.com/repos/therc/kubernetes.github.io/tags";,
                                        "teams_url": 
"https://api.github.com/repos/therc/kubernetes.github.io/teams";,
                                        "trees_url": 
"https://api.github.com/repos/therc/kubernetes.github.io/git/trees{/sha}";,
                                        "updated_at": "2016-03-14T21:11:36Z",
                                        "url": 
"https://api.github.com/repos/therc/kubernetes.github.io";,
                                        "watchers": 0,
                                        "watchers_count": 0
                                },
                                "sha": 
"0700c5ca798fce6d1f323ca70baa5ef45e82e491",
                                "user": {
                                        "avatar_url": 
"https://avatars.githubusercontent.com/u/13481082?v=3";,
                                        "events_url": 
"https://api.github.com/users/therc/events{/privacy}";,
                                        "followers_url": 
"https://api.github.com/users/therc/followers";,
                                        "following_url": 
"https://api.github.com/users/therc/following{/other_user}";,
                                        "gists_url": 
"https://api.github.com/users/therc/gists{/gist_id}";,
                                        "gravatar_id": "",
                                        "html_url": "https://github.com/therc";,
                                        "id": 13481082,
                                        "login": "therc",
                                        "organizations_url": 
"https://api.github.com/users/therc/orgs";,
                                        "received_events_url": 
"https://api.github.com/users/therc/received_events";,
                                        "repos_url": 
"https://api.github.com/users/therc/repos";,
                                        "site_admin": false,
                                        "starred_url": 
"https://api.github.com/users/therc/starred{/owner}{/repo}";,
                                        "subscriptions_url": 
"https://api.github.com/users/therc/subscriptions";,
                                        "type": "User",
                                        "url": 
"https://api.github.com/users/therc";
                                }
                        },
                        "html_url": 
"https://github.com/kubernetes/kubernetes.github.io/pull/507";,
                        "id": 70019391,
                        "issue_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/issues/507";,
                        "locked": false,
                        "merge_commit_sha": 
"a135f0a717803b35ec80563768d5abb4b45ac4d1",
                        "mergeable_state": "unknown",
                        "merged": true,
                        "merged_at": "2016-07-07T00:00:33Z",
                        "merged_by": {
                                "avatar_url": 
"https://avatars.githubusercontent.com/u/5439615?v=3";,
                                "events_url": 
"https://api.github.com/users/johndmulhausen/events{/privacy}";,
                                "followers_url": 
"https://api.github.com/users/johndmulhausen/followers";,
                                "following_url": 
"https://api.github.com/users/johndmulhausen/following{/other_user}";,
                                "gists_url": 
"https://api.github.com/users/johndmulhausen/gists{/gist_id}";,
                                "gravatar_id": "",
                                "html_url": "https://github.com/johndmulhausen";,
                                "id": 5439615,
                                "login": "johndmulhausen",
                                "organizations_url": 
"https://api.github.com/users/johndmulhausen/orgs";,
                                "received_events_url": 
"https://api.github.com/users/johndmulhausen/received_events";,
                                "repos_url": 
"https://api.github.com/users/johndmulhausen/repos";,
                                "site_admin": false,
                                "starred_url": 
"https://api.github.com/users/johndmulhausen/starred{/owner}{/repo}";,
                                "subscriptions_url": 
"https://api.github.com/users/johndmulhausen/subscriptions";,
                                "type": "User",
                                "url": 
"https://api.github.com/users/johndmulhausen";
                        },
                        "number": 507,
                        "patch_url": 
"https://github.com/kubernetes/kubernetes.github.io/pull/507.patch";,
                        "review_comment_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/pulls/comments{/number}";,
                        "review_comments": 4,
                        "review_comments_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/pulls/507/comments";,
                        "state": "closed",
                        "statuses_url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/statuses/0700c5ca798fce6d1f323ca70baa5ef45e82e491";,
                        "title": "Update service doc with AWS ELB SSL 
annotations",
                        "updated_at": "2016-07-07T00:00:33Z",
                        "url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io/pulls/507";,
                        "user": {
                                "avatar_url": 
"https://avatars.githubusercontent.com/u/13481082?v=3";,
                                "events_url": 
"https://api.github.com/users/therc/events{/privacy}";,
                                "followers_url": 
"https://api.github.com/users/therc/followers";,
                                "following_url": 
"https://api.github.com/users/therc/following{/other_user}";,
                                "gists_url": 
"https://api.github.com/users/therc/gists{/gist_id}";,
                                "gravatar_id": "",
                                "html_url": "https://github.com/therc";,
                                "id": 13481082,
                                "login": "therc",
                                "organizations_url": 
"https://api.github.com/users/therc/orgs";,
                                "received_events_url": 
"https://api.github.com/users/therc/received_events";,
                                "repos_url": 
"https://api.github.com/users/therc/repos";,
                                "site_admin": false,
                                "starred_url": 
"https://api.github.com/users/therc/starred{/owner}{/repo}";,
                                "subscriptions_url": 
"https://api.github.com/users/therc/subscriptions";,
                                "type": "User",
                                "url": "https://api.github.com/users/therc";
                        }
                }
        },
        "public": true,
        "repo": {
                "id": 51478266,
                "name": "kubernetes/kubernetes.github.io",
                "url": 
"https://api.github.com/repos/kubernetes/kubernetes.github.io";
        },
        "type": "PullRequestEvent"
   }
   ```




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to