Repository: incubator-hawq Updated Branches: refs/heads/master be0bcf20e -> 838cf50d3
HAWQ-1121. Fix Madlib gppkg package installation hang issue. Project: http://git-wip-us.apache.org/repos/asf/incubator-hawq/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-hawq/commit/838cf50d Tree: http://git-wip-us.apache.org/repos/asf/incubator-hawq/tree/838cf50d Diff: http://git-wip-us.apache.org/repos/asf/incubator-hawq/diff/838cf50d Branch: refs/heads/master Commit: 838cf50d3fac3ac6b2d51ed61899facf56916d8f Parents: be0bcf2 Author: ivan & rlei <[email protected]> Authored: Wed Oct 26 11:05:33 2016 +0800 Committer: rlei <[email protected]> Committed: Wed Oct 26 11:21:07 2016 +0800 ---------------------------------------------------------------------- tools/bin/gppylib/operations/package.py | 2 ++ tools/bin/gppylib/operations/utils.py | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/838cf50d/tools/bin/gppylib/operations/package.py ---------------------------------------------------------------------- diff --git a/tools/bin/gppylib/operations/package.py b/tools/bin/gppylib/operations/package.py index d422c24..3ca3798 100644 --- a/tools/bin/gppylib/operations/package.py +++ b/tools/bin/gppylib/operations/package.py @@ -313,6 +313,7 @@ class RemoteCommand(Operation): cmd = Command(name = 'Remote Command', cmdStr = self.cmd_str, ctxt = REMOTE, remoteHost = host) pool.addCommand(cmd) pool.join() + pool.haltWork() #This will raise ExecutionError exception if even a single command fails pool.check_results() @@ -1262,6 +1263,7 @@ class GpScp(Operation): dstFile = self.target_path, dstHost = host)) pool.join() + pool.haltWork() class HostOperation(Operation): http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/838cf50d/tools/bin/gppylib/operations/utils.py ---------------------------------------------------------------------- diff --git a/tools/bin/gppylib/operations/utils.py b/tools/bin/gppylib/operations/utils.py index 2b16b7d..d9078d6 100644 --- a/tools/bin/gppylib/operations/utils.py +++ b/tools/bin/gppylib/operations/utils.py @@ -80,7 +80,9 @@ class ParallelOperation(Operation): self.parallelism = min(len(operations), max_parallelism) def execute(self): """TODO: Make Command a subclass of Operation. Then, make WorkerPool work with Operation objects.""" - OperationWorkerPool(numWorkers=self.parallelism, operations=self.operations).join() + pool = OperationWorkerPool(numWorkers=self.parallelism, operations=self.operations) + pool.join() + pool.haltWork() return None def __str__(self): return "Parallel(%d)" % len(self.operations)
