Michael Brown created IMPALA-5080: ------------------------------------- Summary: test_java_udfs: OutOfMemoryError: PermGen space Key: IMPALA-5080 URL: https://issues.apache.org/jira/browse/IMPALA-5080 Project: IMPALA Issue Type: Bug Components: Frontend Affects Versions: Impala 2.9.0 Reporter: Michael Brown Priority: Blocker
There was a Java OOM related to PermGen space in a release-mode UDF test. Googling, it seems this is a memory area for Java, and that one gets around it by increasing limits or other tweaks. The UDF code hasn't changed in a while. Was there a recent change that used up too much memory, and as a side-effect this test can fail? Have we slowly been approaching this limit all along? end-to-end traceback: {noformat} TestUdfExecution.test_java_udfs[exec_option: {'disable_codegen': True, 'exec_single_node_rows_threshold': 100, 'enable_expr_rewrites': True} | table_format: text/none] query_test/test_udfs.py:309: in test_java_udfs self.run_test_case('QueryTest/java-udf', vector, use_db=unique_database) common/impala_test_suite.py:359: in run_test_case result = self.__execute_query(target_impalad_client, query, user=user) common/impala_test_suite.py:567: in __execute_query return impalad_client.execute(query, user=user) common/impala_connection.py:160: in execute return self.__beeswax_client.execute(sql_stmt, user=user) beeswax/impala_beeswax.py:173: in execute handle = self.__execute_query(query_string.strip(), user=user) beeswax/impala_beeswax.py:339: in __execute_query self.wait_for_completion(handle) beeswax/impala_beeswax.py:359: in wait_for_completion raise ImpalaBeeswaxException("Query aborted:" + error_log, None) E ImpalaBeeswaxException: ImpalaBeeswaxException: E Query aborted: E OutOfMemoryError: PermGen space {noformat} {noformat} select * from (select max(int_col) from functional.alltypesagg where identity(bool_col) union all (select max(int_col) from functional.alltypesagg where identity(tinyint_col) > 1 union all (select max(int_col) from functional.alltypesagg where identity(smallint_col) > 1 union all (select max(int_col) from functional.alltypesagg where identity(int_col) > 1 union all (select max(int_col) from functional.alltypesagg where identity(bigint_col) > 1 union all (select max(int_col) from functional.alltypesagg where identity(float_col) > 1.0 union all (select max(int_col) from functional.alltypesagg where identity(double_col) > 1.0 union all (select max(int_col) from functional.alltypesagg where identity(string_col) > '1' union all (select max(int_col) from functional.alltypesagg where not identity(bool_col) union all (select max(int_col) from functional.alltypesagg where identity(tinyint_col) > 2 union all (select max(int_col) from functional.alltypesagg where identity(smallint_col) > 2 union all (select max(int_col) from functional.alltypesagg where identity(int_col) > 2 union all (select max(int_col) from functional.alltypesagg where identity(bigint_col) > 2 union all (select max(int_col) from functional.alltypesagg where identity(float_col) > 2.0 union all (select max(int_col) from functional.alltypesagg where identity(double_col) > 2.0 union all (select max(int_col) from functional.alltypesagg where identity(string_col) > '2' )))))))))))))))) v; {noformat} from the impalad.log: {noformat} I0316 10:57:33.113581 6342 jni-util.cc:176] java.lang.OutOfMemoryError: PermGen space at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:800) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) at java.net.URLClassLoader.access$100(URLClassLoader.java:71) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:789) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:274) at org.apache.impala.hive.executor.UdfExecutor.init(UdfExecutor.java:584) at org.apache.impala.hive.executor.UdfExecutor.<init>(UdfExecutor.java:218) {noformat} -- This message was sent by Atlassian JIRA (v6.3.15#6346)