Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move local parallel to planner #4699

Merged
merged 19 commits into from
Apr 27, 2016
Merged

Move local parallel to planner #4699

merged 19 commits into from
Apr 27, 2016

Conversation

dain
Copy link
Contributor

@dain dain commented Mar 3, 2016

  • Local exchanges are added during planning and now appear in explain.
  • Rewrote local exchange implementation
  • Rewrote parallel hash build to fix memory tracking and to support
    build outer joins.
  • Added specialized function to enforce layout in local execution planner
    instead of adding extra projection

@dain
Copy link
Contributor Author

dain commented Mar 3, 2016

The first commit Improve precomputed hash optimizer does not need to be reviewed. Nileema is handling this one.

@dain
Copy link
Contributor Author

dain commented Mar 23, 2016

@nileema I updated this to address all of @erichwang's comments in the planner parts.

import static java.util.Objects.requireNonNull;

@ThreadSafe
public class LocalExchange
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@haozhun can you review this and the related classes for any possible concurrency issues?

@dain dain force-pushed the local-exchanges branch 2 times, most recently from a1cdab7 to 73d14ea Compare March 23, 2016 08:00
@pnowojski
Copy link
Member

@dain did I miss something, or you didn't respond to my comments/questions? Now I'am unable to even find my comments. You could create new pull request after you recent changes instead of overwriting this one :(

Ok, I was able to recover hashes for some of my comments that disappeared:

dain/trino@d444ec2
dain/trino@a9e5bf5

@nileema
Copy link
Contributor

nileema commented Mar 24, 2016

Add partial flag to LimitNode looks good.

@nileema
Copy link
Contributor

nileema commented Mar 24, 2016

Remove experimental use-intermediate-aggregations feature
Add partial flag to DistinctLimit
Add exchange to plan visualizer
Require instance count when constructing DriverFactory

Look good

synchronized (this) {
allSourcesFinished = true;

// since all sources are finished there is no reason to all new pages
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2nd all -> add

case LEFT:
// the left can contain nulls in any stream so we can't say anything about the
// partitioning but the other properties of the left will be maintained.
return leftProperties.withoutSymbols();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe call this withUnspecifiedPartitioning or withArbitraryPartitioning?

@dain dain force-pushed the local-exchanges branch from 387a092 to bca393c Compare April 26, 2016 21:21
@dain dain force-pushed the local-exchanges branch from bca393c to 8c35026 Compare April 27, 2016 16:47
@dain dain closed this Apr 27, 2016
@dain dain deleted the local-exchanges branch April 27, 2016 16:47
@dain dain merged commit 8c35026 into prestodb:master Apr 27, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants