gortiz opened a new pull request, #16603: URL: https://github.com/apache/pinot/pull/16603
In https://github.com/apache/pinot/pull/14912, we modified `is_colocated_by_join_keys` hint. If included, we should blindly apply joins in colocated fashion (even if we cannot verify it is correct to do so!), but simple queries like: ```sql select /*+ joinOptions(is_colocated_by_join_keys='true') */ * from userAttributes u join userGroups g on u.userUUID = g.userUUID ``` Shows that mailboxes were sending raw messages. Funny enough, using `explain implementation plan for` in this case incorrectly indicates that the mailbox was partitioned. The reason for this is that MailboxAssignmentVisitor was ignoring the pre-partitioned flag because `isDirectExchangeCompatible` returned false. This PR solves that. In a future PR, I want to add new tests that verify this hint works as expected, given we have errors like this in the past and the semantics of the hint have changed several times in the last 3 years. Right now I just only tested this feature manually with the query above and with ```sql select /*+ joinOptions(is_colocated_by_join_keys='true') */ * from userAttributes u join userGroups g on u.userUUID = g.groupUUID ``` which is actually not collocated (see the ON condition), but the hint here forces colocation. I've also opened a request on gitbook to document the hint. See https://app.gitbook.com/o/-LtRX9NwSr7Ga7zA4piL/s/-LtH6nl58DdnZnelPdTc-887967055/~/changes/2218/users/user-guide-query/multi-stage-query/join-strategies/colocated-join-strategy#advanced-configuration -- 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. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
