From 0436a95f37df086ddc99017376cb9a312e40517a Mon Sep 17 00:00:00 2001 From: Matt Riedemann Date: Mon, 23 Sep 2019 14:57:44 -0400 Subject: [PATCH] Log CellTimeout traceback in scatter_gather_cells When a call to a cell in scatter_gather_cells times out we log a warning and set the did_not_respond_sentinel for that cell but it would be useful if we logged the traceback with the warning for debugging where the call is happening. Change-Id: I8f4069474a3955eea6c967d3090f2960e739224c Related-Bug: #1844929 --- nova/context.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/nova/context.py b/nova/context.py index 76c0086f6344..b87a74b217f1 100644 --- a/nova/context.py +++ b/nova/context.py @@ -445,15 +445,14 @@ def scatter_gather_cells(context, cell_mappings, timeout, fn, *args, **kwargs): except exception.CellTimeout: # NOTE(melwitt): We'll fill in did_not_respond_sentinels at the # same time we kill/wait for the green threads. - pass + LOG.warning('Timed out waiting for response from cell %s', + cell_uuid, exc_info=True) # Kill the green threads still pending and wait on those we know are done. for cell_uuid, greenthread in greenthreads: if cell_uuid not in results: greenthread.kill() results[cell_uuid] = did_not_respond_sentinel - LOG.warning('Timed out waiting for response from cell %s', - cell_uuid) else: greenthread.wait()