[ https://issues.apache.org/jira/browse/HIVE-21469?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16799186#comment-16799186 ]
Hive QA commented on HIVE-21469: -------------------------------- Here are the results of testing the latest attachment: https://issues.apache.org/jira/secure/attachment/12963405/HIVE-21469.5.patch {color:green}SUCCESS:{color} +1 due to 1 test(s) being added or modified. {color:red}ERROR:{color} -1 due to 13 failed/errored test(s), 15199 tests executed *Failed tests:* {noformat} TestBlobstoreCliDriver - did not produce a TEST-*.xml file (likely timed out) (batchId=278) TestCliDriver - did not produce a TEST-*.xml file (likely timed out) (batchId=15) [avro_joins.q,parquet_vectorization_8.q,serde_reported_schema.q,mm_bhif.q,annotate_stats_join_pkfk.q,udf_unix_timestamp.q,describe_comment_nonascii.q,orc_analyze.q,schema_evol_orc_acidvec_part_update.q,partition_date.q,stats15.q,tez_join_result_complex.q,input36.q,alter_numbuckets_partitioned_table2_h23.q,transform_ppr1.q,spark_vectorized_dynamic_partition_pruning.q,fullouter_mapjoin_1_optimized.q,materialized_view_create_rewrite_time_window.q,unionDistinct_2.q,udaf_histogram_numeric.q,get_splits_0.q,load_data_using_job.q,auto_join26.q,list_bucket_dml_3.q,parquet_types_vectorization.q,show_materialized_views.q,smb_mapjoin_22.q,vector_decimal_6.q,autoColumnStats_8.q,input5.q] TestCliDriver - did not produce a TEST-*.xml file (likely timed out) (batchId=33) [mapjoin_emit_interval.q,partition_char.q,deleteAnalyze.q,input_part8.q,udf_levenshtein.q,parquet_vectorization_decimal_date.q,avrotblsjoin.q,cbo_views.q,vectorization_part.q,dynamic_partition_pruning.q,alter_rename_table.q,cluster.q,input44.q,parquet_vectorization_9.q,schema_evol_text_nonvec_part_llap_io.q,subquery_shared_alias.q,orc_ppd_str_conversion.q,bucketmapjoin7.q,subquery_nested_subquery.q,limit_pushdown3.q,input_testxpath.q,vector_outer_join2.q,input.q,join19.q,encryption_ctas.q,union6.q,lock2.q,load_hdfs_file_with_space_in_the_name.q,partition_boolexpr.q,vectorized_timestamp_funcs.q] TestCliDriver - did not produce a TEST-*.xml file (likely timed out) (batchId=40) [lateral_view_noalias.q,semijoin_reddedup.q,sysdb.q,alter_char2.q,parquet_vectorization_11.q,partialdhj.q,infer_bucket_sort_dyn_part.q,partition_varchar2.q,rename_table_update_column_stats.q,bucketcontext_8.q,input_testxpath2.q,udf_mask_last_n.q,create_view_partitioned.q,vector_windowing_order_null.q,alter_view_rename.q,input17.q,date_comparison.q,udf_notequal.q,ppd_gby_join.q,show_create_table_partitioned.q,udaf_binarysetfunctions.q,tez_union.q,druidmini_test_ts.q,approx_distinct.q,materialized_view_rewrite_ssb.q,dynpart_merge.q,udf_substr.q,comments.q,correlationoptimizer12.q,timestamp_comparison2.q] TestCliDriver - did not produce a TEST-*.xml file (likely timed out) (batchId=61) [multi_insert_partitioned.q,parquet_types.q,udf_to_unix_timestamp.q,schema_evol_stats.q,avro_nullable_union.q,parquet_ppd_timestamp.q,merge1.q,authorization_9.q,sample5.q,transform3.q,encryption_select_read_only_unencrypted_tbl.q,join_array.q,windowing_distinct.q,orc_ppd_schema_evol_3a.q,orc_merge5.q,skewjoin_mapjoin7.q,leadlag.q,auto_join22.q,vector_groupby_reduce.q,union8.q,lineage2.q,correlationoptimizer1.q,spark_combine_equivalent_work_2.q,input4_cb_delim.q,mapjoin_distinct.q,vector_decimal_mapjoin.q,udf_not.q,avro_schema_evolution_native.q,udf_mask_show_last_n.q,materialized_view_rewrite_8.q] TestCliDriver - did not produce a TEST-*.xml file (likely timed out) (batchId=71) [schema_evol_orc_acid_table_update.q,join35.q,stats_date.q,udf_lessthan.q,char_nested_types.q,infer_bucket_sort_map_operators.q,load_dyn_part8.q,part_inherit_tbl_props_empty.q,order_by_expr_2.q,decimal_5.q,exim_25_export_parentpath_has_inaccessible_children.q,alter_merge_orc.q,bucketcontext_2.q,vector_char_cast.q,show_create_table_db_table.q,udf_array.q,vector_custom_udf_configure.q,parquet_map_of_maps.q,autoColumnStats_6.q,archive_excludeHadoop20.q,orc_merge4.q,multi_insert_with_join.q,varchar_2.q,union7.q,materialized_view_rewrite_9.q,char_1.q,schema_evol_orc_acidvec_part.q,partition_varchar1.q,cbo_rp_gby.q,rcfile_union.q] TestNegativeCliDriver - did not produce a TEST-*.xml file (likely timed out) (batchId=101) [udf_array_contains_wrong2.q,alter_partition_coltype_invalidcolname.q,authorization_role_cycles2.q,archive_corrupt.q,ptf_window_boundaries2.q,merge_negative_3.q,clusterbysortby.q,fallbackauth_create_func2.q,clustern3.q,invalid_select_expression.q,subquery_select_aggregate.q,authorization_ctas2.q,dynamic_partitions_with_whitelist.q,authorization_public_create.q,set_hiveconf_validation2.q,create_or_replace_view5.q,invalid_stddev_samp_syntax.q,select_udtf_alias.q,windowing_leadlag_in_udaf.q,authorization_truncate.q,analyze_view.q,exim_14_nonpart_part.q,orc_change_fileformat.q,delete_non_acid_table.q,create_with_constraints_validate.q,orc_replace_columns1_acid.q,describe_xpath3.q,input4_2.q,archive_multi1.q,orc_replace_columns2_acid.q,invalid_varchar_length_3.q,authorization_create_tbl.q,add_partition_with_whitelist.q,check_constraint_qual_name.q,authorization_uri_altertab_setloc.q,groupby_grouping_id1.q,create_udaf_failure.q,invalid_t_alter1.q,subquery_select_distinct.q,udf_size_wrong_type.q,exim_04_nonpart_noncompat_colnumber.q,archive_partspec2.q,join2.q,exim_03_nonpart_noncompat_colschema.q,input2.q,authorization_fail_6.q,ptf_negative_WhereWithRankCond.q,dyn_part4.q,spark_task_failure.q,authorization_uri_insert_local.q,materialized_view_no_supported_op_rewrite_2.q,drop_database_cascade.q,duplicate_alias_in_transform.q,alter_view_failure5.q,subquery_corr_select.q,partition_column_names_with_leading_and_trailing_spaces.q,view_delete.q,load_orc_negative3.q,alter_table_wrong_table.q,subquery_scalar_multi_rows.q,authorization_create_role_no_admin.q,exim_00_unsupported_schema.q,semijoin4.q,compile_processor.q,create_unknown_genericudf.q,udf_function_does_not_implement_udf.q,orc_type_promotion3_acid.q,udf_local_resource.q,merge_negative_4.q,lockneg_query_tbl_in_locked_db.q,udaf_collect_set_unsupported.q,update_non_acid_table.q,insert_into2.q,exchange_partition_neg_partition_exists3.q,join28.q,alter_view_failure7.q,invalid_cast_to_binary_1.q,change_hive_tmp_table_space.q,fileformat_void_output.q,wrong_column_type.q] TestNegativeCliDriver - did not produce a TEST-*.xml file (likely timed out) (batchId=99) [nopart_insert.q,insert_into_with_schema.q,input41.q,having1.q,create_table_failure3.q,default_constraint_invalid_default_value.q,database_drop_not_empty_restrict.q,windowing_after_orderby.q,orderbysortby.q,subquery_select_distinct2.q,authorization_uri_alterpart_loc.q,constraint_duplicate_name.q,create_table_failure4.q,alter_tableprops_external_with_notnull_constraint.q,semijoin5.q,udf_format_number_wrong4.q,deletejar.q,exim_11_nonpart_noncompat_sorting.q,show_tables_bad_db2.q,drop_func_nonexistent.q,alter_table_non_partitioned_table_cascade.q,check_constraint_subquery.q,load_wrong_fileformat.q,check_constraint_udtf.q,lockneg_try_db_lock_conflict.q,udf_field_wrong_args_len.q,create_table_failure2.q,create_with_fk_constraints_enforced.q,groupby2_map_skew_multi_distinct.q,mm_update.q,authorization_update_noupdatepriv.q,show_columns2.q,authorization_insert_noselectpriv.q,orc_replace_columns3_acid.q,authorization_set_nonexistent_conf.q,alter_rename_partition_failure3.q,split_sample_wrong_format2.q,create_with_fk_pk_same_tab.q,authorization_show_roles_no_admin.q,materialized_view_authorization_rebuild_no_grant.q,unionLimit.q,authorization_revoke_table_fail2.q,duplicate_insert3.q,authorization_desc_table_nosel.q,authorization_jdbc_keystore.q,stats_noscan_non_native.q,orc_change_serde_acid.q,create_or_replace_view7.q,exim_07_nonpart_noncompat_ifof.q,create_with_unique_constraints_enforced.q,udf_concat_ws_wrong2.q,fileformat_bad_class.q,merge_negative_2.q,exim_15_part_nonpart.q,authorization_not_owner_drop_view.q,external1.q,authorization_uri_insert.q,create_with_fk_wrong_ref.q,columnstats_tbllvl_incorrect_column.q,authorization_show_parts_nosel.q,materialized_view_name_collusion.q,authorization_not_owner_drop_tab.q,external2.q,authorization_deletejar.q,temp_table_create_like_partitions.q,udf_greatest_error_1.q,ptf_negative_AggrFuncsWithNoGBYNoPartDef.q,alter_view_as_select_not_exist.q,touch1.q,groupby3_map_skew_multi_distinct.q,insert_into_notnull_constraint.q,exchange_partition_neg_partition_missing.q,groupby_cube_multi_gby.q,merge_column_mismatch.q,columnstats_tbllvl.q,drop_invalid_constraint2.q,alter_table_add_partition.q,update_not_acid.q,archive5.q,alter_table_constraint_invalid_pk_col.q,ivyDownload.q,udf_instr_wrong_type.q,bad_sample_clause.q,authorization_not_owner_drop_tab2.q,authorization_alter_db_owner.q,show_columns1.q,orc_type_promotion3.q,create_view_failure8.q,strict_join.q,udf_add_months_error_1.q,groupby_cube2.q,groupby_cube1.q,groupby_rollup1.q,genericFileFormat.q,invalid_cast_from_binary_4.q,drop_invalid_constraint1.q,serde_regex.q,show_partitions1.q,check_constraint_nonboolean_expr.q,invalid_cast_from_binary_6.q,create_with_multi_pk_constraint.q,udf_field_wrong_type.q,groupby_grouping_sets4.q,groupby_grouping_sets3.q,insertsel_fail.q,udf_locate_wrong_type.q,orc_type_promotion1_acid.q,set_table_property.q,create_or_replace_view2.q,groupby_grouping_sets2.q,alter_view_failure.q,distinct_windowing_failure1.q,alter_table_constraint_invalid_fk_col1.q,invalid_varchar_length_2.q,authorization_show_grant_otheruser_alltabs.q,subquery_windowing_corr.q,compact_non_acid_table.q,authorization_view_4.q,authorization_disallow_transform.q,materialized_view_authorization_rebuild_other.q,authorization_fail_4.q,dbtxnmgr_nodblock.q,set_hiveconf_internal_variable1.q,input_part0_neg.q,udf_printf_wrong3.q,load_orc_negative2.q,druid_buckets.q,archive2.q,authorization_addjar.q,invalid_sum_syntax.q,insert_into_with_schema1.q,udf_add_months_error_2.q,dyn_part_max_per_node.q,authorization_revoke_table_fail1.q,udf_printf_wrong2.q,archive_multi3.q,udf_printf_wrong1.q,subquery_subquery_chain.q,authorization_view_disable_cbo_4.q,no_matching_udf.q,create_view_failure7.q,drop_native_udf.q,truncate_column_list_bucketing.q,authorization_view_disable_cbo_3.q,bad_exec_hooks.q,authorization_view_disable_cbo_2.q,fetchtask_ioexception.q,char_pad_convert_fail2.q,authorization_set_role_neg1.q,serde_regex3.q,authorization_delete_nodeletepriv.q,materialized_view_delete.q,create_or_replace_view6.q,bucket_mapjoin_wrong_table_metadata_2.q,udf_sort_array_by_wrong2.q,local_mapred_error_cache.q,alter_external_acid.q,authorization_fail_3.q,set_hiveconf_internal_variable0.q,udf_last_day_error_2.q,fallbackauth_dfs.q,alter_table_constraint_invalid_ref.q,create_table_wrong_regex.q,describe_xpath4.q,join32.q,insert_sorted.q,describe_xpath2.q,authorization_role_grant_otheruser.q,masking_acid_merge.q,authorization_ctas.q,authorization_fail_5.q,alter_view_failure9.q,insert_into_acid_notnull.q,illegal_partition_type3.q,authorization_uri_import.q,database_drop_does_not_exist.q,archive_multi4.q,date_literal2.q,gby_star2.q,authorization_table_grant_nosuchrole.q,insert_into_with_schema2.q,join_cond_unqual_ambiguous_vc.q,archive_multi2.q,analyze1.q,invalid_distinct3.q,fs_default_name1.q,subquery_in_on.q,show_columns3.q,column_rename1.q,authorization_view_1.q,ptf_negative_JoinWithAmbigousAlias.q,groupby_rollup3.q,truncate_table_failure6.q,groupby_cube3.q,invalid_create_tbl1.q,illegal_partition_type.q,cachingprintstream.q,create_function_nonudf_class.q,exchange_partition_neg_table_missing2.q,dbtxnmgr_notablelock.q,create_view_failure1.q,create_view_failure2.q,alter_view_failure8.q,check_constraint_window_fun.q,update_notnull_constraint.q,authorization_drop_db_cascade.q,archive_partspec3.q,truncate_partition_column.q,alter_partition_partial_spec_dyndisabled.q,udf_format_number_wrong2.q,column_rename5.q,authorization_import.q,spark_submit_negative_executor_cores.q,authorization_fail_2.q,script_error.q,archive_partspec5.q,script_broken_pipe2.q,strict_managed_tables3.q,update_no_such_table.q,exim_09_nonpart_noncompat_serdeparam.q,invalid_cast_from_binary_1.q,archive_partspec1.q,unionDistributeBy.q,drop_function_failure.q,authorization_priv_current_role_neg.q,archive_insert1.q,authorization_addpartition.q,table_create_with_dot.q,archive_multi6.q,exim_05_nonpart_noncompat_coltype.q,druid_case.q,invalid_cast_to_binary_5.q,orderby_invalid_position.q,materialized_view_authorization_create_no_select_perm.q,exchange_partition_neg_with_fullacid_table.q,druid_address.q,temp_table_partitions.q,constraint_invalide_name.q,authorization_uri_load_data.q,udf_locate_wrong_args_len.q,duplicate_insert1.q,duplicate_insert2.q,udf_sort_array_by_wrong3.q,stats_publisher_error_2.q,show_tableproperties1.q,invalid_cast_to_binary_2.q,authorization_drop_admin_role.q,lockneg1.q,exim_16_part_noncompat_schema.q,database_switch_does_not_exist.q,ctas.q,exim_10_nonpart_noncompat_bucketing.q,unionOrderBy.q,addpart1.q,ptf_negative_NoWindowDefn.q,authorization_set_invalidconf.q,udtf_explode_not_supported3.q,ptf_negative_AmbiguousWindowDefn.q,create_external_with_check_constraint.q,udtf_invalid_place.q,join_cond_unqual_ambiguous.q,udf_format_number_wrong1.q,fallbackauth_create_func1.q,authorization_view_disable_cbo_6.q,exim_25_import_nonexist_authfail.q,authorization_role_cycles1.q,fallbackauth_set_invalidconf.q,invalid_char_length_3.q,groupby_struct.q,join_alt_syntax_comma_on.q,exchange_partition_neg_incomplete_partition.q,udf_test_error_reduce.q,load_wrong_noof_part.q,authorization_export_ptn.q,drop_partition_failure.q,materialized_view_no_cbo_rewrite.q,subquery_in_implicit_gby.q,udf_map_values_arg_num.q,udf_elt_wrong_args_len.q,alter_table_wrong_location.q,archive_insert4.q,authorization_grant_table_fail_nogrant.q,authorization_create_func1.q,dyn_part3.q,cte_with_in_subquery.q,drop_table_used_by_mv.q,column_change_skewedcol_type1.q,materialized_view_drop.q,exchange_partition_neg_with_mm_table.q,invalid_std_syntax.q,unset_view_property.q,authorization_view_3.q,subquery_exists_implicit_gby.q,authorization_set_role_neg2.q,authorization_grant_group.q,invalid_min_syntax.q,semijoin3.q,truncate_nonexistant_column.q,wrong_distinct_group_by_without_cbo.q,exchange_partition_neg_table_missing.q,gby_star.q,truncate_partition_column2.q,insertover_dynapart_ifnotexists.q,unionClusterBy.q,udf_qualified_name.q,spark_job_max_tasks.q,authorization_cannot_create_default_role.q,nonkey_groupby.q,spark_stage_max_tasks.q,ptf_negative_HavingLeadWithNoGBYNoWindowing.q,alter_view_as_select_with_partition.q,load_exist_part_authfail.q,archive_multi7.q,authorization_create_func2.q,authorization_grant_uri.q,load_view_failure.q,groupby_grouping_sets8.q,invalid_cast_from_binary_3.q,exim_21_part_managed_external.q,insert_into4.q,database_create_invalid_name.q,groupby_grouping_sets7.q,subq_insert.q,dyn_part2.q,alter_external_with_notnull_constraint.q,exchange_partition.q,lateral_view_join.q,allow_change_col_type_par_neg.q,create_function_nonexistent_db.q,incorrectly_quoted_insert.q,create_function_nonexistent_class.q,authorization_not_owner_alter_tab_rename.q,strict_pruning.q,subquery_notexists_implicit_gby.q,orc_reorder_columns1.q,columnstats_partlvl_invalid_values.q,authorization_explain.q,orc_reorder_columns2.q,authorization_dfs.q,udf_format_number_wrong7.q,exim_17_part_spec_underspec.q,druid_partitions.q,authorization_drop_role_no_admin.q,windowing_ll_no_over.q,subquery_corr_from.q,desc_failure2.q,load_non_native.q,windowing_ll_no_neg.q,authorization_role_grant2.q,lockneg4.q,lockneg3.q,drop_table_failure2.q,temp_table_authorize_create_tbl.q,dyn_part_max.q,orc_reorder_columns2_acid.q,change_hive_local_session_path.q,insert_into5.q,insert_into1.q,insert_into3.q,udtf_explode_not_supported2.q,sample.q,udtf_explode_not_supported1.q,authorization_droppartition.q,orc_type_promotion2_acid.q,materialized_view_load.q,right_side_join.q,authorization_fail_1.q,authorization_cannot_create_all_role.q,invalid_max_syntax.q,udf_array_contains_wrong1.q,authorization_cannot_create_none_role.q,subquery_in_lhs.q,orc_replace_columns3.q,udf_size_wrong_args_len.q,create_skewed_table_dup_col_name.q,authorization_fail_7.q,authorization_invalid_priv_v1.q,invalidate_view1.q,union22.q,subquery_scalar_multi_columns.q,disallow_incompatible_type_change_on1.q,semijoin1.q,create_skewed_table_failure_invalid_col_name.q,udf_when_type_wrong.q,timestamp_literal.q,create_external_with_default_constraint.q,truncate_table_failure4.q,masking_acid_delete.q,check_constraint_violation.q,uniquejoin2.q,authorization_grant_table_dup.q,invalid_tbl_name.q,authorization_createview.q,alter_external_with_default_constraint.q,truncate_table_failure1.q,alter_partition_coltype_invalidtype.q,show_tablestatus_not_existing_part.q,authorization_msck.q,truncate_table_failure2.q,joinneg.q] org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver[lock1] (batchId=8) org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver[lock3] (batchId=58) org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver[lock4] (batchId=57) org.apache.hadoop.hive.cli.TestNegativeCliDriver.testCliDriver[lockneg_try_drop_locked_db] (batchId=100) org.apache.hadoop.hive.cli.TestNegativeCliDriver.testCliDriver[lockneg_try_lock_db_in_use] (batchId=100) {noformat} Test results: https://builds.apache.org/job/PreCommit-HIVE-Build/16635/testReport Console output: https://builds.apache.org/job/PreCommit-HIVE-Build/16635/console Test logs: http://104.198.109.242/logs/PreCommit-HIVE-Build-16635/ Messages: {noformat} Executing org.apache.hive.ptest.execution.TestCheckPhase Executing org.apache.hive.ptest.execution.PrepPhase Executing org.apache.hive.ptest.execution.YetusPhase Executing org.apache.hive.ptest.execution.ExecutionPhase Executing org.apache.hive.ptest.execution.ReportingPhase Tests exited with: TestsFailedException: 13 tests failed {noformat} This message is automatically generated. ATTACHMENT ID: 12963405 - PreCommit-HIVE-Build > Review of ZooKeeperHiveLockManager > ---------------------------------- > > Key: HIVE-21469 > URL: https://issues.apache.org/jira/browse/HIVE-21469 > Project: Hive > Issue Type: Improvement > Components: Locking > Affects Versions: 4.0.0, 3.2.0 > Reporter: David Mollitor > Assignee: David Mollitor > Priority: Major > Attachments: HIVE-21469.1.patch, HIVE-21469.2.patch, > HIVE-21469.3.patch, HIVE-21469.4.patch, HIVE-21469.5.patch > > > A lot of sins in this class to resolve: > {code:java} > @Override > public void setContext(HiveLockManagerCtx ctx) throws LockException { > try { > curatorFramework = CuratorFrameworkSingleton.getInstance(conf); > parent = conf.getVar(HiveConf.ConfVars.HIVE_ZOOKEEPER_NAMESPACE); > try{ > curatorFramework.create().withMode(CreateMode.PERSISTENT).forPath("/" > + parent, new byte[0]); > } catch (Exception e) { > // ignore if the parent already exists > if (!(e instanceof KeeperException) || ((KeeperException)e).code() != > KeeperException.Code.NODEEXISTS) { > LOG.warn("Unexpected ZK exception when creating parent node /" + > parent, e); > } > } > {code} > Every time a new session is created and this {{setContext}} method is called, > it attempts to create the root node. I have seen that, even though the root > node exists, an create node action is written to the ZK logs. Check first if > the node exists before trying to create it. > {code:java} > try { > curatorFramework.delete().forPath(zLock.getPath()); > } catch (InterruptedException ie) { > curatorFramework.delete().forPath(zLock.getPath()); > } > {code} > There has historically been a quite a few bugs regarding leaked locks. The > Driver will signal the session {{Thread}} by performing an interrupt. That > interrupt can happen any time and it can kill a create/delete action within > the ZK framework. We can see one example of workaround for this. If the ZK > action is interrupted, simply do it again. Well, what if it's interrupted > yet again? The lock will be leaked. Also, when the {{InterruptedException}} > is caught in the try block, the thread's interrupted flag is cleared. The > flag is not reset in this code and therefore we lose the fact that this > thread has been interrupted. This flag should be preserved so that other > code paths will know that it's time to exit. > {code:java} > if (tryNum > 1) { > Thread.sleep(sleepTime); > } > unlockPrimitive(hiveLock, parent, curatorFramework); > break; > } catch (Exception e) { > if (tryNum >= numRetriesForUnLock) { > String name = ((ZooKeeperHiveLock)hiveLock).getPath(); > throw new LockException("Node " + name + " can not be deleted after > " + numRetriesForUnLock + " attempts.", > e); > } > } > {code} > ... related... the sleep here may be interrupted, but we still need to delete > the lock (again, for fear of leaking it). This sleep should be > uninterruptible. If we need to get the lock deleted, and there's a problem, > interrupting the sleep will cause the code to eventually exit and locks will > be leaked. > It also requires a bunch more TLC. -- This message was sent by Atlassian JIRA (v7.6.3#76005)