hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Prabhu Joseph (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-11419) After increasing TTL value of a hbase table having pre-split regions and decreasing TTL value, table becomes inaccessible.
Date Tue, 21 Oct 2014 09:44:35 GMT

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

Prabhu Joseph commented on HBASE-11419:
---------------------------------------

STEPS TO REPRODUCE:

  In a distributed Hbase with two HRegionservers,

   1.  javac -cp <jars needed , hbase jars and hbase-site.xml> HBaseExporter.java
   2.  java -cp <jars needed , hbase jars and hbase-site.xml> HBaseExporter create 

      [ copy the account.csv to /tmp folder ]
        java -cp <jars needed , hbase jars and hbase-site.xml> HBaseExporter import
   3.  java -cp <jars needed , hbase jars and hbase-site.xml> HBaseExporter ttl

These steps create AccountHistoryMA1 table with 530 regions and import some data in it.

TTL value during creation is 180 days (15552000) 

DATA inserted has some data older than 180 days and the data inserted is still in memstore,
not flushed to disk.

Step 3 increases the ttl value to 800 days (69120000). 

After this when we scan the table following error thrown,

   java.lang.IllegalStateException: Block index not loaded


On analysis we found there were two hfiles created with empty rows, which are for rowkeys
180 days older. so we
suspect Hbase creates hfile first and not writes the data older than TTl value.

Workaround:

   Flush before changing the TTL does not create hfiles with empty rows.




      
     
  

> 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
>             Fix For: 0.94.6
>
>   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)

Mime
View raw message