{"action":"created","issue":{"url":"https://api.github.com/repos/apache/flink/issues/1469","labels_url":"https://api.github.com/repos/apache/flink/issues/1469/labels{/name}","comments_url":"https://api.github.com/repos/apache/flink/issues/1469/comments","events_url":"https://api.github.com/repos/apache/flink/issues/1469/events","html_url":"https://github.com/apache/flink/pull/1469","id":122880702,"number":1469,"title":"[FLINK-2871] support outer join for hash join on build side.","user":{"login":"ChengXiangLi","id":4425616,"avatar_url":"https://avatars.githubusercontent.com/u/4425616?v=3","gravatar_id":"","url":"https://api.github.com/users/ChengXiangLi","html_url":"https://github.com/ChengXiangLi","followers_url":"https://api.github.com/users/ChengXiangLi/followers","following_url":"https://api.github.com/users/ChengXiangLi/following{/other_user}","gists_url":"https://api.github.com/users/ChengXiangLi/gists{/gist_id}","starred_url":"https://api.github.com/users/ChengXiangLi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ChengXiangLi/subscriptions","organizations_url":"https://api.github.com/users/ChengXiangLi/orgs","repos_url":"https://api.github.com/users/ChengXiangLi/repos","events_url":"https://api.github.com/users/ChengXiangLi/events{/privacy}","received_events_url":"https://api.github.com/users/ChengXiangLi/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-12-18T05:14:20Z","updated_at":"2016-01-21T11:50:28Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/apache/flink/pulls/1469","html_url":"https://github.com/apache/flink/pull/1469","diff_url":"https://github.com/apache/flink/pull/1469.diff","patch_url":"https://github.com/apache/flink/pull/1469.patch"},"body":"1. There are 4 reserved bytes left in bucket header of `MutableHashTable`, as there are only 9 elements in each bucket, This PR could use 2 bytes to build a BitSet which is used to mark whether elements in that bucket has been probed during probe phase. After probe phase, return the elements which has not been probed at the end.\r\n2. As build side outer join is supported, we could support more flexible strategy for left outer join, right outer join and full outer join, new supported join types includes:\r\n  * left outer join with `REPARTITION_HASH_FIRST`. \r\n  * right outer join with `REPARTITION_HASH_SECOND`\r\n  * full outer join with `REPARTITION_HASH_FIRST` or `REPARTITION_HASH_SECOND`.\r\n3. But there is still some limitations about broadcast hash join, the following join types are still not supported for obviously reason:\r\n  * left outer join with `BROADCAST_HASH_FIRST`.\r\n  * right outer join with `BROADCAST_HASH_SECOND`.\r\n  * full outer join with `BROADCAST_HASH_FIRST` and `BROADCAST_HASH_SECOND`."},"comment":{"url":"https://api.github.com/repos/apache/flink/issues/comments/173547539","html_url":"https://github.com/apache/flink/pull/1469#issuecomment-173547539","issue_url":"https://api.github.com/repos/apache/flink/issues/1469","id":173547539,"user":{"login":"fhueske","id":2388347,"avatar_url":"https://avatars.githubusercontent.com/u/2388347?v=3","gravatar_id":"","url":"https://api.github.com/users/fhueske","html_url":"https://github.com/fhueske","followers_url":"https://api.github.com/users/fhueske/followers","following_url":"https://api.github.com/users/fhueske/following{/other_user}","gists_url":"https://api.github.com/users/fhueske/gists{/gist_id}","starred_url":"https://api.github.com/users/fhueske/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fhueske/subscriptions","organizations_url":"https://api.github.com/users/fhueske/orgs","repos_url":"https://api.github.com/users/fhueske/repos","events_url":"https://api.github.com/users/fhueske/events{/privacy}","received_events_url":"https://api.github.com/users/fhueske/received_events","type":"User","site_admin":false},"created_at":"2016-01-21T11:50:28Z","updated_at":"2016-01-21T11:50:28Z","body":"Thanks for the update and the regression test @ChengXiangLi!\r\nLooks good, only minor changes to do, IMO.\r\n\r\n"}}