Return-Path: X-Original-To: apmail-hive-dev-archive@www.apache.org Delivered-To: apmail-hive-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 6F3F7C2F9 for ; Tue, 2 Dec 2014 02:41:13 +0000 (UTC) Received: (qmail 34114 invoked by uid 500); 2 Dec 2014 02:41:12 -0000 Delivered-To: apmail-hive-dev-archive@hive.apache.org Received: (qmail 34032 invoked by uid 500); 2 Dec 2014 02:41:12 -0000 Mailing-List: contact dev-help@hive.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hive.apache.org Delivered-To: mailing list dev@hive.apache.org Received: (qmail 34019 invoked by uid 500); 2 Dec 2014 02:41:12 -0000 Delivered-To: apmail-hadoop-hive-dev@hadoop.apache.org Received: (qmail 34016 invoked by uid 99); 2 Dec 2014 02:41:12 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Dec 2014 02:41:12 +0000 Date: Tue, 2 Dec 2014 02:41:12 +0000 (UTC) From: "Rui Li (JIRA)" To: hive-dev@hadoop.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HIVE-8995) Find thread leak in RSC Tests MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/HIVE-8995?page=3Dcom.atlassian.= jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=3D14230= 872#comment-14230872 ]=20 Rui Li commented on HIVE-8995: ------------------------------ Hi [~brocknoland], I checked the code. It seems we initialize {{SparkClient= Factory}} each time we open a session, and we never stop it. Based on the d= iscussion above, I think we should initialize {{SparkClientFactory}} only o= nce and stop it when app shuts down right? Maybe we can do that in {{SparkS= essionManager}}, what do you think? > Find thread leak in RSC Tests > ----------------------------- > > Key: HIVE-8995 > URL: https://issues.apache.org/jira/browse/HIVE-8995 > Project: Hive > Issue Type: Sub-task > Components: Spark > Reporter: Brock Noland > Assignee: Rui Li > > I was regenerating output as part of the merge: > {noformat} > mvn test -Dtest=3DTestSparkCliDriver -Phadoop-2 -Dtest.output.overwrite= =3Dtrue -Dqfile=3Dannotate_stats_join.q,auto_join0.q,auto_join1.q,auto_join= 10.q,auto_join11.q,auto_join12.q,auto_join13.q,auto_join14.q,auto_join15.q,= auto_join16.q,auto_join17.q,auto_join18.q,auto_join18_multi_distinct.q,auto= _join19.q,auto_join2.q,auto_join20.q,auto_join21.q,auto_join22.q,auto_join2= 3.q,auto_join24.q,auto_join26.q,auto_join27.q,auto_join28.q,auto_join29.q,a= uto_join3.q,auto_join30.q,auto_join31.q,auto_join32.q,auto_join9.q,auto_joi= n_reordering_values.q auto_join_without_localtask.q,auto_smb_mapjoin_14.q,a= uto_sortmerge_join_1.q,auto_sortmerge_join_10.q,auto_sortmerge_join_11.q,au= to_sortmerge_join_12.q,auto_sortmerge_join_14.q,auto_sortmerge_join_15.q,au= to_sortmerge_join_2.q,auto_sortmerge_join_3.q,auto_sortmerge_join_4.q,auto_= sortmerge_join_5.q,auto_sortmerge_join_6.q,auto_sortmerge_join_7.q,auto_sor= tmerge_join_8.q,auto_sortmerge_join_9.q,bucket_map_join_1.q,bucket_map_join= _2.q,bucket_map_join_tez1.q,bucket_map_join_tez2.q,bucketmapjoin1.q,bucketm= apjoin10.q,bucketmapjoin11.q,bucketmapjoin12.q,bucketmapjoin13.q,bucketmapj= oin2.q,bucketmapjoin3.q,bucketmapjoin4.q,bucketmapjoin5.q,bucketmapjoin7.q = bucketmapjoin8.q,bucketmapjoin9.q,bucketmapjoin_negative.q,bucketmapjoin_ne= gative2.q,bucketmapjoin_negative3.q,column_access_stats.q,cross_join.q,ctas= .q,custom_input_output_format.q,groupby4.q,groupby7_noskew_multi_single_red= ucer.q,groupby_complex_types.q,groupby_complex_types_multi_single_reducer.q= ,groupby_multi_single_reducer2.q,groupby_multi_single_reducer3.q,groupby_po= sition.q,groupby_sort_1_23.q,groupby_sort_skew_1_23.q,having.q,index_auto_s= elf_join.q,infer_bucket_sort_convert_join.q,innerjoin.q,input12.q,join0.q,j= oin1.q,join11.q,join12.q,join13.q,join14.q,join15.q join17.q,join18.q,join1= 8_multi_distinct.q,join19.q,join2.q,join20.q,join21.q,join22.q,join23.q,joi= n25.q,join26.q,join27.q,join28.q,join29.q,join3.q,join30.q,join31.q,join32.= q,join32_lessSize.q,join33.q,join35.q,join36.q,join37.q,join38.q,join39.q,j= oin40.q,join41.q,join9.q,join_alt_syntax.q,join_cond_pushdown_1.q join_cond= _pushdown_2.q,join_cond_pushdown_3.q,join_cond_pushdown_4.q,join_cond_pushd= own_unqual1.q,join_cond_pushdown_unqual2.q,join_cond_pushdown_unqual3.q,joi= n_cond_pushdown_unqual4.q,join_filters_overlap.q,join_hive_626.q,join_map_p= pr.q,join_merge_multi_expressions.q,join_merging.q,join_nullsafe.q,join_rc.= q,join_reorder.q,join_reorder2.q,join_reorder3.q,join_reorder4.q,join_star.= q,join_thrift.q,join_vc.q,join_view.q,limit_pushdown.q,load_dyn_part13.q,lo= ad_dyn_part14.q,louter_join_ppr.q,mapjoin1.q,mapjoin_decimal.q,mapjoin_dist= inct.q,mapjoin_filter_on_outerjoin.q mapjoin_hook.q,mapjoin_mapjoin.q,mapjo= in_memcheck.q,mapjoin_subquery.q,mapjoin_subquery2.q,mapjoin_test_outer.q,m= ergejoins.q,mergejoins_mixed.q,multi_insert.q,multi_insert_gby.q,multi_inse= rt_gby2.q,multi_insert_gby3.q,multi_insert_lateral_view.q,multi_insert_mixe= d.q,multi_insert_move_tasks_share_dependencies.q,multi_join_union.q,optimiz= e_nullscan.q,outer_join_ppr.q,parallel.q,parallel_join0.q,parallel_join1.q,= parquet_join.q,pcr.q,ppd_gby_join.q,ppd_join.q,ppd_join2.q,ppd_join3.q,ppd_= join4.q,ppd_join5.q,ppd_join_filter.q ppd_multi_insert.q,ppd_outer_join1.q,= ppd_outer_join2.q,ppd_outer_join3.q,ppd_outer_join4.q,ppd_outer_join5.q,ppd= _transform.q,reduce_deduplicate_exclude_join.q,router_join_ppr.q,sample10.q= ,sample8.q,script_pipe.q,semijoin.q,skewjoin.q,skewjoin_noskew.q,skewjoin_u= nion_remove_1.q,skewjoin_union_remove_2.q,skewjoinopt1.q,skewjoinopt10.q,sk= ewjoinopt11.q,skewjoinopt12.q,skewjoinopt13.q,skewjoinopt14.q,skewjoinopt15= .q,skewjoinopt16.q,skewjoinopt17.q,skewjoinopt18.q,skewjoinopt19.q,skewjoin= opt2.q,skewjoinopt20.q skewjoinopt3.q,skewjoinopt4.q,skewjoinopt5.q,skewjoi= nopt6.q,skewjoinopt7.q,skewjoinopt8.q,skewjoinopt9.q,smb_mapjoin9.q,smb_map= join_1.q,smb_mapjoin_10.q,smb_mapjoin_13.q,smb_mapjoin_14.q,smb_mapjoin_15.= q,smb_mapjoin_16.q,smb_mapjoin_17.q,smb_mapjoin_2.q,smb_mapjoin_25.q,smb_ma= pjoin_3.q,smb_mapjoin_4.q,smb_mapjoin_5.q,smb_mapjoin_6.q,smb_mapjoin_7.q,s= ort_merge_join_desc_1.q,sort_merge_join_desc_2.q,sort_merge_join_desc_3.q,s= ort_merge_join_desc_4.q,sort_merge_join_desc_5.q,sort_merge_join_desc_6.q,s= ort_merge_join_desc_7.q,sort_merge_join_desc_8.q stats1.q,subquery_in.q,sub= query_multiinsert.q,table_access_keys_stats.q,temp_table.q,temp_table_join1= .q,tez_join_tests.q,tez_joins_explain.q,union18.q,union19.q,union23.q,union= 25.q,union3.q,union30.q,union33.q,union6.q,union_remove_1.q,union_remove_10= .q,union_remove_11.q,union_remove_15.q,union_remove_16.q,union_remove_17.q,= union_remove_18.q,union_remove_19.q,union_remove_2.q,union_remove_20.q,unio= n_remove_24.q,union_remove_25.q,union_remove_3.q,union_remove_4.q union_rem= ove_5.q,union_remove_6.q,union_remove_7.q,union_remove_8.q,union_remove_9.q= ,vector_cast_constant.q,vector_decimal_mapjoin.q,vector_left_outer_join.q,v= ector_mapjoin_reduce.q,vector_orderby_5.q,vectorization_0.q,vectorized_buck= etmapjoin1.q,vectorized_mapjoin.q,vectorized_nested_mapjoin.q,vectorized_pt= f.q,vectorized_shufflejoin.q > {noformat} > and the test JVM ran out of threads: > {noformat} > java.lang.OutOfMemoryError: unable to create new native thread > =09at java.lang.Thread.start0(Native Method) > =09at java.lang.Thread.start(Thread.java:713) > =09at org.apache.hadoop.util.Shell.runCommand(Shell.java:521) > =09at org.apache.hadoop.util.Shell.run(Shell.java:455) > =09at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.jav= a:702) > =09at org.apache.hadoop.util.Shell.execCommand(Shell.java:791) > =09at org.apache.hadoop.util.Shell.execCommand(Shell.java:774) > =09at org.apache.hadoop.fs.FileUtil.execCommand(FileUtil.java:1097) > =09at org.apache.hadoop.fs.RawLocalFileSystem$DeprecatedRawLocalFileStatu= s.loadPermissionInfo(RawLocalFileSystem.java:572) > =09at org.apache.hadoop.fs.RawLocalFileSystem$DeprecatedRawLocalFileStatu= s.getPermission(RawLocalFileSystem.java:547) > =09at org.apache.hadoop.fs.ProxyFileSystem.swizzleFileStatus(ProxyFileSys= tem.java:61) > =09at org.apache.hadoop.fs.ProxyFileSystem.getFileStatus(ProxyFileSystem.= java:265) > =09at org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSyste= m.java:397) > =09at org.apache.hadoop.fs.FileSystem.exists(FileSystem.java:1398) > =09at org.apache.hadoop.hive.ql.QTestUtil.clearTablesCreatedDuringTests(Q= TestUtil.java:578) > =09at org.apache.hadoop.hive.ql.QTestUtil.clearTestSideEffects(QTestUtil.= java:606) > =09at org.apache.hadoop.hive.cli.TestSparkCliDriver.setUp(TestSparkCliDri= ver.java:66) > {noformat} > thus there is a thread-leak somewhere in the test framework or in our RSC= integration. -- This message was sent by Atlassian JIRA (v6.3.4#6332)