Blob Blame History Raw
From 04dcff0a0d43b3a1a1a18758ad51e7b65f2ba34a Mon Sep 17 00:00:00 2001
From: Aravinda VK <avishwan@redhat.com>
Date: Thu, 8 Sep 2016 17:30:37 +0530
Subject: [PATCH 80/86] geo-rep: Defunct tar process after sync

After every sync iteration with tarssh mode leaves defunct tar
process.

Added wait for tar process to prevent this issue.

> Reviewed-on: http://review.gluster.org/15426
> Smoke: Gluster Build System <jenkins@build.gluster.org>
> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
> Reviewed-by: Saravanakumar Arumugam <sarumuga@redhat.com>
> CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
> Reviewed-by: Kotresh HR <khiremat@redhat.com>
> Reviewed-on: http://review.gluster.org/15489
> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
> Smoke: Gluster Build System <jenkins@build.gluster.org>
> CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
> Reviewed-by: Saravanakumar Arumugam <sarumuga@redhat.com>

BUG: 1373976
Change-Id: I9953239ef601cc1970c814b00074b45eb00f481e
Signed-off-by: Aravinda VK <avishwan@redhat.com>
Reviewed-on: https://code.engineering.redhat.com/gerrit/85004
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
---
 geo-replication/syncdaemon/resource.py |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/geo-replication/syncdaemon/resource.py b/geo-replication/syncdaemon/resource.py
index 70d420e..b451f73 100644
--- a/geo-replication/syncdaemon/resource.py
+++ b/geo-replication/syncdaemon/resource.py
@@ -1040,6 +1040,12 @@ class SlaveRemote(object):
         # waiting for transfer to complete
         _, stderr1 = p1.communicate()
 
+        # stdin and stdout of p0 is already closed, Reset to None and
+        # wait for child process to complete
+        p0.stdin = None
+        p0.stdout = None
+        p0.communicate()
+
         if log_err:
             for errline in stderr1.strip().split("\n")[:-1]:
                 logging.error("SYNC Error(Untar): %s" % errline)
-- 
1.7.1