GitHub user paul-rogers opened a pull request:
https://github.com/apache/drill/pull/717
DRILL-5080: Memory-managed version of external sort
Please see the DRILL-5080 JIRA, and subtasks, for reasons for revision,
design spec and list of changes. Basically the idea is to beef up the logic in
the external sort to ensure that it operates within a defined memory budget. In
order to do the work, the code was first refactored into smaller, easier to
digest functions.
As a precaution, the original external sort code is unchanged. The
"managed" version was created as a new operator that must be enabled. Reviewers
can compare the old and new versions. Users can continue to favor the old
version until the new version is fully ready for prime-time.
This PR covers the changes to the external sort itself. Tests for this
operator require the test framework in DRILL-5126 and the mock data source in
DRILL-5152. Tests for this operator will be issued as a separate PR once those
two dependencies are committed.
Until then, the new operator is disabled by default. It can be enabled using
```
drill.sort.external.disable_managed: false
```
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/paul-rogers/drill DRILL-5080
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/drill/pull/717.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #717
----
commit 716e422bc70fa16b193ecce245d392c759784247
Author: Paul Rogers <[email protected]>
Date: 2016-12-16T03:54:05Z
DRILL-5080: Memory-managed version of external sort
Please see JIRA entry for reasons for revision, design spec and list of
changes.
This PR covers the changes to the external sort itself. Tests for this
operator require the test framework in DRILL-5126 and the mock data
source in DRILL-5152. Tests for this operator will be issued as a
separate PR once those two dependencies are committed.
Until then, the new operator is disabled by default. It can be enabled
using drill.sort.external.disable_managed: false.
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---