{"action":"created","comment":{"url":"https://api.github.com/repos/apache/samza/pulls/comments/232075935","pull_request_review_id":173191645,"id":232075935,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzMjA3NTkzNQ==","diff_hunk":"@@ -59,46 +60,53 @@\n  * Translator to translate the LogicalJoin node in the relational graph to the corresponding StreamGraph\n  * implementation.\n  * Join is supported with the following caveats:\n- *   0. Only local tables are supported. Remote/composite tables are not yet supported.\n  *   1. Only stream-table joins are supported. No stream-stream joins.\n  *   2. Only Equi-joins are supported. No theta-joins.\n  *   3. Inner joins, Left and Right outer joins are supported. No cross joins, full outer joins or natural joins.\n  *   4. Join condition with a constant is not supported.\n  *   5. Compound join condition with only AND operator is supported. AND operator with a constant is not supported. No\n  *      support for OR operator or any other operator in the join condition.\n- *\n- * It is assumed that the stream denoted as 'table' is already partitioned by the key(s) specified in the join\n- * condition. We do not repartition the table as bootstrap semantic is not propagated to the intermediate streams.\n- * Please refer SAMZA-1613 for more details on this. But we always repartition the stream by the key(s) specified in\n- * the join condition.\n+ * For local table, we always repartition both the stream to be joined and the stream denoted as table by the key(s)\n+ * specified in the join condition.\n  */\n class JoinTranslator {\n \n   private static final Logger log = LoggerFactory.getLogger(JoinTranslator.class);\n   private int joinId;\n-  private SqlIOResolver ioResolver;\n   private final String intermediateStreamPrefix;\n+  private final int queryId;\n+  enum TableType {\n+    NONE, // Not a table == a stream","path":"samza-sql/src/main/java/org/apache/samza/sql/translator/JoinTranslator.java","position":null,"original_position":44,"commit_id":"cb4df4aa60916822d460af4f7369d60cb01301e5","original_commit_id":"786d8e096c773c89078a250da4cb97e293642931","user":{"login":"atoomula","id":24232061,"node_id":"MDQ6VXNlcjI0MjMyMDYx","avatar_url":"https://avatars1.githubusercontent.com/u/24232061?v=4","gravatar_id":"","url":"https://api.github.com/users/atoomula","html_url":"https://github.com/atoomula","followers_url":"https://api.github.com/users/atoomula/followers","following_url":"https://api.github.com/users/atoomula/following{/other_user}","gists_url":"https://api.github.com/users/atoomula/gists{/gist_id}","starred_url":"https://api.github.com/users/atoomula/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/atoomula/subscriptions","organizations_url":"https://api.github.com/users/atoomula/orgs","repos_url":"https://api.github.com/users/atoomula/repos","events_url":"https://api.github.com/users/atoomula/events{/privacy}","received_events_url":"https://api.github.com/users/atoomula/received_events","type":"User","site_admin":false},"body":"I refactored this part of the code. Please take a look.","created_at":"2018-11-08T21:57:28Z","updated_at":"2018-11-08T21:57:28Z","html_url":"https://github.com/apache/samza/pull/794#discussion_r232075935","pull_request_url":"https://api.github.com/repos/apache/samza/pulls/794","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/apache/samza/pulls/comments/232075935"},"html":{"href":"https://github.com/apache/samza/pull/794#discussion_r232075935"},"pull_request":{"href":"https://api.github.com/repos/apache/samza/pulls/794"}},"in_reply_to_id":231606089},"pull_request":{"url":"https://api.github.com/repos/apache/samza/pulls/794","id":228407038,"node_id":"MDExOlB1bGxSZXF1ZXN0MjI4NDA3MDM4","html_url":"https://github.com/apache/samza/pull/794","diff_url":"https://github.com/apache/samza/pull/794.diff","patch_url":"https://github.com/apache/samza/pull/794.patch","issue_url":"https://api.github.com/repos/apache/samza/issues/794","number":794,"state":"open","locked":false,"title":"SAMZA-1616: Samza-Sql - Support remote table for stream-table join","user":{"login":"atoomula","id":24232061,"node_id":"MDQ6VXNlcjI0MjMyMDYx","avatar_url":"https://avatars1.githubusercontent.com/u/24232061?v=4","gravatar_id":"","url":"https://api.github.com/users/atoomula","html_url":"https://github.com/atoomula","followers_url":"https://api.github.com/users/atoomula/followers","following_url":"https://api.github.com/users/atoomula/following{/other_user}","gists_url":"https://api.github.com/users/atoomula/gists{/gist_id}","starred_url":"https://api.github.com/users/atoomula/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/atoomula/subscriptions","organizations_url":"https://api.github.com/users/atoomula/orgs","repos_url":"https://api.github.com/users/atoomula/repos","events_url":"https://api.github.com/users/atoomula/events{/privacy}","received_events_url":"https://api.github.com/users/atoomula/received_events","type":"User","site_admin":false},"body":"","created_at":"2018-11-05T16:14:41Z","updated_at":"2018-11-08T21:57:28Z","closed_at":null,"merged_at":null,"merge_commit_sha":"14bd4523814b8ed1bad615dc11ea741f320cde15","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/apache/samza/pulls/794/commits","review_comments_url":"https://api.github.com/repos/apache/samza/pulls/794/comments","review_comment_url":"https://api.github.com/repos/apache/samza/pulls/comments{/number}","comments_url":"https://api.github.com/repos/apache/samza/issues/794/comments","statuses_url":"https://api.github.com/repos/apache/samza/statuses/cb4df4aa60916822d460af4f7369d60cb01301e5","head":{"label":"atoomula:remote","ref":"remote","sha":"cb4df4aa60916822d460af4f7369d60cb01301e5","user":{"login":"atoomula","id":24232061,"node_id":"MDQ6VXNlcjI0MjMyMDYx","avatar_url":"https://avatars1.githubusercontent.com/u/24232061?v=4","gravatar_id":"","url":"https://api.github.com/users/atoomula","html_url":"https://github.com/atoomula","followers_url":"https://api.github.com/users/atoomula/followers","following_url":"https://api.github.com/users/atoomula/following{/other_user}","gists_url":"https://api.github.com/users/atoomula/gists{/gist_id}","starred_url":"https://api.github.com/users/atoomula/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/atoomula/subscriptions","organizations_url":"https://api.github.com/users/atoomula/orgs","repos_url":"https://api.github.com/users/atoomula/repos","events_url":"https://api.github.com/users/atoomula/events{/privacy}","received_events_url":"https://api.github.com/users/atoomula/received_events","type":"User","site_admin":false},"repo":{"id":110747916,"node_id":"MDEwOlJlcG9zaXRvcnkxMTA3NDc5MTY=","name":"samza","full_name":"atoomula/samza","private":false,"owner":{"login":"atoomula","id":24232061,"node_id":"MDQ6VXNlcjI0MjMyMDYx","avatar_url":"https://avatars1.githubusercontent.com/u/24232061?v=4","gravatar_id":"","url":"https://api.github.com/users/atoomula","html_url":"https://github.com/atoomula","followers_url":"https://api.github.com/users/atoomula/followers","following_url":"https://api.github.com/users/atoomula/following{/other_user}","gists_url":"https://api.github.com/users/atoomula/gists{/gist_id}","starred_url":"https://api.github.com/users/atoomula/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/atoomula/subscriptions","organizations_url":"https://api.github.com/users/atoomula/orgs","repos_url":"https://api.github.com/users/atoomula/repos","events_url":"https://api.github.com/users/atoomula/events{/privacy}","received_events_url":"https://api.github.com/users/atoomula/received_events","type":"User","site_admin":false},"html_url":"https://github.com/atoomula/samza","description":"Mirror of Apache Samza","fork":true,"url":"https://api.github.com/repos/atoomula/samza","forks_url":"https://api.github.com/repos/atoomula/samza/forks","keys_url":"https://api.github.com/repos/atoomula/samza/keys{/key_id}","collaborators_url":"https://api.github.com/repos/atoomula/samza/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/atoomula/samza/teams","hooks_url":"https://api.github.com/repos/atoomula/samza/hooks","issue_events_url":"https://api.github.com/repos/atoomula/samza/issues/events{/number}","events_url":"https://api.github.com/repos/atoomula/samza/events","assignees_url":"https://api.github.com/repos/atoomula/samza/assignees{/user}","branches_url":"https://api.github.com/repos/atoomula/samza/branches{/branch}","tags_url":"https://api.github.com/repos/atoomula/samza/tags","blobs_url":"https://api.github.com/repos/atoomula/samza/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/atoomula/samza/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/atoomula/samza/git/refs{/sha}","trees_url":"https://api.github.com/repos/atoomula/samza/git/trees{/sha}","statuses_url":"https://api.github.com/repos/atoomula/samza/statuses/{sha}","languages_url":"https://api.github.com/repos/atoomula/samza/languages","stargazers_url":"https://api.github.com/repos/atoomula/samza/stargazers","contributors_url":"https://api.github.com/repos/atoomula/samza/contributors","subscribers_url":"https://api.github.com/repos/atoomula/samza/subscribers","subscription_url":"https://api.github.com/repos/atoomula/samza/subscription","commits_url":"https://api.github.com/repos/atoomula/samza/commits{/sha}","git_commits_url":"https://api.github.com/repos/atoomula/samza/git/commits{/sha}","comments_url":"https://api.github.com/repos/atoomula/samza/comments{/number}","issue_comment_url":"https://api.github.com/repos/atoomula/samza/issues/comments{/number}","contents_url":"https://api.github.com/repos/atoomula/samza/contents/{+path}","compare_url":"https://api.github.com/repos/atoomula/samza/compare/{base}...{head}","merges_url":"https://api.github.com/repos/atoomula/samza/merges","archive_url":"https://api.github.com/repos/atoomula/samza/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/atoomula/samza/downloads","issues_url":"https://api.github.com/repos/atoomula/samza/issues{/number}","pulls_url":"https://api.github.com/repos/atoomula/samza/pulls{/number}","milestones_url":"https://api.github.com/repos/atoomula/samza/milestones{/number}","notifications_url":"https://api.github.com/repos/atoomula/samza/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/atoomula/samza/labels{/name}","releases_url":"https://api.github.com/repos/atoomula/samza/releases{/id}","deployments_url":"https://api.github.com/repos/atoomula/samza/deployments","created_at":"2017-11-14T21:40:12Z","updated_at":"2018-10-30T23:29:50Z","pushed_at":"2018-11-08T21:56:28Z","git_url":"git://github.com/atoomula/samza.git","ssh_url":"git@github.com:atoomula/samza.git","clone_url":"https://github.com/atoomula/samza.git","svn_url":"https://github.com/atoomula/samza","homepage":null,"size":26931,"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":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"apache:master","ref":"master","sha":"859f1b646a75d499405d470116a227d83a5d506d","user":{"login":"apache","id":47359,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3MzU5","avatar_url":"https://avatars0.githubusercontent.com/u/47359?v=4","gravatar_id":"","url":"https://api.github.com/users/apache","html_url":"https://github.com/apache","followers_url":"https://api.github.com/users/apache/followers","following_url":"https://api.github.com/users/apache/following{/other_user}","gists_url":"https://api.github.com/users/apache/gists{/gist_id}","starred_url":"https://api.github.com/users/apache/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/apache/subscriptions","organizations_url":"https://api.github.com/users/apache/orgs","repos_url":"https://api.github.com/users/apache/repos","events_url":"https://api.github.com/users/apache/events{/privacy}","received_events_url":"https://api.github.com/users/apache/received_events","type":"Organization","site_admin":false},"repo":{"id":32199982,"node_id":"MDEwOlJlcG9zaXRvcnkzMjE5OTk4Mg==","name":"samza","full_name":"apache/samza","private":false,"owner":{"login":"apache","id":47359,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3MzU5","avatar_url":"https://avatars0.githubusercontent.com/u/47359?v=4","gravatar_id":"","url":"https://api.github.com/users/apache","html_url":"https://github.com/apache","followers_url":"https://api.github.com/users/apache/followers","following_url":"https://api.github.com/users/apache/following{/other_user}","gists_url":"https://api.github.com/users/apache/gists{/gist_id}","starred_url":"https://api.github.com/users/apache/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/apache/subscriptions","organizations_url":"https://api.github.com/users/apache/orgs","repos_url":"https://api.github.com/users/apache/repos","events_url":"https://api.github.com/users/apache/events{/privacy}","received_events_url":"https://api.github.com/users/apache/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/apache/samza","description":"Mirror of Apache Samza","fork":false,"url":"https://api.github.com/repos/apache/samza","forks_url":"https://api.github.com/repos/apache/samza/forks","keys_url":"https://api.github.com/repos/apache/samza/keys{/key_id}","collaborators_url":"https://api.github.com/repos/apache/samza/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/apache/samza/teams","hooks_url":"https://api.github.com/repos/apache/samza/hooks","issue_events_url":"https://api.github.com/repos/apache/samza/issues/events{/number}","events_url":"https://api.github.com/repos/apache/samza/events","assignees_url":"https://api.github.com/repos/apache/samza/assignees{/user}","branches_url":"https://api.github.com/repos/apache/samza/branches{/branch}","tags_url":"https://api.github.com/repos/apache/samza/tags","blobs_url":"https://api.github.com/repos/apache/samza/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/apache/samza/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/apache/samza/git/refs{/sha}","trees_url":"https://api.github.com/repos/apache/samza/git/trees{/sha}","statuses_url":"https://api.github.com/repos/apache/samza/statuses/{sha}","languages_url":"https://api.github.com/repos/apache/samza/languages","stargazers_url":"https://api.github.com/repos/apache/samza/stargazers","contributors_url":"https://api.github.com/repos/apache/samza/contributors","subscribers_url":"https://api.github.com/repos/apache/samza/subscribers","subscription_url":"https://api.github.com/repos/apache/samza/subscription","commits_url":"https://api.github.com/repos/apache/samza/commits{/sha}","git_commits_url":"https://api.github.com/repos/apache/samza/git/commits{/sha}","comments_url":"https://api.github.com/repos/apache/samza/comments{/number}","issue_comment_url":"https://api.github.com/repos/apache/samza/issues/comments{/number}","contents_url":"https://api.github.com/repos/apache/samza/contents/{+path}","compare_url":"https://api.github.com/repos/apache/samza/compare/{base}...{head}","merges_url":"https://api.github.com/repos/apache/samza/merges","archive_url":"https://api.github.com/repos/apache/samza/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/apache/samza/downloads","issues_url":"https://api.github.com/repos/apache/samza/issues{/number}","pulls_url":"https://api.github.com/repos/apache/samza/pulls{/number}","milestones_url":"https://api.github.com/repos/apache/samza/milestones{/number}","notifications_url":"https://api.github.com/repos/apache/samza/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/apache/samza/labels{/name}","releases_url":"https://api.github.com/repos/apache/samza/releases{/id}","deployments_url":"https://api.github.com/repos/apache/samza/deployments","created_at":"2015-03-14T07:00:05Z","updated_at":"2018-11-08T16:01:51Z","pushed_at":"2018-11-08T21:56:30Z","git_url":"git://github.com/apache/samza.git","ssh_url":"git@github.com:apache/samza.git","clone_url":"https://github.com/apache/samza.git","svn_url":"https://github.com/apache/samza","homepage":null,"size":27022,"stargazers_count":471,"watchers_count":471,"language":"Java","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":211,"mirror_url":null,"archived":false,"open_issues_count":28,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":211,"open_issues":28,"watchers":471,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/apache/samza/pulls/794"},"html":{"href":"https://github.com/apache/samza/pull/794"},"issue":{"href":"https://api.github.com/repos/apache/samza/issues/794"},"comments":{"href":"https://api.github.com/repos/apache/samza/issues/794/comments"},"review_comments":{"href":"https://api.github.com/repos/apache/samza/pulls/794/comments"},"review_comment":{"href":"https://api.github.com/repos/apache/samza/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/apache/samza/pulls/794/commits"},"statuses":{"href":"https://api.github.com/repos/apache/samza/statuses/cb4df4aa60916822d460af4f7369d60cb01301e5"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"atoomula"}}