You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "ryan rawson (JIRA)" <ji...@apache.org> on 2009/07/23 02:41:14 UTC

[jira] Created: (HBASE-1686) major compaction can create empty store files, causing AIOOB when trying to read

major compaction can create empty store files, causing AIOOB when trying to read
--------------------------------------------------------------------------------

                 Key: HBASE-1686
                 URL: https://issues.apache.org/jira/browse/HBASE-1686
             Project: Hadoop HBase
          Issue Type: Bug
    Affects Versions: 0.20.0
            Reporter: ryan rawson
            Priority: Blocker
             Fix For: 0.20.0


here is the backtrace:

Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
        at org.apache.hadoop.hbase.io.hfile.HFile$Reader.getFirstKey(HFile.java:991)
        at org.apache.hadoop.hbase.regionserver.StoreFileGetScan.getStoreFile(StoreFileGetScan.java:84)
        at org.apache.hadoop.hbase.regionserver.StoreFileGetScan.get(StoreFileGetScan.java:65)
        at org.apache.hadoop.hbase.regionserver.Store.get(Store.java:1548)
        at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:2263)
        at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:2252)
        at org.apache.hadoop.hbase.regionserver.HRegionServer.get(HRegionServer.java:1739)

This can happen if your table only has deletes, and everything evaporates during a major compaction.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HBASE-1686) major compaction can create empty store files, causing AIOOB when trying to read

Posted by "stack (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-1686?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12734655#action_12734655 ] 

stack commented on HBASE-1686:
------------------------------

Manish at rapleaf ran into this issue too only in his case the stacktrace was real ugly:

{code}
2009-07-21 00:00:29,996 INFO org.apache.hadoop.ipc.HBaseServer: IPC Server handler 1 on 60020, call get([B@346e6b9c, row=^\^U^D^U^N^@^\^U^D^X^Parrana88@aol.com^@^@, maxVersions=1, timeRange=[0,9223372036854775807), families={(family=piston, columns=ALL}) from 10.100.48.4:35231: error: java.io.IOException: java.lang.ArrayIndexOutOfBoundsException
java.io.IOException: java.lang.ArrayIndexOutOfBoundsException
    at org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:832)
    at org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:822)
    at org.apache.hadoop.hbase.regionserver.HRegionServer.get(HRegionServer.java:1755)
    at sun.reflect.GeneratedMethodAccessor19.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.HBaseRPC$Server.call(HBaseRPC.java:650)
    at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:913)
Caused by: java.lang.ArrayIndexOutOfBoundsException
{code}

... and nothing else.

> major compaction can create empty store files, causing AIOOB when trying to read
> --------------------------------------------------------------------------------
>
>                 Key: HBASE-1686
>                 URL: https://issues.apache.org/jira/browse/HBASE-1686
>             Project: Hadoop HBase
>          Issue Type: Bug
>    Affects Versions: 0.20.0
>            Reporter: ryan rawson
>            Priority: Blocker
>             Fix For: 0.20.0
>
>
> here is the backtrace:
> Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
>         at org.apache.hadoop.hbase.io.hfile.HFile$Reader.getFirstKey(HFile.java:991)
>         at org.apache.hadoop.hbase.regionserver.StoreFileGetScan.getStoreFile(StoreFileGetScan.java:84)
>         at org.apache.hadoop.hbase.regionserver.StoreFileGetScan.get(StoreFileGetScan.java:65)
>         at org.apache.hadoop.hbase.regionserver.Store.get(Store.java:1548)
>         at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:2263)
>         at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:2252)
>         at org.apache.hadoop.hbase.regionserver.HRegionServer.get(HRegionServer.java:1739)
> This can happen if your table only has deletes, and everything evaporates during a major compaction.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HBASE-1686) major compaction can create empty store files, causing AIOOB when trying to read

Posted by "Amandeep Khurana (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-1686?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12735301#action_12735301 ] 

