This is an automated email from the ASF dual-hosted git repository. joemcdonnell pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/impala.git
commit c71de994b07c3863104b7626c6fd15a5650c066c Author: Joe McDonnell <[email protected]> AuthorDate: Sun Feb 26 13:12:47 2023 -0800 IMPALA-11952 (part 1): Fix except syntax Python 3 does not support this old except syntax: except Exception, e: Instead, it needs to be: except Exception as e: This uses impala-futurize to fix all locations of the old syntax. Testing: - The check-python-syntax.sh no longer shows errors for except syntax. Change-Id: I1737281a61fa159c8d91b7d4eea593177c0bd6c9 Reviewed-on: http://gerrit.cloudera.org:8080/19551 Reviewed-by: Joe McDonnell <[email protected]> Reviewed-by: Michael Smith <[email protected]> Tested-by: Michael Smith <[email protected]> --- bin/bootstrap_toolchain.py | 2 +- bin/generate_xml_config.py | 2 +- bin/get_code_size.py | 2 +- bin/start-impala-cluster.py | 2 +- docker/monitor.py | 2 +- infra/deploy/deploy.py | 2 +- testdata/common/cgroups.py | 2 +- tests/beeswax/impala_beeswax.py | 10 +++++----- tests/common/impala_cluster.py | 4 ++-- tests/common/impala_service.py | 6 +++--- tests/common/impala_test_suite.py | 8 ++++---- tests/custom_cluster/test_coordinators.py | 4 ++-- tests/custom_cluster/test_hdfs_timeout.py | 2 +- tests/custom_cluster/test_hs2_fault_injection.py | 6 +++--- tests/custom_cluster/test_local_catalog.py | 2 +- tests/custom_cluster/test_mem_reservations.py | 2 +- tests/custom_cluster/test_query_expiration.py | 6 +++--- tests/custom_cluster/test_query_retries.py | 10 +++++----- tests/custom_cluster/test_restart_services.py | 12 ++++++------ tests/metadata/test_ddl.py | 2 +- tests/metadata/test_hdfs_permissions.py | 4 ++-- tests/performance/query_exec_functions.py | 10 +++++----- tests/query_test/test_beeswax.py | 4 ++-- tests/query_test/test_decimal_queries.py | 6 +++--- tests/query_test/test_insert.py | 2 +- tests/query_test/test_nested_types.py | 6 +++--- tests/query_test/test_partitioning.py | 2 +- tests/query_test/test_query_mem_limit.py | 2 +- tests/query_test/test_udfs.py | 6 +++--- tests/shell/test_shell_commandline.py | 4 ++-- tests/statestore/test_statestore.py | 12 ++++++------ tests/unittests/test_result_verifier.py | 4 ++-- 32 files changed, 75 insertions(+), 75 deletions(-) diff --git a/bin/bootstrap_toolchain.py b/bin/bootstrap_toolchain.py index 7e8371a4d..457625d19 100755 --- a/bin/bootstrap_toolchain.py +++ b/bin/bootstrap_toolchain.py @@ -138,7 +138,7 @@ def wget_and_unpack_package(download_path, file_name, destination, wget_no_clobb cmd.append("--no-clobber") check_output(cmd) break - except Exception, e: + except Exception as e: if attempt == NUM_ATTEMPTS: raise logging.error("Download failed; retrying after sleep: " + str(e)) diff --git a/bin/generate_xml_config.py b/bin/generate_xml_config.py index af9c2e5c4..915e3e276 100755 --- a/bin/generate_xml_config.py +++ b/bin/generate_xml_config.py @@ -84,7 +84,7 @@ def dump_config(d, source_path, out): if isinstance(v, int): v = str(v) v_new = _substitute_env_vars(v) - except KeyError, e: + except KeyError as e: raise Exception("failed environment variable substitution for value {k}: {e}" .format(k=k, e=e)) print >>out, """\ diff --git a/bin/get_code_size.py b/bin/get_code_size.py index 53e19485b..9a2e78298 100755 --- a/bin/get_code_size.py +++ b/bin/get_code_size.py @@ -29,7 +29,7 @@ def get_bin_size_data(file): data = "" try: data = subprocess.check_output(["size", "-B", "-t", file], stderr=subprocess.STDOUT) - except Exception, e: + except Exception as e: data = e.output res = re.split(r'\s+', data.split("\n")[-2]) diff --git a/bin/start-impala-cluster.py b/bin/start-impala-cluster.py index d4295a165..b1e94545e 100755 --- a/bin/start-impala-cluster.py +++ b/bin/start-impala-cluster.py @@ -846,7 +846,7 @@ if __name__ == "__main__": # Check for the cluster to be ready. impala_cluster.wait_until_ready(expected_cluster_size, expected_cluster_size - expected_catalog_delays) - except Exception, e: + except Exception as e: LOG.exception("Error starting cluster") sys.exit(1) diff --git a/docker/monitor.py b/docker/monitor.py index 5eefe5c9b..530c63c7c 100644 --- a/docker/monitor.py +++ b/docker/monitor.py @@ -163,7 +163,7 @@ class ContainerMonitor(object): try: statcontents = file(os.path.join(dirname, stat)).read() return statcontents.replace("\n", " ").strip() - except IOError, e: + except IOError as e: # Ignore errors; cgroup can disappear on us. logging.warning("Ignoring exception reading cgroup. " + "This can happen if container just exited. " + str(e)) diff --git a/infra/deploy/deploy.py b/infra/deploy/deploy.py index 9fcfb2863..1665e5182 100644 --- a/infra/deploy/deploy.py +++ b/infra/deploy/deploy.py @@ -339,7 +339,7 @@ def transform_port(rcg_name, rcg_config_dict, rcg_config_name): (rcg_config_name, rcg_name,)) try: val_int = int(val) - except ValueError, e: + except ValueError as e: raise Exception("Could not convert %s config (%s) for rcg %s into integer" % (rcg_config_name, val, rcg_name)) diff --git a/testdata/common/cgroups.py b/testdata/common/cgroups.py index f7f90a358..c313b563f 100755 --- a/testdata/common/cgroups.py +++ b/testdata/common/cgroups.py @@ -73,7 +73,7 @@ def create_impala_cgroup_path(instance_num): cgroup_path = os.path.join(parent_cgroup, ("impala-%s" % instance_num)) try: os.makedirs(cgroup_path) - except OSError, ex: + except OSError as ex: if ex.errno == errno.EEXIST and os.path.isdir(cgroup_path): pass else: raise diff --git a/tests/beeswax/impala_beeswax.py b/tests/beeswax/impala_beeswax.py index a3fae9da7..3edfb2584 100644 --- a/tests/beeswax/impala_beeswax.py +++ b/tests/beeswax/impala_beeswax.py @@ -160,7 +160,7 @@ class ImpalaBeeswaxClient(object): protocol = TBinaryProtocol.TBinaryProtocolAccelerated(self.transport) self.imp_service = ImpalaService.Client(protocol) self.connected = True - except Exception, e: + except Exception as e: raise ImpalaBeeswaxException(self.__build_error_message(e), e) def close_connection(self): @@ -518,12 +518,12 @@ class ImpalaBeeswaxClient(object): raise ImpalaBeeswaxException("Not connected", None) try: return rpc() - except BeeswaxService.BeeswaxException, b: + except BeeswaxService.BeeswaxException as b: raise ImpalaBeeswaxException(self.__build_error_message(b), b) - except TTransportException, e: + except TTransportException as e: self.connected = False raise ImpalaBeeswaxException(self.__build_error_message(e), e) - except TApplicationException, t: + except TApplicationException as t: raise ImpalaBeeswaxException(self.__build_error_message(t), t) - except Exception, u: + except Exception as u: raise ImpalaBeeswaxException(self.__build_error_message(u), u) diff --git a/tests/common/impala_cluster.py b/tests/common/impala_cluster.py index 89167b7dd..8e0860fec 100644 --- a/tests/common/impala_cluster.py +++ b/tests/common/impala_cluster.py @@ -597,10 +597,10 @@ def find_user_processes(binaries): binary_name = os.path.basename(cmdline[0]) if binary_name in binaries: yield binary_name, process - except KeyError, e: + except KeyError as e: if "uid not found" not in str(e): raise - except psutil.NoSuchProcess, e: + except psutil.NoSuchProcess as e: # Ignore the case when a process no longer exists. pass diff --git a/tests/common/impala_service.py b/tests/common/impala_service.py index b8e5ca7d9..822e361f6 100644 --- a/tests/common/impala_service.py +++ b/tests/common/impala_service.py @@ -120,7 +120,7 @@ class BaseImpalaService(object): value = None try: value = self.get_metric_value(metric_name) - except Exception, e: + except Exception as e: LOG.error(e) # if allow_greater is True we wait until the metric value becomes >= the expected @@ -359,7 +359,7 @@ class ImpaladService(BaseImpalaService): try: value = self.get_num_known_live_backends(timeout=1, interval=interval, include_shutting_down=include_shutting_down) - except Exception, e: + except Exception as e: LOG.error(e) if value == expected_value: LOG.info("num_known_live_backends has reached value: %s" % value) @@ -461,7 +461,7 @@ class ImpaladService(BaseImpalaService): transport.open() transport.close() return True - except Exception, e: + except Exception as e: LOG.info(e) return False diff --git a/tests/common/impala_test_suite.py b/tests/common/impala_test_suite.py index 0a605a0d7..98d7ba164 100644 --- a/tests/common/impala_test_suite.py +++ b/tests/common/impala_test_suite.py @@ -323,13 +323,13 @@ class ImpalaTestSuite(BaseTestSuite): cls.hs2_client = None try: cls.hs2_client = cls.create_impala_client(protocol='hs2') - except Exception, e: + except Exception as e: # HS2 connection can fail for benign reasons, e.g. running with unsupported auth. LOG.info("HS2 connection setup failed, continuing...: {0}".format(e)) cls.hs2_http_client = None try: cls.hs2_http_client = cls.create_impala_client(protocol='hs2-http') - except Exception, e: + except Exception as e: # HS2 HTTP connection can fail for benign reasons, e.g. running with unsupported # auth. LOG.info("HS2 HTTP connection setup failed, continuing...: {0}".format(e)) @@ -882,7 +882,7 @@ class ImpalaTestSuite(BaseTestSuite): result = None try: result = cls.__execute_query(impalad_client, query, query_options, user) - except Exception, e: + except Exception as e: return e assert not result.success, "No failure encountered for query %s" % query @@ -1201,7 +1201,7 @@ class ImpalaTestSuite(BaseTestSuite): self.client.execute("describe `{db_name}`.`{table_name}`".format( db_name=db_name, table_name=table_name)) return - except Exception, ex: + except Exception as ex: print str(ex) time.sleep(0.2) continue diff --git a/tests/custom_cluster/test_coordinators.py b/tests/custom_cluster/test_coordinators.py index 5b816f424..635892da5 100644 --- a/tests/custom_cluster/test_coordinators.py +++ b/tests/custom_cluster/test_coordinators.py @@ -48,7 +48,7 @@ class TestCoordinators(CustomClusterTestSuite): beeswax_client = None try: beeswax_client = worker.service.create_beeswax_client() - except Exception, e: + except Exception as e: LOG.info("Caught exception {0}".format(e)) finally: assert beeswax_client is None @@ -56,7 +56,7 @@ class TestCoordinators(CustomClusterTestSuite): hs2_client = None try: hs2_client = worker.service.create_hs2_client() - except Exception, e: + except Exception as e: LOG.info("Caught exception {0}".format(e)) finally: assert hs2_client is None diff --git a/tests/custom_cluster/test_hdfs_timeout.py b/tests/custom_cluster/test_hdfs_timeout.py index 9e9b84a96..fb2d3e38e 100644 --- a/tests/custom_cluster/test_hdfs_timeout.py +++ b/tests/custom_cluster/test_hdfs_timeout.py @@ -71,7 +71,7 @@ class TestHdfsTimeouts(CustomClusterTestSuite): result = self.execute_query("select count(*) from functional.alltypes", vector=vector) end_time = time.time() - except Exception, e: + except Exception as e: ex = e finally: end_time = time.time() diff --git a/tests/custom_cluster/test_hs2_fault_injection.py b/tests/custom_cluster/test_hs2_fault_injection.py index 47107ba74..0b3f8e7b4 100644 --- a/tests/custom_cluster/test_hs2_fault_injection.py +++ b/tests/custom_cluster/test_hs2_fault_injection.py @@ -274,7 +274,7 @@ class TestHS2FaultInjection(CustomClusterTestSuite): query_handle = None try: query_handle = self.custom_hs2_http_client.execute_query('select 1', {}) - except Exception, e: + except Exception as e: assert str(e) == 'HTTP code 502: Injected Fault' assert query_handle is None output = capsys.readouterr()[1].splitlines() @@ -293,7 +293,7 @@ class TestHS2FaultInjection(CustomClusterTestSuite): try: for rows in rows_fetched: num_rows += 1 - except Exception, e: + except Exception as e: assert str(e) == 'HTTP code 502: Injected Fault' assert num_rows is None self.close_query(query_handle) @@ -315,7 +315,7 @@ class TestHS2FaultInjection(CustomClusterTestSuite): (num_rows, num_row_errors) = None, None try: (num_rows, num_row_errors) = self.custom_hs2_http_client.close_dml(query_handle) - except Exception, e: + except Exception as e: assert str(e) == 'HTTP code 502: Injected Fault' assert num_rows is None assert num_row_errors is None diff --git a/tests/custom_cluster/test_local_catalog.py b/tests/custom_cluster/test_local_catalog.py index 53d535ec6..78eccb4ae 100644 --- a/tests/custom_cluster/test_local_catalog.py +++ b/tests/custom_cluster/test_local_catalog.py @@ -149,7 +149,7 @@ class TestCompactCatalogUpdates(CustomClusterTestSuite): err = self.execute_query_expect_failure(client, "select * from %s" % view) assert "Could not resolve table reference" in str(err) break - except Exception, e: + except Exception as e: assert attempt < NUM_ATTEMPTS - 1, str(e) time.sleep(1) diff --git a/tests/custom_cluster/test_mem_reservations.py b/tests/custom_cluster/test_mem_reservations.py index bf1641b2c..6365ec126 100644 --- a/tests/custom_cluster/test_mem_reservations.py +++ b/tests/custom_cluster/test_mem_reservations.py @@ -87,7 +87,7 @@ class TestMemReservations(CustomClusterTestSuite): result = client.execute(self.query) assert result.success assert len(result.data) == 1 - except Exception, e: + except Exception as e: self.error = str(e) finally: client.close() diff --git a/tests/custom_cluster/test_query_expiration.py b/tests/custom_cluster/test_query_expiration.py index 4324b532e..d6b0011fd 100644 --- a/tests/custom_cluster/test_query_expiration.py +++ b/tests/custom_cluster/test_query_expiration.py @@ -127,7 +127,7 @@ class TestQueryExpiration(CustomClusterTestSuite): for handle in handles: try: client.close_query(handle) - except Exception, e: + except Exception as e: # We fetched from some cancelled handles above, which unregistered the queries. assert 'Invalid or unknown query handle' in str(e) @@ -172,7 +172,7 @@ class TestQueryExpiration(CustomClusterTestSuite): try: client.fetch(query, handle) assert False - except Exception, e: + except Exception as e: assert re.search(exception_regex, str(e)) def __expect_client_state(self, client, handle, expected_state, timeout=0.1): @@ -222,7 +222,7 @@ class TestQueryExpiration(CustomClusterTestSuite): try: result = self.client.execute("SELECT SLEEP(2500)") assert "Expected to hit time limit" - except Exception, e: + except Exception as e: self.exception = e class NonExpiringTimeLimitThread(threading.Thread): diff --git a/tests/custom_cluster/test_query_retries.py b/tests/custom_cluster/test_query_retries.py index 469bb326f..1a5f5efdb 100644 --- a/tests/custom_cluster/test_query_retries.py +++ b/tests/custom_cluster/test_query_retries.py @@ -403,7 +403,7 @@ class TestQueryRetries(CustomClusterTestSuite): try: self.client.fetch(self._shuffle_heavy_query, handle) assert False - except ImpalaBeeswaxException, e: + except ImpalaBeeswaxException as e: assert "Admission for query exceeded timeout 60000ms in pool default-pool." \ in str(e) assert "Queued reason: Waiting for executors to start. Only DDL queries and " \ @@ -467,7 +467,7 @@ class TestQueryRetries(CustomClusterTestSuite): try: self.client.fetch(self._shuffle_heavy_query, handle) assert False - except ImpalaBeeswaxException, e: + except ImpalaBeeswaxException as e: assert "Max retry limit was hit. Query was retried 1 time(s)." in str(e) # Assert that the killed impalad shows up in the list of blacklisted executors from @@ -724,7 +724,7 @@ class TestQueryRetries(CustomClusterTestSuite): try: self.client.fetch(query, handle) assert False - except Exception, e: + except Exception as e: assert "Cancelled" in str(e) self.__validate_memz() @@ -874,7 +874,7 @@ class TestQueryRetries(CustomClusterTestSuite): try: self.client.fetch(query, handle) assert False - except Exception, e: + except Exception as e: assert "expired due to client inactivity" in str(e) # Assert that the impalad metrics show one expired query. @@ -907,7 +907,7 @@ class TestQueryRetries(CustomClusterTestSuite): # error. try: client.fetch(query, handle) - except Exception, e: + except Exception as e: assert "Client session expired" in str(e) # Assert that the impalad metrics show one expired session. diff --git a/tests/custom_cluster/test_restart_services.py b/tests/custom_cluster/test_restart_services.py index a97f7e857..fb1564943 100644 --- a/tests/custom_cluster/test_restart_services.py +++ b/tests/custom_cluster/test_restart_services.py @@ -62,7 +62,7 @@ class TestRestart(CustomClusterTestSuite): try: cursor.execute("describe database functional") return - except HiveServer2Error, e: + except HiveServer2Error as e: assert "AnalysisException: Database does not exist: functional" in e.message,\ "Unexpected exception: " + e.message sleep(1) @@ -178,7 +178,7 @@ class TestRestart(CustomClusterTestSuite): try: query = "alter table join_aa add columns (age" + str(i) + " int)" self.execute_query_async(query) - except Exception, e: + except Exception as e: LOG.info(str(e)) if i == 5: self.cluster.catalogd.restart() @@ -204,7 +204,7 @@ class TestRestart(CustomClusterTestSuite): try: query = "alter table join_aa add columns (age" + str(i) + " int)" self.execute_query_async(query, query_options) - except Exception, e: + except Exception as e: LOG.info(str(e)) if i == 5: self.cluster.catalogd.restart() @@ -256,7 +256,7 @@ class TestRestart(CustomClusterTestSuite): try: query = "alter table join_aa add columns (age" + str(i) + " int)" self.execute_query_async(query) - except Exception, e: + except Exception as e: LOG.info(str(e)) if i == 5: self.cluster.catalogd.restart() @@ -666,7 +666,7 @@ class TestGracefulShutdown(CustomClusterTestSuite, HS2TestSuite): def expect_beeswax_shutdown_error(fn): try: fn() - except ImpalaBeeswaxException, e: + except ImpalaBeeswaxException as e: assert SHUTDOWN_ERROR_PREFIX in str(e) expect_beeswax_shutdown_error(lambda: self.client.execute("select 1")) expect_beeswax_shutdown_error(lambda: self.client.execute_async("select 1")) @@ -741,7 +741,7 @@ class TestGracefulShutdown(CustomClusterTestSuite, HS2TestSuite): try: self.client.fetch(query, handle) assert False, "Expected query to fail" - except Exception, e: + except Exception as e: assert 'Failed due to unreachable impalad(s)' in str(e) @pytest.mark.execute_serially diff --git a/tests/metadata/test_ddl.py b/tests/metadata/test_ddl.py index d8ecbcad5..06ef7fbc7 100644 --- a/tests/metadata/test_ddl.py +++ b/tests/metadata/test_ddl.py @@ -570,7 +570,7 @@ class TestDdlStatements(TestDdlBase): result = self.execute_query_expect_success( client, "describe formatted %s" % view_name) exp_line = [l for l in result.data if 'View Expanded' in l][0] - except ImpalaBeeswaxException, e: + except ImpalaBeeswaxException as e: # In non-SYNC_DDL tests, it's OK to get a "missing view" type error # until the metadata propagates. exp_line = "Exception: %s" % e diff --git a/tests/metadata/test_hdfs_permissions.py b/tests/metadata/test_hdfs_permissions.py index 2ff4e1e6a..766fdfcfc 100644 --- a/tests/metadata/test_hdfs_permissions.py +++ b/tests/metadata/test_hdfs_permissions.py @@ -64,7 +64,7 @@ class TestHdfsPermissions(ImpalaTestSuite): try: self.client.execute('insert into table %s select 1' % TEST_TBL) assert False, 'Expected INSERT INTO read-only table to fail' - except Exception, e: + except Exception as e: assert re.search('does not have WRITE access to HDFS location: .*/read_only_tbl', str(e)) # Should still be able to query this table without any errors. @@ -85,7 +85,7 @@ class TestHdfsPermissions(ImpalaTestSuite): 'insert into table functional_seq.alltypes ' 'partition(year, month) select * from functional.alltypes limit 0') assert False, 'Expected INSERT INTO read-only partition to fail' - except Exception, e: + except Exception as e: assert re.search( 'does not have WRITE access to HDFS location: .*/alltypes_seq', str(e)) diff --git a/tests/performance/query_exec_functions.py b/tests/performance/query_exec_functions.py index 352c9a737..2bd2953f1 100644 --- a/tests/performance/query_exec_functions.py +++ b/tests/performance/query_exec_functions.py @@ -47,7 +47,7 @@ def get_hs2_hive_cursor(hiveserver, user=None, use_kerberos=False, cursor = conn.cursor(configuration=execOptions) LOG.info("Connected to {0}:{1}".format(host, port)) - except Exception, e: + except Exception as e: LOG.error("Error Connecting: {0}".format(str(e))) return cursor @@ -102,7 +102,7 @@ def get_hs2_impala_cursor(impalad, use_kerberos=False, database=None): auth_mechanism="GSSAPI" if use_kerberos else "NOSASL") cursor = conn.cursor() LOG.info("Connected to {0}:{1}".format(host, port)) - except Exception, e: + except Exception as e: LOG.error("Error connecting: {0}".format(str(e))) return cursor @@ -165,7 +165,7 @@ def establish_beeswax_connection(query_config): # Set the exec options. client.set_query_options(query_config.exec_options) LOG.info("Connected to %s" % query_config.impalad) - except Exception, e: + except Exception as e: LOG.error("Error connecting: {0}".format(str(e))) return client @@ -195,7 +195,7 @@ def execute_using_impala_beeswax(query, query_config): result = None try: result = client.execute(query.query_str) - except Exception, e: + except Exception as e: LOG.error(e) exec_result.query_error = str(e) finally: @@ -284,7 +284,7 @@ def run_query_capture_results(cmd, query, exit_on_error): start_time = datetime.now() try: rc, stdout, stderr = exec_process(cmd) - except Exception, e: + except Exception as e: LOG.error('Error while executing query command: %s' % e) exec_result.query_error = str(e) # TODO: Should probably save the start time and query string for failed queries. diff --git a/tests/query_test/test_beeswax.py b/tests/query_test/test_beeswax.py index 037a4a344..2887d1c23 100644 --- a/tests/query_test/test_beeswax.py +++ b/tests/query_test/test_beeswax.py @@ -85,7 +85,7 @@ class TestBeeswax(ImpalaTestSuite): try: fn() assert False, "Expected invalid handle" - except ImpalaBeeswaxException, e: + except ImpalaBeeswaxException as e: assert "Query id" in str(e) and "not found" in str(e), str(e) def _assert_profile_access_denied(self, fn): @@ -94,5 +94,5 @@ class TestBeeswax(ImpalaTestSuite): try: fn() assert False, "Expected invalid handle" - except ImpalaBeeswaxException, e: + except ImpalaBeeswaxException as e: assert "is not authorized to access the runtime profile" in str(e), str(e) diff --git a/tests/query_test/test_decimal_queries.py b/tests/query_test/test_decimal_queries.py index 13c64e341..a361eef59 100644 --- a/tests/query_test/test_decimal_queries.py +++ b/tests/query_test/test_decimal_queries.py @@ -172,7 +172,7 @@ class TestDecimalOverflowExprs(ImpalaTestSuite): try: self.execute_query_using_client(self.client, query_1, vector) assert False, "Query was expected to fail" - except ImpalaBeeswaxException, e: + except ImpalaBeeswaxException as e: assert "Decimal expression overflowed" in str(e) result = self.execute_query_expect_success(self.client, @@ -187,7 +187,7 @@ class TestDecimalOverflowExprs(ImpalaTestSuite): try: self.execute_query_using_client(self.client, query_1, vector) assert False, "Query was expected to fail" - except ImpalaBeeswaxException, e: + except ImpalaBeeswaxException as e: assert "Decimal expression overflowed" in str(e) result = self.execute_query_expect_success(self.client, @@ -215,7 +215,7 @@ class TestDecimalOverflowExprs(ImpalaTestSuite): try: self.execute_query_using_client(self.client, query_2, vector) assert False, "Query was expected to fail" - except ImpalaBeeswaxException, e: + except ImpalaBeeswaxException as e: assert "Decimal expression overflowed" in str(e) result = self.execute_query_expect_success(self.client, diff --git a/tests/query_test/test_insert.py b/tests/query_test/test_insert.py index 213be78b7..05a40401f 100644 --- a/tests/query_test/test_insert.py +++ b/tests/query_test/test_insert.py @@ -124,7 +124,7 @@ class TestInsertQueries(ImpalaTestSuite): try: self.client.execute("select s from {0}".format(table_name)) assert False, "Expected query to fail" - except Exception, e: + except Exception as e: assert "Memory limit exceeded" in str(e) diff --git a/tests/query_test/test_nested_types.py b/tests/query_test/test_nested_types.py index 8c1c50e9f..999989440 100644 --- a/tests/query_test/test_nested_types.py +++ b/tests/query_test/test_nested_types.py @@ -619,12 +619,12 @@ class TestParquetArrayEncodings(ImpalaTestSuite): expected_err = "has an incompatible Parquet schema" try: self.execute_query("select item from %s.col1.item" % full_name, qopts) - except Exception, e: + except Exception as e: assert expected_err in str(e) try: self.execute_query("select cnt from %s t, (select count(*) cnt from t.col1) v"\ % full_name, qopts) - except Exception, e: + except Exception as e: assert expected_err in str(e) # $ parquet-tools schema UnannotatedListOfPrimitives.parquet @@ -851,7 +851,7 @@ class TestMaxNestingDepth(ImpalaTestSuite): try: self.client.execute("explain select 1 from %s.above_max_depth" % unique_database) assert False, "Expected table loading to fail." - except ImpalaBeeswaxException, e: + except ImpalaBeeswaxException as e: assert "Type exceeds the maximum nesting depth" in str(e) diff --git a/tests/query_test/test_partitioning.py b/tests/query_test/test_partitioning.py index acabdcbbc..649d785fc 100644 --- a/tests/query_test/test_partitioning.py +++ b/tests/query_test/test_partitioning.py @@ -85,7 +85,7 @@ class TestPartitioning(ImpalaTestSuite): # INSERT into a boolean column is disabled in Impala due to this Hive bug. try: self.execute_query("insert into %s partition(bool_col=true) select 1" % full_name) - except ImpalaBeeswaxException, e: + except ImpalaBeeswaxException as e: assert 'AnalysisException: INSERT into table with BOOLEAN partition column (%s) '\ 'is not supported: %s' % ('b', full_name) in str(e) diff --git a/tests/query_test/test_query_mem_limit.py b/tests/query_test/test_query_mem_limit.py index 2586d39bc..209fca84f 100644 --- a/tests/query_test/test_query_mem_limit.py +++ b/tests/query_test/test_query_mem_limit.py @@ -112,7 +112,7 @@ class TestQueryMemLimit(ImpalaTestSuite): try: self.execute_query(query, exec_options, table_format=table_format) assert should_succeed, "Query was expected to fail" - except ImpalaBeeswaxException, e: + except ImpalaBeeswaxException as e: assert not should_succeed, "Query should not have failed: %s" % e diff --git a/tests/query_test/test_udfs.py b/tests/query_test/test_udfs.py index 035d01fe4..d70a50663 100644 --- a/tests/query_test/test_udfs.py +++ b/tests/query_test/test_udfs.py @@ -375,13 +375,13 @@ class TestUdfExecution(TestUdfBase): try: self.run_test_case('QueryTest/udf-mem-limit', vector, use_db=unique_database) assert False, "Query was expected to fail" - except ImpalaBeeswaxException, e: + except ImpalaBeeswaxException as e: self._check_mem_limit_exception(e) try: self.run_test_case('QueryTest/uda-mem-limit', vector, use_db=unique_database) assert False, "Query was expected to fail" - except ImpalaBeeswaxException, e: + except ImpalaBeeswaxException as e: self._check_mem_limit_exception(e) # It takes a long time for Impala to free up memory after this test, especially if @@ -513,7 +513,7 @@ class TestUdfTargeted(TestUdfBase): self.execute_query_using_client( client, "select `{0}`.`pi_missing_jar`()".format(unique_database), vector) assert False, "Query expected to fail" - except ImpalaBeeswaxException, e: + except ImpalaBeeswaxException as e: assert "Failed to get file info" in str(e) def test_libs_with_same_filenames(self, vector, unique_database): diff --git a/tests/shell/test_shell_commandline.py b/tests/shell/test_shell_commandline.py index d097ccdaf..484f7b97a 100644 --- a/tests/shell/test_shell_commandline.py +++ b/tests/shell/test_shell_commandline.py @@ -740,7 +740,7 @@ class TestImpalaShell(ImpalaTestSuite): query_file_handle = open(query_file, 'r') query = query_file_handle.read() query_file_handle.close() - except Exception, e: + except Exception as e: assert query_file_handle is not None, "Exception %s: Could not find query file" % e result = run_impala_shell_cmd(vector, args, expect_success=True, stdin_input=query) output = result.stdout @@ -942,7 +942,7 @@ class TestImpalaShell(ImpalaTestSuite): try: connection, client_address = sock.accept() break - except IOError, e: + except IOError as e: if e.errno != errno.EINTR: raise data = connection.recv(1024) diff --git a/tests/statestore/test_statestore.py b/tests/statestore/test_statestore.py index b69b3f2f8..9daedba30 100644 --- a/tests/statestore/test_statestore.py +++ b/tests/statestore/test_statestore.py @@ -119,7 +119,7 @@ class KillableThreadedServer(TServer): try: cnxn.open() return - except Exception, e: + except Exception as e: if i == num_tries - 1: raise time.sleep(0.1) @@ -129,7 +129,7 @@ class KillableThreadedServer(TServer): try: cnxn.open() time.sleep(0.1) - except Exception, e: + except Exception as e: return raise Exception("Server did not stop") @@ -152,9 +152,9 @@ class KillableThreadedServer(TServer): try: while not self.is_shutdown: self.processor.process(iprot, oprot) - except TTransport.TTransportException, tx: + except TTransport.TTransportException as tx: pass - except Exception, x: + except Exception as x: print x itrans.close() @@ -203,7 +203,7 @@ class StatestoreSubscriber(object): if self.heartbeat_cb is not None and self.exception is None: try: response = self.heartbeat_cb(self, args) - except Exception, e: + except Exception as e: self.exception = e self.heartbeat_event.notify() finally: @@ -219,7 +219,7 @@ class StatestoreSubscriber(object): if self.update_cb is not None and self.exception is None: try: response = self.update_cb(self, args) - except Exception, e: + except Exception as e: # Print the original backtrace so it doesn't get lost. traceback.print_exc() self.exception = e diff --git a/tests/unittests/test_result_verifier.py b/tests/unittests/test_result_verifier.py index e6bf9ba64..94d2fd917 100644 --- a/tests/unittests/test_result_verifier.py +++ b/tests/unittests/test_result_verifier.py @@ -48,13 +48,13 @@ class TestResultVerifier(ImpalaTestSuite): try: res.rows[0]['does_not_exist'] assert False, 'Expected error due to column alias not existing' - except IndexError, e: + except IndexError as e: assert "No column with label: does_not_exist" in e.message try: res.rows[0][2] assert False, 'Expected error due to column position not existing' - except IndexError, e: + except IndexError as e: assert 'list index out of range' in e.message def test_compute_aggregation(self, vector):
