首页 > 其他分享 >Retrying task after failure: Waiting for lock. org.apache.iceberg.hive.HiveTableOperations$WaitingFo

Retrying task after failure: Waiting for lock. org.apache.iceberg.hive.HiveTableOperations$WaitingFo

时间:2022-09-04 21:22:41浏览次数:56  
标签:task iceberg java lock HiveTableOperations Waiting Tasks apache org

执行spark任务居然碰到了hive中表的被锁了,导致写数据时失败,这个还真是头一次碰到过这回事。

错误信息如下:

22/09/04 21:02:28 WARN Tasks: Retrying task after failure: Waiting for lock.
org.apache.iceberg.hive.HiveTableOperations$WaitingForLockException: Waiting for lock.
        at org.apache.iceberg.hive.HiveTableOperations.lambda$acquireLock$9(HiveTableOperations.java:460)
        at org.apache.iceberg.util.Tasks$Builder.runTaskWithRetry(Tasks.java:404)
        at org.apache.iceberg.util.Tasks$Builder.runSingleThreaded(Tasks.java:214)
        at org.apache.iceberg.util.Tasks$Builder.run(Tasks.java:198)
        at org.apache.iceberg.hive.HiveTableOperations.acquireLock(HiveTableOperations.java:454)
        at org.apache.iceberg.hive.HiveTableOperations.doCommit(HiveTableOperations.java:226)
        at org.apache.iceberg.BaseMetastoreTableOperations.commit(BaseMetastoreTableOperations.java:127)
        at org.apache.iceberg.SnapshotProducer.lambda$commit$2(SnapshotProducer.java:304)
        at org.apache.iceberg.util.Tasks$Builder.runTaskWithRetry(Tasks.java:404)
        at org.apache.iceberg.util.Tasks$Builder.runSingleThreaded(Tasks.java:214)
        at org.apache.iceberg.util.Tasks$Builder.run(Tasks.java:198)
        at org.apache.iceberg.util.Tasks$Builder.run(Tasks.java:190)
        at org.apache.iceberg.SnapshotProducer.commit(SnapshotProducer.java:282)
        at org.apache.iceberg.BaseReplacePartitions.commit(BaseReplacePartitions.java:26)
        at org.apache.iceberg.spark.source.Writer.commitOperation(Writer.java:144)
        at org.apache.iceberg.spark.source.Writer.replacePartitions(Writer.java:181)
        at org.apache.iceberg.spark.source.Writer.commit(Writer.java:119)
        at org.apache.spark.sql.execution.datasources.v2.WriteToDataSourceV2Exec.doExecute(WriteToDataSourceV2Exec.scala:76)
 

跑到hive的元数据库中查询时,在表HIVE_LOCKS中找到了一些信息。
image

根据出错信息,根据hl_table找到相关的表,查看最近的心跳时间字段,hl_last_heartbeat。
删除对应的记录即可。

delete  from HIVE_LOCKS where hl_table = '出错的表名';

标签:task,iceberg,java,lock,HiveTableOperations,Waiting,Tasks,apache,org
From: https://www.cnblogs.com/30go/p/16656135.html

相关文章

  • 页面请求 Waiting (TTFB) 时间过长
     这个Wating(TTFB)可以理解是指从客户端开始和服务端交互到服务端开始向客户端浏览器传输数据的时间(包括DNS、socket连接和请求响应时间),是能够反映服务端响应速度的重要......
  • 右击菜单增加IobitUnlocker解锁
    WindowsRegistryEditorVersion5.00[HKEY_CLASSES_ROOT\Folder\shell\2IobitUnlocker]@="IobitUnlocker解锁"[HKEY_CLASSES_ROOT\Folder\shell\2IobitUnlocker\comman......
  • SpringTask
    1.定时任务概述在项目中开发定时任务应该一种比较常见的需求,在Java中开发定时任务主要有三种解决方案:一是使用JDK自带的Timer,二是使用第3三方组件Quartz,三是使用Spri......
  • KingbaseESV8R6等待事件之lwlock buffer_content
    前言等待事件是排查数据库性能的指标之一。简单理解,cpu在处理业务时由于业务逻辑,和不可避免的数据库其他原因造成的前台进程等待,这里的等待事件包含buffer类,io类,以及网络......
  • IObit Unlocker删除/解锁占用的文件
    IObitUnlocker删除/解锁占用的文件IObitUnlocker这个软件真的非常实用,它的功能很简单,就是解锁文件占用。因为小棉袄经常会遇到要删除文件的时候提示无法删除,被别的软件......
  • KingbaseES sys_blocking_pids 函数
    会话出现了锁等待,想要快速查询到堵塞的会话,可以使用sys_blocking_pids函数来实现这一目的。sys_blocking_pids:获取哪些会话阻塞了某个会话(输入参数).sys_backend_pid:......
  • KingbaseES sys_blocking_pids 函数
    会话出现了锁等待,想要快速查询到堵塞的会话,可以使用sys_blocking_pids函数来实现这一目的。sys_blocking_pids:获取哪些会话阻塞了某个会话(输入参数).sys_backend_pid:......
  • task host window阻止关机
      在该方法中遇到的问题:我的电脑是惠普暗影精灵5air,64位的,按照该操作没有效果。这一步中新建的dword默认是32位的,改成新建qword就没有问题了,个人猜测是由于位数不合适......
  • 【突然想多了解一点】可以用 Task.Run() 将同步方法包装为异步方法吗?
    【突然想多了解一点】可以用Task.Run()将同步方法包装为异步方法吗?本文翻译自《ShouldIexposeasynchronouswrappersforsynchronousmethods?-StephenToub》,原......
  • Linux系统编程 —读写锁rwlock(转载~)
    读写锁是另一种实现线程间同步的方式。与互斥量类似,但读写锁将操作分为读、写两种方式,可以多个线程同时占用读模式的读写锁,这样使得读写锁具有更高的并行性。读写锁的特性......