Amandeep Khurana commented on HBASE-1686:
-----------------------------------------

The patch is working for me. Not getting AIOOBE anymore.
+1

> major compaction can create empty store files, causing AIOOB when trying to read
> --------------------------------------------------------------------------------
>
>                 Key: HBASE-1686
>                 URL: https://issues.apache.org/jira/browse/HBASE-1686
>             Project: Hadoop HBase
>          Issue Type: Bug
>    Affects Versions: 0.20.0
>            Reporter: ryan rawson
>            Assignee: stack
>            Priority: Blocker
>             Fix For: 0.20.0
>
>         Attachments: 1686.patch
>
>
> here is the backtrace:
> Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
>         at org.apache.hadoop.hbase.io.hfile.HFile$Reader.getFirstKey(HFile.java:991)
>         at org.apache.hadoop.hbase.regionserver.StoreFileGetScan.getStoreFile(StoreFileGetScan.java:84)
>         at org.apache.hadoop.hbase.regionserver.StoreFileGetScan.get(StoreFileGetScan.java:65)
>         at org.apache.hadoop.hbase.regionserver.Store.get(Store.java:1548)
>         at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:2263)
>         at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:2252)
>         at org.apache.hadoop.hbase.regionserver.HRegionServer.get(HRegionServer.java:1739)
> This can happen if your table only has deletes, and everything evaporates during a major compaction.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HBASE-1686) major compaction can create empty store files, causing AIOOB when trying to read

Posted by "Jean-Daniel Cryans (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-1686?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12734589#action_12734589 ] 

Jean-Daniel Cryans commented on HBASE-1686:
-------------------------------------------

Deletes biting our ass again... good catch!

> major compaction can create empty store files, causing AIOOB when trying to read
> --------------------------------------------------------------------------------
>
>                 Key: HBASE-1686
>                 URL: https://issues.apache.org/jira/browse/HBASE-1686
>             Project: Hadoop HBase
>          Issue Type: Bug
>    Affects Versions: 0.20.0
>            Reporter: ryan rawson
>            Priority: Blocker
>             Fix For: 0.20.0
>
>
> here is the backtrace:
> Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
>         at org.apache.hadoop.hbase.io.hfile.HFile$Reader.getFirstKey(HFile.java:991)
>         at org.apache.hadoop.hbase.regionserver.StoreFileGetScan.getStoreFile(StoreFileGetScan.java:84)
>         at org.apache.hadoop.hbase.regionserver.StoreFileGetScan.get(StoreFileGetScan.java:65)
>         at org.apache.hadoop.hbase.regionserver.Store.get(Store.java:1548)
>         at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:2263)
>         at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:2252)
>         at org.apache.hadoop.hbase.regionserver.HRegionServer.get(HRegionServer.java:1739)
> This can happen if your table only has deletes, and everything evaporates during a major compaction.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HBASE-1686) major compaction can create empty store files, causing AIOOB when trying to read

Posted by "stack (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-1686?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12734903#action_12734903 ] 

stack commented on HBASE-1686:
------------------------------

Chatting with Manish, his table schema is as follows:

{NAME => 'lookup_records', FAMILIES => [{NAME => 'piston', VERSIONS => true                                  
  '3', COMPRESSION => 'NONE', TTL => '2147483647', BLOCKSIZE => '65536'                                       
 , IN_MEMORY => 'false', BLOCKCACHE => 'true'}]}

And he is not deleting.

So, odd that he runs into this issue.

