[ 
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-2.4.0.4/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/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 boundaries.


> 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
(v6.3.4#6332)

Reply via email to