Update python impala cluster script for docker compatibility

The python scripts looked at all processes even those not owned by the
current user which includes docker processes. The fix is to only
consider processes owned by the current user.

Some unused imports were also removed.

Change-Id: I8ae7c4a5f3c6ce7d2838f9f722d5341c585cf562
Reviewed-on: http://gerrit.cloudera.org:8080/1629
Reviewed-by: Casey Ching <[email protected]>
Tested-by: Internal Jenkins


Project: http://git-wip-us.apache.org/repos/asf/incubator-impala/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-impala/commit/8311f5e3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-impala/tree/8311f5e3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-impala/diff/8311f5e3

Branch: refs/heads/master
Commit: 8311f5e30afd29598e733f500406a8de9eaace3b
Parents: e956a6b
Author: casey <[email protected]>
Authored: Sun Dec 13 20:39:18 2015 -0800
Committer: Tim Armstrong <[email protected]>
Committed: Tue Apr 12 14:03:43 2016 -0700

----------------------------------------------------------------------
 tests/common/impala_cluster.py | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/8311f5e3/tests/common/impala_cluster.py
----------------------------------------------------------------------
diff --git a/tests/common/impala_cluster.py b/tests/common/impala_cluster.py
index 6fbc0f1..4aac17c 100644
--- a/tests/common/impala_cluster.py
+++ b/tests/common/impala_cluster.py
@@ -14,20 +14,15 @@
 #
 # Basic object model of an Impala cluster (set of Impala processes).
 #
-import json
 import logging
-import os
 import psutil
 import socket
-import sys
-import urllib
 
-from collections import defaultdict
-from HTMLParser import HTMLParser
-from random import choice, shuffle
+from getpass import getuser
+from random import choice
 from tests.common.impala_service import *
 from tests.util.shell_util import exec_process_async, exec_process
-from time import sleep, time
+from time import sleep
 
 logging.basicConfig(level=logging.ERROR, format='%(threadName)s: %(message)s')
 LOG = logging.getLogger('impala_cluster')
@@ -97,7 +92,6 @@ class ImpalaCluster(object):
     impalads = list()
     statestored = list()
     catalogd = None
-    # TODO: Consider using process_iter() here
     for pid in psutil.get_pid_list():
       try:
         process = psutil.Process(pid)
@@ -105,6 +99,13 @@ class ImpalaCluster(object):
         # A process from get_pid_list() no longer exists, continue.
         LOG.info(e)
         continue
+      try:
+        if process.username != getuser():
+          continue
+      except KeyError, e:
+        if "uid not found" in str(e):
+          continue
+        raise
       if process.name == 'impalad' and len(process.cmdline) >= 1:
         impalads.append(ImpaladProcess(process.cmdline))
       elif process.name == 'statestored' and len(process.cmdline) >= 1:

Reply via email to