> major compaction can create empty store files, causing AIOOB when trying to read
> --------------------------------------------------------------------------------
>
>                 Key: HBASE-1686
>                 URL: https://issues.apache.org/jira/browse/HBASE-1686
>             Project: Hadoop HBase
>          Issue Type: Bug
>    Affects Versions: 0.20.0
>            Reporter: ryan rawson
>            Priority: Blocker
>             Fix For: 0.20.0
>
>
> here is the backtrace:
> Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
>         at org.apache.hadoop.hbase.io.hfile.HFile$Reader.getFirstKey(HFile.java:991)
>         at org.apache.hadoop.hbase.regionserver.StoreFileGetScan.getStoreFile(StoreFileGetScan.java:84)
>         at org.apache.hadoop.hbase.regionserver.StoreFileGetScan.get(StoreFileGetScan.java:65)
>         at org.apache.hadoop.hbase.regionserver.Store.get(Store.java:1548)
>         at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:2263)
>         at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:2252)
>         at org.apache.hadoop.hbase.regionserver.HRegionServer.get(HRegionServer.java:1739)
> This can happen if your table only has deletes, and everything evaporates during a major compaction.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HBASE-1686) major compaction can create empty store files, causing AIOOB when trying to read

Posted by "stack (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-1686?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack updated HBASE-1686:
-------------------------

    Resolution: Fixed
        Status: Resolved  (was: Patch Available)

Committed.  It worked to fix issue in two separate locations.  Committing also because it logs when scenario arises so we have some chance confirming indeedi ts because of major compaction that results in no output.

> major compaction can create empty store files, causing AIOOB when trying to read
> --------------------------------------------------------------------------------
>
>                 Key: HBASE-1686
>                 URL: https://issues.apache.org/jira/browse/HBASE-1686
>             Project: Hadoop HBase
>          Issue Type: Bug
>    Affects Versions: 0.20.0
>            Reporter: ryan rawson
>            Assignee: stack
>            Priority: Blocker
>             Fix For: 0.20.0
>
>         Attachments: 1686.patch
>
>
> here is the backtrace:
> Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
>         at org.apache.hadoop.hbase.io.hfile.HFile$Reader.getFirstKey(HFile.java:991)
>         at org.apache.hadoop.hbase.regionserver.StoreFileGetScan.getStoreFile(StoreFileGetScan.java:84)
>         at org.apache.hadoop.hbase.regionserver.StoreFileGetScan.get(StoreFileGetScan.java:65)
>         at org.apache.hadoop.hbase.regionserver.Store.get(Store.java:1548)
>         at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:2263)
>         at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:2252)
>         at org.apache.hadoop.hbase.regionserver.HRegionServer.get(HRegionServer.java:1739)
> This can happen if your table only has deletes, and everything evaporates during a major compaction.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HBASE-1686) major compaction can create empty store files, causing AIOOB when trying to read

Posted by "Jonathan Gray (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-1686?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12735588#action_12735588 ] 

Jonathan Gray commented on HBASE-1686:
--------------------------------------

Had same problem on our cluster.  Patch fixed AIOOB.  +1

> major compaction can create empty store files, causing AIOOB when trying to read
> --------------------------------------------------------------------------------
>
>                 Key: HBASE-1686
>                 URL: https://issues.apache.org/jira/browse/HBASE-1686
>             Project: Hadoop HBase
>          Issue Type: Bug
>    Affects Versions: 0.20.0
>            Reporter: ryan rawson
>            Assignee: stack
>            Priority: Blocker
>             Fix For: 0.20.0
>
>         Attachments: 1686.patch
>
>
> here is the backtrace:
> Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
>         at org.apache.hadoop.hbase.io.hfile.HFile$Reader.getFirstKey(HFile.java:991)
>         at org.apache.hadoop.hbase.regionserver.StoreFileGetScan.getStoreFile(StoreFileGetScan.java:84)
>         at org.apache.hadoop.hbase.regionserver.StoreFileGetScan.get(StoreFileGetScan.java:65)
>         at org.apache.hadoop.hbase.regionserver.Store.get(Store.java:1548)
>         at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:2263)
>         at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:2252)
>         at org.apache.hadoop.hbase.regionserver.HRegionServer.get(HRegionServer.java:1739)
> This can happen if your table only has deletes, and everything evaporates during a major compaction.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HBASE-1686) major compaction can create empty store files, causing AIOOB when trying to read

