hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "dcswinner (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-3269) HBase table truncate semantics seems broken as "disable" table is now async by default.
Date Sun, 18 Sep 2016 07:41:20 GMT

    [ https://issues.apache.org/jira/browse/HBASE-3269?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15500493#comment-15500493

dcswinner commented on HBASE-3269:

In 0.98.8 versions,I execute:truncate_preserve at 04:00 AM. every day,frequently i it occur
the below error:
The error log is:

truncate_preserve 'ns_ztbd:tb_pis_cshopprice'
Truncating 'ns_ztbd:tb_pis_cshopprice' table (it may take a while):
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/bigdata/software/hbase-0.98.8-hadoop2.4/lib/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/bigdata/software/hadoop-!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
 - Disabling table...
 - Truncating table...
 - Dropping table...

ERROR: org.apache.hadoop.hbase.TableNotDisabledException: ns_ztbd:tb_pis_cshopprice
	at org.apache.hadoop.hbase.master.HMaster.checkTableModifiable(HMaster.java:2077)
	at org.apache.hadoop.hbase.master.handler.TableEventHandler.prepare(TableEventHandler.java:83)
	at org.apache.hadoop.hbase.master.HMaster.deleteTable(HMaster.java:1822)
	at org.apache.hadoop.hbase.master.HMaster.deleteTable(HMaster.java:1832)
	at org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java:41471)
	at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2027)
	at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:108)
	at org.apache.hadoop.hbase.ipc.FifoRpcScheduler$1.run(FifoRpcScheduler.java:74)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)

Here is some help for this command:
  Disables, drops and recreates the specified table while still maintaing the previous region

> HBase table truncate semantics seems broken as "disable" table is now async by default.
> ---------------------------------------------------------------------------------------
>                 Key: HBASE-3269
>                 URL: https://issues.apache.org/jira/browse/HBASE-3269
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.90.0
>         Environment: RHEL5 x86_64
>            Reporter: Suraj Varma
>            Assignee: stack
>            Priority: Critical
>             Fix For: 0.90.0, 0.92.0
> The new async design for disable table seems to have caused a side effect on the truncate
command. (IRC chat with jdcryans)
> Apparent Cause: 
> "Disable" is now async by default. When truncate is called, the disable operation returns
immediately and when the drop is called, the disable operation is still not completed. This
results in HMaster.checkTableModifiable() throwing a TableNotDisabledException.
> With earlier versions, disable returned only after Table was disabled.

This message was sent by Atlassian JIRA

View raw message