You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "ramkrishna.s.vasudevan (JIRA)" <ji...@apache.org> on 2014/11/10 05:46:34 UTC

[jira] [Comment Edited] (HBASE-11419) After increasing TTL value of a hbase table having pre-split regions and decreasing TTL value, table becomes inaccessible.

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

ramkrishna.s.vasudevan edited comment on HBASE-11419 at 11/10/14 4:46 AM:
--------------------------------------------------------------------------

[~Prabhu Joseph]
Thanks for the patch. Few things,
With 0.98 setup this issues does not happen.  I tried it.  So this problem exists only in 0.94?  
Pls update the patch with a test case also.  That would give the chance to understand the issue too. You can see the code and some test cases that (for eg: TestAdmin), where you can add the above steps you mentioned with the help of a minicluster and show the problem.
I tried this
{code}
hbase(main):001:0> create 'debugger',{NAME => 'd',TTL => 15552000}
2014-11-10 12:21:33,552 WARN  [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
0 row(s) in 1.9090 seconds

=> Hbase::Table - debugger
hbase(main):002:0> put 'debugger','jdb','d:desc','Java debugger',1399699792000
0 row(s) in 0.1080 seconds

hbase(main):003:0> disable 'debugger'
0 row(s) in 1.6220 seconds

hbase(main):004:0> alter 'debugger',{NAME => 'd',TTL => 69120000}
Updating all regions with the new schema...
1/1 regions updated.
Done.
0 row(s) in 1.4040 seconds

hbase(main):005:0> enable 'debugger'
0 row(s) in 0.6900 seconds

hbase(main):006:0> scan 'debugger'
ROW                                         COLUMN+CELL
0 row(s) in 0.0460 seconds
{code}
and there were no errors in the logs also.  Am using 0.98 here.


was (Author: ram_krish):
[~Prabhu Joseph]
Thanks for the patch. Few things,
With 0.98 setup this issues does not happen.  I tried it.  So this problem exists only in 0.94?  
Pls update the patch with a test case also.  That would give the chance to understand the issue too. You can see the code and some test cases that (for eg: TestAdmin), where you can add the above steps you mentioned with the help of a minicluster and show the problem.
I tried this
{code}
=> Hbase::Table - debugger
hbase(main):002:0> put 'debugger','jdb','d:desc','Java debugger',1399699792000
0 row(s) in 0.1080 seconds

hbase(main):003:0> disable 'debugger'
0 row(s) in 1.6220 seconds

hbase(main):004:0> alter 'debugger',{NAME => 'd',TTL => 69120000}
Updating all regions with the new schema...
1/1 regions updated.
Done.
0 row(s) in 1.4040 seconds

hbase(main):005:0> enable 'debugger'
0 row(s) in 0.6900 seconds

hbase(main):006:0> scan 'debugger'
ROW                                         COLUMN+CELL
0 row(s) in 0.0460 seconds
{code}
and there were no errors in the logs also.  Am using 0.98 here.

> After increasing TTL value of a hbase table having pre-split regions and decreasing TTL value, table becomes inaccessible.
> --------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-11419
>                 URL: https://issues.apache.org/jira/browse/HBASE-11419
>             Project: HBase
>          Issue Type: Bug
>          Components: HFile
>    Affects Versions: 0.94.6
>         Environment: Linux x86_64 
>            Reporter: Prabhu Joseph
>            Priority: Blocker
>              Labels: patch
>             Fix For: 0.98.0
>
>         Attachments: HBASE-11419, HBaseExporter.java, account.csv, hbase-site.xml
>
>   Original Estimate: 96h
>  Remaining Estimate: 96h
>
> After increasing and decreasing the TTL value of a Hbase Table , table gets inaccessible. Scan table not working.
> Scan in hbase shell throws
> java.lang.IllegalStateException: Block index not loaded
> at com.google.common.base.Preconditions.checkState(Preconditions.java:145)
> at org.apache.hadoop.hbase.io.hfile.HFileReaderV1.blockContainingKey(HFileReaderV1.java:181)
> at org.apache.hadoop.hbase.io.hfile.HFileReaderV1$AbstractScannerV1.seekTo(HFileReaderV1.java:426)
> at org.apache.hadoop.hbase.regionserver.StoreFileScanner.seekAtOrAfter(StoreFileScanner.java:226)
> at org.apache.hadoop.hbase.regionserver.StoreFileScanner.seek(StoreFileScanner.java:145)
> at org.apache.hadoop.hbase.regionserver.StoreScanner.<init>(StoreScanner.java:131)
> at org.apache.hadoop.hbase.regionserver.Store.getScanner(Store.java:2015)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.<init>(HRegion.java:3706)
> at org.apache.hadoop.hbase.regionserver.HRegion.instantiateRegionScanner(HRegion.java:1761)
> at org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1753)
> at org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:1730)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2409)
> at sun.reflect.GeneratedMethodAccessor56.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:320)
> at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1426)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)