Posted by "stack (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-1686?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12734658#action_12734658 ] 

stack commented on HBASE-1686:
------------------------------

Oh, I know its the same issue because Manish did the work and added in printfs.

> major compaction can create empty store files, causing AIOOB when trying to read
> --------------------------------------------------------------------------------
>
>                 Key: HBASE-1686
>                 URL: https://issues.apache.org/jira/browse/HBASE-1686
>             Project: Hadoop HBase
>          Issue Type: Bug
>    Affects Versions: 0.20.0
>            Reporter: ryan rawson
>            Priority: Blocker
>             Fix For: 0.20.0
>
>
> here is the backtrace:
> Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
>         at org.apache.hadoop.hbase.io.hfile.HFile$Reader.getFirstKey(HFile.java:991)
>         at org.apache.hadoop.hbase.regionserver.StoreFileGetScan.getStoreFile(StoreFileGetScan.java:84)
>         at org.apache.hadoop.hbase.regionserver.StoreFileGetScan.get(StoreFileGetScan.java:65)
>         at org.apache.hadoop.hbase.regionserver.Store.get(Store.java:1548)
>         at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:2263)
>         at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:2252)
>         at org.apache.hadoop.hbase.regionserver.HRegionServer.get(HRegionServer.java:1739)
> This can happen if your table only has deletes, and everything evaporates during a major compaction.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (HBASE-1686) major compaction can create empty store files, causing AIOOB when trying to read

Posted by "stack (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-1686?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack reassigned HBASE-1686:
----------------------------

    Assignee: stack

> major compaction can create empty store files, causing AIOOB when trying to read
> --------------------------------------------------------------------------------
>
>                 Key: HBASE-1686
>                 URL: https://issues.apache.org/jira/browse/HBASE-1686
>             Project: Hadoop HBase
>          Issue Type: Bug
>    Affects Versions: 0.20.0
>            Reporter: ryan rawson
>            Assignee: stack
>            Priority: Blocker
>             Fix For: 0.20.0
>
>         Attachments: 1686.patch
>
>
> here is the backtrace:
> Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
>         at org.apache.hadoop.hbase.io.hfile.HFile$Reader.getFirstKey(HFile.java:991)
>         at org.apache.hadoop.hbase.regionserver.StoreFileGetScan.getStoreFile(StoreFileGetScan.java:84)
>         at org.apache.hadoop.hbase.regionserver.StoreFileGetScan.get(StoreFileGetScan.java:65)
>         at org.apache.hadoop.hbase.regionserver.Store.get(Store.java:1548)
>         at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:2263)
>         at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:2252)
>         at org.apache.hadoop.hbase.regionserver.HRegionServer.get(HRegionServer.java:1739)
> This can happen if your table only has deletes, and everything evaporates during a major compaction.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HBASE-1686) major compaction can create empty store files, causing AIOOB when trying to read

Posted by "stack (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-1686?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack updated HBASE-1686:
-------------------------

    Attachment: 1686.patch

Two fixes:
1. Make it so if hfile has no content, you can do basic functions like
getFirstKey and getLastKey without array out of bounds
2. If a major compaction results in no output because all cells
deleted or expired, don't write an output file.

M  src/test/org/apache/hadoop/hbase/regionserver/TestCompaction.java
  (testMajorCompactingToNoOutput): Compaction test that will produce
  no output -- all contents were deleted.
M  src/test/org/apache/hadoop/hbase/regionserver/TestStore.java
  (testEmptyStoreFile): Test to make sure things basically work
  if an empty store hfile under the Store
M src/test/org/apache/hadoop/hbase/io/hfile/TestHFile.java
  (testEmptyHFile): Test to make sure hfile basically works if
  no content.
