ITPub博客

首页 > 数据库 > SQL on Hadoop > EsgynDB执行truncate异常中断,查询提示:Object has invalid state and cannot be

EsgynDB执行truncate异常中断,查询提示:Object has invalid state and cannot be

原创 SQL on Hadoop 作者:joshliu 时间:2020-10-15 15:48:06 0 删除 编辑

【问题描述】

        EsgynDB执行truncate表异常中断,查询该表时提示:Object has invalid state and cannot be accessed

» select count(*) from test0110;
*** ERROR[4254] Object TRAFODION.SEABASE.TEST0110 has invalid state and cannot be accessed. Use cleanup command to drop it. 
*** ERR0R[4O82] Object TRAFODION.SEABASE.TEST01lO does not exist or is inaccessible.
*** ERR0R[8822] The statement was not prepared.

【问题原因】

        EsgynDB执行truncate操作时,内部会执行一系列过程,包括:修改元数据信息、禁用底层HBase表、删除底层HBase表等,truncate是一个DDL操作,异常中断可能造成某些步骤没有回滚,导致表的状态异常;

【问题解决】

        首先检查底层HBase表是否正常,如果底层HBase表被disable了,需要到HBase Shell下启用此表;

hbase shell> is_enabled 'XXX'
hbase shell> enable 'XXX'

        如果HBase表正常,则只需要改写元数据信息的valid_def状态为'Y';

update "_MD_".objects set valid_def='Y' where object_name='XXX';

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69985104/viewspace-2727158/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-10-09

  • 博文量
    78
  • 访问量
    74238