Blame dmlite-LCGDM-2948-draining_last_transfer_wait.patch
|
Petr Vokac |
238799e |
diff --git a/shell/src/interpreter.py b/shell/src/interpreter.py
|
|
Petr Vokac |
238799e |
index 011b9a23..625fce88 100644
|
|
Petr Vokac |
238799e |
--- a/shell/src/interpreter.py
|
|
Petr Vokac |
238799e |
+++ b/shell/src/interpreter.py
|
|
Petr Vokac |
238799e |
@@ -3218,11 +3218,13 @@ class DrainReplicas(object):
|
|
Petr Vokac |
238799e |
self.threadpool = []
|
|
Petr Vokac |
238799e |
|
|
Petr Vokac |
238799e |
def stopThreads(self):
|
|
Petr Vokac |
238799e |
- self.interpreter.ok('Drain process Stopped, Waiting max 10 seconds for each running thread to end...')
|
|
Petr Vokac |
238799e |
+ self.interpreter.ok('Drain process Stopped, Waiting max 60 seconds + 5 seconds for each running thread')
|
|
Petr Vokac |
238799e |
for t in self.threadpool:
|
|
Petr Vokac |
238799e |
t.stop()
|
|
Petr Vokac |
238799e |
+ join_start = time.monotonic()
|
|
Petr Vokac |
238799e |
for t in self.threadpool:
|
|
Petr Vokac |
238799e |
- t.join(10)
|
|
Petr Vokac |
238799e |
+ wait = 60 - (time.monotonic() - join_start)
|
|
Petr Vokac |
238799e |
+ t.join(wait if wait > 5 else 5)
|
|
Petr Vokac |
238799e |
self.printDrainErrors()
|
|
Petr Vokac |
238799e |
|
|
Petr Vokac |
238799e |
def printDrainErrors(self):
|
|
Petr Vokac |
238799e |
@@ -3291,8 +3293,11 @@ class DrainReplicas(object):
|
|
Petr Vokac |
238799e |
|
|
Petr Vokac |
238799e |
for t in self.threadpool:
|
|
Petr Vokac |
238799e |
t.stop()
|
|
Petr Vokac |
238799e |
+ self.interpreter.ok("Joining %i threads (wait max 3600s + 5s for each thread)\n" % len(self.threadpool))
|
|
Petr Vokac |
238799e |
+ join_start = time.monotonic()
|
|
Petr Vokac |
238799e |
for t in self.threadpool:
|
|
Petr Vokac |
238799e |
- t.join(10)
|
|
Petr Vokac |
238799e |
+ wait = 3600 - (time.monotonic() - join_start)
|
|
Petr Vokac |
238799e |
+ t.join(wait if wait > 5 else 5)
|
|
Petr Vokac |
238799e |
if self.parameters['move']:
|
|
Petr Vokac |
238799e |
self.interpreter.ok("Move Process completed\n")
|
|
Petr Vokac |
238799e |
else:
|