M  src/java/org/apache/hadoop/hbase/regionserver/StoreFileGetScan.java
  Formatting and in getStoreFile, allow that getFirstKey may come
  back null.
M src/java/org/apache/hadoop/hbase/regionserver/Store.java
  (compact): Javadoc cleanup. Some minor formatting cleanup (compact
  needs to be moved out of here and into its own classes but thats
  too big a change this close to RC).  Made it so can handle a
  compaction producing no product.  Make the writer instantiation
  lazy. Tidied logging a little.
M  src/java/org/apache/hadoop/hbase/KeyValue.java
  (keyToString): Allow that passed byte may be null. E.g. printing
  the first and last key of an empty hfile.
M src/java/org/apache/hadoop/hbase/io/hfile/HFile.java
  Test index is empty before getting first and last key.
  Javadoc.

> major compaction can create empty store files, causing AIOOB when trying to read
> --------------------------------------------------------------------------------
>
>                 Key: HBASE-1686
>                 URL: https://issues.apache.org/jira/browse/HBASE-1686
>             Project: Hadoop HBase
>          Issue Type: Bug
>    Affects Versions: 0.20.0
>            Reporter: ryan rawson
>            Priority: Blocker
>             Fix For: 0.20.0
>
>         Attachments: 1686.patch
>
>
> here is the backtrace:
> Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
>         at org.apache.hadoop.hbase.io.hfile.HFile$Reader.getFirstKey(HFile.java:991)
>         at org.apache.hadoop.hbase.regionserver.StoreFileGetScan.getStoreFile(StoreFileGetScan.java:84)
>         at org.apache.hadoop.hbase.regionserver.StoreFileGetScan.get(StoreFileGetScan.java:65)
>         at org.apache.hadoop.hbase.regionserver.Store.get(Store.java:1548)
>         at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:2263)
>         at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:2252)
>         at org.apache.hadoop.hbase.regionserver.HRegionServer.get(HRegionServer.java:1739)
> This can happen if your table only has deletes, and everything evaporates during a major compaction.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HBASE-1686) major compaction can create empty store files, causing AIOOB when trying to read

Posted by "stack (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-1686?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack updated HBASE-1686:
-------------------------

    Status: Patch Available  (was: Open)

Patch available... needs review.

> major compaction can create empty store files, causing AIOOB when trying to read
> --------------------------------------------------------------------------------
>
>                 Key: HBASE-1686
>                 URL: https://issues.apache.org/jira/browse/HBASE-1686
>             Project: Hadoop HBase
>          Issue Type: Bug
>    Affects Versions: 0.20.0
>            Reporter: ryan rawson
>            Priority: Blocker
>             Fix For: 0.20.0
>
>         Attachments: 1686.patch
>
>
> here is the backtrace:
> Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
>         at org.apache.hadoop.hbase.io.hfile.HFile$Reader.getFirstKey(HFile.java:991)
>         at org.apache.hadoop.hbase.regionserver.StoreFileGetScan.getStoreFile(StoreFileGetScan.java:84)
>         at org.apache.hadoop.hbase.regionserver.StoreFileGetScan.get(StoreFileGetScan.java:65)
>         at org.apache.hadoop.hbase.regionserver.Store.get(Store.java:1548)
>         at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:2263)
>         at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:2252)
>         at org.apache.hadoop.hbase.regionserver.HRegionServer.get(HRegionServer.java:1739)
> This can happen if your table only has deletes, and everything evaporates during a major compaction.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HBASE-1686) major compaction can create empty store files, causing AIOOB when trying to read

Posted by "Manish Shah (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-1686?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12734864#action_12734864 ] 

Manish Shah commented on HBASE-1686:
------------------------------------

I'm curious about why this is caused by a table only having delete operations applied to it.  In our application we are not performing any deletes.  The functionality is that we do a GET on a row, update the contents of the record, and then a PUT back into the same table.  Am i missing something? What are you referring to by "table full of deletes" ?

> major compaction can create empty store files, causing AIOOB when trying to read
> --------------------------------------------------------------------------------
>
>                 Key: HBASE-1686
>                 URL: https://issues.apache.org/jira/browse/HBASE-1686
>             Project: Hadoop HBase
>          Issue Type: Bug
>    Affects Versions: 0.20.0
>            Reporter: ryan rawson
>            Priority: Blocker
>             Fix For: 0.20.0
>
>
> here is the backtrace:
> Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
>         at org.apache.hadoop.hbase.io.hfile.HFile$Reader.getFirstKey(HFile.java:991)
>         at org.apache.hadoop.hbase.regionserver.StoreFileGetScan.getStoreFile(StoreFileGetScan.java:84)
>         at org.apache.hadoop.hbase.regionserver.StoreFileGetScan.get(StoreFileGetScan.java:65)
>         at org.apache.hadoop.hbase.regionserver.Store.get(Store.java:1548)
>         at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:2263)
>         at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:2252)
>         at org.apache.hadoop.hbase.regionserver.HRegionServer.get(HRegionServer.java:1739)
> This can happen if your table only has deletes, and everything evaporates during a major compaction.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HBASE-1686) major compaction can create empty store files, causing AIOOB when trying to read

Posted by "ryan rawson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-1686?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12734659#action_12734659 ] 

ryan rawson commented on HBASE-1686:
------------------------------------

He has the client stack trace, you need to visit the server to get the one I
posted. Its probably the same cause.

On Jul 23, 2009 10:35 AM, "stack (JIRA)" <ji...@apache.org> wrote:


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

stack commented on HBASE-1686:
------------------------------

Manish at rapleaf ran into this issue too only in his case the stacktrace
was real ugly:

{code}
2009-07-21 00:00:29,996 INFO org.apache.hadoop.ipc.HBaseServer: IPC Server
handler 1 on 60020, call get([B@346e6b9c, row=^\^U^D^U^N^@^\^U^D^X^
Parrana88@aol.com^@^@, maxVersions=1, timeRange=[0,9223372036854775807),
families={(family=piston, columns=ALL}) from 10.100.48.4:35231: error:
java.io.IOException: java.lang.ArrayIndexOutOfBoundsException
java.io.IOException: java.lang.ArrayIndexOutOfBoundsException
   at
org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:832)
   at
org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:822)
   at
org.apache.hadoop.hbase.regionserver.HRegionServer.get(HRegionServer.java:1755)
   at sun.reflect.GeneratedMethodAccessor19.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.HBaseRPC$Server.call(HBaseRPC.java:650)
   at
org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:913)

Caused by: java.lang.ArrayIndexOutOfBoundsException
{code}

... and nothing else.

to read > --------------...


> major compaction can create empty store files, causing AIOOB when trying to read
> --------------------------------------------------------------------------------
>
>                 Key: HBASE-1686
>                 URL: https://issues.apache.org/jira/browse/HBASE-1686
>             Project: Hadoop HBase
>          Issue Type: Bug
>    Affects Versions: 0.20.0
>            Reporter: ryan rawson
>            Priority: Blocker
>             Fix For: 0.20.0
>
>
> here is the backtrace:
> Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
>         at org.apache.hadoop.hbase.io.hfile.HFile$Reader.getFirstKey(HFile.java:991)
>         at org.apache.hadoop.hbase.regionserver.StoreFileGetScan.getStoreFile(StoreFileGetScan.java:84)
>         at org.apache.hadoop.hbase.regionserver.StoreFileGetScan.get(StoreFileGetScan.java:65)
>         at org.apache.hadoop.hbase.regionserver.Store.get(Store.java:1548)
>         at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:2263)
>         at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:2252)
>         at org.apache.hadoop.hbase.regionserver.HRegionServer.get(HRegionServer.java:1739)
> This can happen if your table only has deletes, and everything evaporates during a major compaction.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.