You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Jonathan Hsieh (Created) (JIRA)" <ji...@apache.org> on 2012/04/20 01:08:40 UTC

[jira] [Created] (HBASE-5837) hbase shell deleteall to .META. allows insertion of malformed rowkey.

hbase shell deleteall to .META. allows insertion of malformed rowkey.
---------------------------------------------------------------------

                 Key: HBASE-5837
                 URL: https://issues.apache.org/jira/browse/HBASE-5837
             Project: HBase
          Issue Type: Bug
          Components: master, shell
    Affects Versions: 0.90.6
            Reporter: Jonathan Hsieh


When using the hbase shell to manipulate meta entries, one is allowed to 'delete' malformed rows (entries with less than 2 ascii 44 ',' chars).  When this happens HBase servers may go down and the cluster will not be restartable without manual intervention.  

The delete results in a durable malformed rowkey in .META.'s memstore, .META.'s HLog, and eventually .META.'s HFiles.  Subsequent scans to meta (such as when a HMaster starts) fail in the scanner because the comparator fails.  In the case of an HMaster startup, it causes an abort that kills the HMaster process.


{code}
12/04/18 22:07:34 FATAL master.HMaster: Unhandled exception. Starting shutdown.
org.apache.hadoop.ipc.RemoteException: java.io.IOException: java.lang.IllegalArgumentException: No 44 in <blah,1334744821162.81f2df35c332dd2d3bb966fb5b419568.>, length=47, offset=54
at org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:990)
at org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:979)
at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1894)
at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1834)
at sun.reflect.GeneratedMethodAccessor31.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:570)
at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1039)
Caused by: java.lang.IllegalArgumentException: No 44 in <blah,1334744821162.81f2df35c332dd2d3bb966fb5b419568.>, length=47, offset=54
at org.apache.hadoop.hbase.KeyValue.getRequiredDelimiterInReverse(KeyValue.java:1300)
at org.apache.hadoop.hbase.KeyValue$MetaKeyComparator.compareRows(KeyValue.java:1846)
at org.apache.hadoop.hbase.regionserver.ScanQueryMatcher.match(ScanQueryMatcher.java:130)
at org.apache.hadoop.hbase.regionserver.StoreScanner.next(StoreScanner.java:257)
at org.apache.hadoop.hbase.regionserver.KeyValueHeap.next(KeyValueHeap.java:114)
at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.nextInternal(HRegion.java:2435)
at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.next(HRegion.java:2391)
at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.next(HRegion.java:2408)
at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1870)
... 6 more

at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:771)
at org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:257)
at $Proxy9.next(Unknown Source)
at org.apache.hadoop.hbase.catalog.MetaReader.fullScan(MetaReader.java:264)
at org.apache.hadoop.hbase.catalog.MetaReader.fullScan(MetaReader.java:237)
at org.apache.hadoop.hbase.catalog.MetaReader.fullScanOfResults(MetaReader.java:220)
at org.apache.hadoop.hbase.master.AssignmentManager.rebuildUserRegions(AssignmentManager.java:1580)
at org.apache.hadoop.hbase.master.AssignmentManager.processFailover(AssignmentManager.java:221)
at org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:422)
at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:295)
12/04/18 22:07:34 INFO master.HMaster: Aborting 
{code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5837) hbase shell deleteall to .META. allows insertion of malformed rowkey.

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

Jonathan Hsieh commented on HBASE-5837:
---------------------------------------

Here's an example shell command that will leave you with a borked hbase:

{code}
deleteall '.META.', 'table,<not a comma>'
{code}

                
> hbase shell deleteall to .META. allows insertion of malformed rowkey.
> ---------------------------------------------------------------------
>
>                 Key: HBASE-5837
>                 URL: https://issues.apache.org/jira/browse/HBASE-5837
>             Project: HBase
>          Issue Type: Bug
>          Components: master, shell
>    Affects Versions: 0.90.6
>            Reporter: Jonathan Hsieh
>
> When using the hbase shell to manipulate meta entries, one is allowed to 'delete' malformed rows (entries with less than 2 ascii 44 ',' chars).  When this happens HBase servers may go down and the cluster will not be restartable without manual intervention.  
> The delete results in a durable malformed rowkey in .META.'s memstore, .META.'s HLog, and eventually .META.'s HFiles.  Subsequent scans to meta (such as when a HMaster starts) fail in the scanner because the comparator fails.  In the case of an HMaster startup, it causes an abort that kills the HMaster process.
> {code}
> 12/04/18 22:07:34 FATAL master.HMaster: Unhandled exception. Starting shutdown.
> org.apache.hadoop.ipc.RemoteException: java.io.IOException: java.lang.IllegalArgumentException: No 44 in <blah,1334744821162.81f2df35c332dd2d3bb966fb5b419568.>, length=47, offset=54
> at org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:990)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:979)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1894)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1834)
> at sun.reflect.GeneratedMethodAccessor31.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:570)
> at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1039)
> Caused by: java.lang.IllegalArgumentException: No 44 in <blah,1334744821162.81f2df35c332dd2d3bb966fb5b419568.>, length=47, offset=54
> at org.apache.hadoop.hbase.KeyValue.getRequiredDelimiterInReverse(KeyValue.java:1300)
> at org.apache.hadoop.hbase.KeyValue$MetaKeyComparator.compareRows(KeyValue.java:1846)
> at org.apache.hadoop.hbase.regionserver.ScanQueryMatcher.match(ScanQueryMatcher.java:130)
> at org.apache.hadoop.hbase.regionserver.StoreScanner.next(StoreScanner.java:257)
> at org.apache.hadoop.hbase.regionserver.KeyValueHeap.next(KeyValueHeap.java:114)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.nextInternal(HRegion.java:2435)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.next(HRegion.java:2391)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.next(HRegion.java:2408)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1870)
> ... 6 more
> at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:771)
> at org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:257)
> at $Proxy9.next(Unknown Source)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScan(MetaReader.java:264)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScan(MetaReader.java:237)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScanOfResults(MetaReader.java:220)
> at org.apache.hadoop.hbase.master.AssignmentManager.rebuildUserRegions(AssignmentManager.java:1580)
> at org.apache.hadoop.hbase.master.AssignmentManager.processFailover(AssignmentManager.java:221)
> at org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:422)
> at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:295)
> 12/04/18 22:07:34 INFO master.HMaster: Aborting 
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Assigned] (HBASE-5837) hbase shell deleteall to .META. allows insertion of malformed rowkey.

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

Jonathan Hsieh reassigned HBASE-5837:
-------------------------------------

    Assignee: Kevin Odell
    
> hbase shell deleteall to .META. allows insertion of malformed rowkey.
> ---------------------------------------------------------------------
>
>                 Key: HBASE-5837
>                 URL: https://issues.apache.org/jira/browse/HBASE-5837
>             Project: HBase
>          Issue Type: Bug
>          Components: master, shell
>    Affects Versions: 0.90.6
>            Reporter: Jonathan Hsieh
>            Assignee: Kevin Odell
>
> When using the hbase shell to manipulate meta entries, one is allowed to 'delete' malformed rows (entries with less than 2 ascii 44 ',' chars).  When this happens HBase servers may go down and the cluster will not be restartable without manual intervention.  
> The delete results in a durable malformed rowkey in .META.'s memstore, .META.'s HLog, and eventually .META.'s HFiles.  Subsequent scans to meta (such as when a HMaster starts) fail in the scanner because the comparator fails.  In the case of an HMaster startup, it causes an abort that kills the HMaster process.
> {code}
> 12/04/18 22:07:34 FATAL master.HMaster: Unhandled exception. Starting shutdown.
> org.apache.hadoop.ipc.RemoteException: java.io.IOException: java.lang.IllegalArgumentException: No 44 in <blah,1334744821162.81f2df35c332dd2d3bb966fb5b419568.>, length=47, offset=54
> at org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:990)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:979)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1894)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1834)
> at sun.reflect.GeneratedMethodAccessor31.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:570)
> at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1039)
> Caused by: java.lang.IllegalArgumentException: No 44 in <blah,1334744821162.81f2df35c332dd2d3bb966fb5b419568.>, length=47, offset=54
> at org.apache.hadoop.hbase.KeyValue.getRequiredDelimiterInReverse(KeyValue.java:1300)
> at org.apache.hadoop.hbase.KeyValue$MetaKeyComparator.compareRows(KeyValue.java:1846)
> at org.apache.hadoop.hbase.regionserver.ScanQueryMatcher.match(ScanQueryMatcher.java:130)
> at org.apache.hadoop.hbase.regionserver.StoreScanner.next(StoreScanner.java:257)
> at org.apache.hadoop.hbase.regionserver.KeyValueHeap.next(KeyValueHeap.java:114)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.nextInternal(HRegion.java:2435)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.next(HRegion.java:2391)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.next(HRegion.java:2408)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1870)
> ... 6 more
> at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:771)
> at org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:257)
> at $Proxy9.next(Unknown Source)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScan(MetaReader.java:264)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScan(MetaReader.java:237)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScanOfResults(MetaReader.java:220)
> at org.apache.hadoop.hbase.master.AssignmentManager.rebuildUserRegions(AssignmentManager.java:1580)
> at org.apache.hadoop.hbase.master.AssignmentManager.processFailover(AssignmentManager.java:221)
> at org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:422)
> at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:295)
> 12/04/18 22:07:34 INFO master.HMaster: Aborting 
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5837) hbase shell deleteall to .META. allows insertion of malformed rowkey.

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

Jimmy Xiang commented on HBASE-5837:
------------------------------------

+1 looks good to me.
                
> hbase shell deleteall to .META. allows insertion of malformed rowkey.
> ---------------------------------------------------------------------
>
>                 Key: HBASE-5837
>                 URL: https://issues.apache.org/jira/browse/HBASE-5837
>             Project: HBase
>          Issue Type: Bug
>          Components: master, shell
>    Affects Versions: 0.90.6, 0.96.0
>            Reporter: Jonathan Hsieh
>            Assignee: Ricky Saltzer
>             Fix For: 0.96.0
>
>         Attachments: HBASE-5837.patch
>
>
> When using the hbase shell to manipulate meta entries, one is allowed to 'delete' malformed rows (entries with less than 2 ascii 44 ',' chars).  When this happens HBase servers may go down and the cluster will not be restartable without manual intervention.  
> The delete results in a durable malformed rowkey in .META.'s memstore, .META.'s HLog, and eventually .META.'s HFiles.  Subsequent scans to meta (such as when a HMaster starts) fail in the scanner because the comparator fails.  In the case of an HMaster startup, it causes an abort that kills the HMaster process.
> {code}
> 12/04/18 22:07:34 FATAL master.HMaster: Unhandled exception. Starting shutdown.
> org.apache.hadoop.ipc.RemoteException: java.io.IOException: java.lang.IllegalArgumentException: No 44 in <blah,1334744821162.81f2df35c332dd2d3bb966fb5b419568.>, length=47, offset=54
> at org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:990)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:979)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1894)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1834)
> at sun.reflect.GeneratedMethodAccessor31.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:570)
> at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1039)
> Caused by: java.lang.IllegalArgumentException: No 44 in <blah,1334744821162.81f2df35c332dd2d3bb966fb5b419568.>, length=47, offset=54
> at org.apache.hadoop.hbase.KeyValue.getRequiredDelimiterInReverse(KeyValue.java:1300)
> at org.apache.hadoop.hbase.KeyValue$MetaKeyComparator.compareRows(KeyValue.java:1846)
> at org.apache.hadoop.hbase.regionserver.ScanQueryMatcher.match(ScanQueryMatcher.java:130)
> at org.apache.hadoop.hbase.regionserver.StoreScanner.next(StoreScanner.java:257)
> at org.apache.hadoop.hbase.regionserver.KeyValueHeap.next(KeyValueHeap.java:114)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.nextInternal(HRegion.java:2435)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.next(HRegion.java:2391)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.next(HRegion.java:2408)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1870)
> ... 6 more
> at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:771)
> at org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:257)
> at $Proxy9.next(Unknown Source)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScan(MetaReader.java:264)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScan(MetaReader.java:237)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScanOfResults(MetaReader.java:220)
> at org.apache.hadoop.hbase.master.AssignmentManager.rebuildUserRegions(AssignmentManager.java:1580)
> at org.apache.hadoop.hbase.master.AssignmentManager.processFailover(AssignmentManager.java:221)
> at org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:422)
> at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:295)
> 12/04/18 22:07:34 INFO master.HMaster: Aborting 
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5837) hbase shell deleteall to .META. allows insertion of malformed rowkey

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

Hudson commented on HBASE-5837:
-------------------------------

Integrated in HBase-TRUNK #3442 (See [https://builds.apache.org/job/HBase-TRUNK/3442/])
    HBASE-5837 hbase shell deleteall to .META. allows insertion of malformed rowkey (Ricky Saltzer) (Revision 1396857)

     Result = FAILURE
tedyu : 
Files : 
* /hbase/trunk/hbase-server/src/main/ruby/hbase/table.rb

                
> hbase shell deleteall to .META. allows insertion of malformed rowkey
> --------------------------------------------------------------------
>
>                 Key: HBASE-5837
>                 URL: https://issues.apache.org/jira/browse/HBASE-5837
>             Project: HBase
>          Issue Type: Bug
>          Components: master, shell
>    Affects Versions: 0.90.6, 0.96.0
>            Reporter: Jonathan Hsieh
>            Assignee: Ricky Saltzer
>             Fix For: 0.96.0
>
>         Attachments: HBASE-5837.patch
>
>
> When using the hbase shell to manipulate meta entries, one is allowed to 'delete' malformed rows (entries with less than 2 ascii 44 ',' chars).  When this happens HBase servers may go down and the cluster will not be restartable without manual intervention.  
> The delete results in a durable malformed rowkey in .META.'s memstore, .META.'s HLog, and eventually .META.'s HFiles.  Subsequent scans to meta (such as when a HMaster starts) fail in the scanner because the comparator fails.  In the case of an HMaster startup, it causes an abort that kills the HMaster process.
> {code}
> 12/04/18 22:07:34 FATAL master.HMaster: Unhandled exception. Starting shutdown.
> org.apache.hadoop.ipc.RemoteException: java.io.IOException: java.lang.IllegalArgumentException: No 44 in <blah,1334744821162.81f2df35c332dd2d3bb966fb5b419568.>, length=47, offset=54
> at org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:990)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:979)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1894)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1834)
> at sun.reflect.GeneratedMethodAccessor31.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:570)
> at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1039)
> Caused by: java.lang.IllegalArgumentException: No 44 in <blah,1334744821162.81f2df35c332dd2d3bb966fb5b419568.>, length=47, offset=54
> at org.apache.hadoop.hbase.KeyValue.getRequiredDelimiterInReverse(KeyValue.java:1300)
> at org.apache.hadoop.hbase.KeyValue$MetaKeyComparator.compareRows(KeyValue.java:1846)
> at org.apache.hadoop.hbase.regionserver.ScanQueryMatcher.match(ScanQueryMatcher.java:130)
> at org.apache.hadoop.hbase.regionserver.StoreScanner.next(StoreScanner.java:257)
> at org.apache.hadoop.hbase.regionserver.KeyValueHeap.next(KeyValueHeap.java:114)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.nextInternal(HRegion.java:2435)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.next(HRegion.java:2391)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.next(HRegion.java:2408)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1870)
> ... 6 more
> at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:771)
> at org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:257)
> at $Proxy9.next(Unknown Source)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScan(MetaReader.java:264)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScan(MetaReader.java:237)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScanOfResults(MetaReader.java:220)
> at org.apache.hadoop.hbase.master.AssignmentManager.rebuildUserRegions(AssignmentManager.java:1580)
> at org.apache.hadoop.hbase.master.AssignmentManager.processFailover(AssignmentManager.java:221)
> at org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:422)
> at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:295)
> 12/04/18 22:07:34 INFO master.HMaster: Aborting 
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5837) hbase shell deleteall to .META. allows insertion of malformed rowkey

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

Hudson commented on HBASE-5837:
-------------------------------

Integrated in HBase-TRUNK-on-Hadoop-2.0.0 #217 (See [https://builds.apache.org/job/HBase-TRUNK-on-Hadoop-2.0.0/217/])
    HBASE-5837 hbase shell deleteall to .META. allows insertion of malformed rowkey (Ricky Saltzer) (Revision 1396857)

     Result = FAILURE
tedyu : 
Files : 
* /hbase/trunk/hbase-server/src/main/ruby/hbase/table.rb

                
> hbase shell deleteall to .META. allows insertion of malformed rowkey
> --------------------------------------------------------------------
>
>                 Key: HBASE-5837
>                 URL: https://issues.apache.org/jira/browse/HBASE-5837
>             Project: HBase
>          Issue Type: Bug
>          Components: master, shell
>    Affects Versions: 0.90.6, 0.96.0
>            Reporter: Jonathan Hsieh
>            Assignee: Ricky Saltzer
>             Fix For: 0.96.0
>
>         Attachments: HBASE-5837.patch
>
>
> When using the hbase shell to manipulate meta entries, one is allowed to 'delete' malformed rows (entries with less than 2 ascii 44 ',' chars).  When this happens HBase servers may go down and the cluster will not be restartable without manual intervention.  
> The delete results in a durable malformed rowkey in .META.'s memstore, .META.'s HLog, and eventually .META.'s HFiles.  Subsequent scans to meta (such as when a HMaster starts) fail in the scanner because the comparator fails.  In the case of an HMaster startup, it causes an abort that kills the HMaster process.
> {code}
> 12/04/18 22:07:34 FATAL master.HMaster: Unhandled exception. Starting shutdown.
> org.apache.hadoop.ipc.RemoteException: java.io.IOException: java.lang.IllegalArgumentException: No 44 in <blah,1334744821162.81f2df35c332dd2d3bb966fb5b419568.>, length=47, offset=54
> at org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:990)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:979)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1894)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1834)
> at sun.reflect.GeneratedMethodAccessor31.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:570)
> at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1039)
> Caused by: java.lang.IllegalArgumentException: No 44 in <blah,1334744821162.81f2df35c332dd2d3bb966fb5b419568.>, length=47, offset=54
> at org.apache.hadoop.hbase.KeyValue.getRequiredDelimiterInReverse(KeyValue.java:1300)
> at org.apache.hadoop.hbase.KeyValue$MetaKeyComparator.compareRows(KeyValue.java:1846)
> at org.apache.hadoop.hbase.regionserver.ScanQueryMatcher.match(ScanQueryMatcher.java:130)
> at org.apache.hadoop.hbase.regionserver.StoreScanner.next(StoreScanner.java:257)
> at org.apache.hadoop.hbase.regionserver.KeyValueHeap.next(KeyValueHeap.java:114)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.nextInternal(HRegion.java:2435)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.next(HRegion.java:2391)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.next(HRegion.java:2408)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1870)
> ... 6 more
> at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:771)
> at org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:257)
> at $Proxy9.next(Unknown Source)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScan(MetaReader.java:264)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScan(MetaReader.java:237)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScanOfResults(MetaReader.java:220)
> at org.apache.hadoop.hbase.master.AssignmentManager.rebuildUserRegions(AssignmentManager.java:1580)
> at org.apache.hadoop.hbase.master.AssignmentManager.processFailover(AssignmentManager.java:221)
> at org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:422)
> at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:295)
> 12/04/18 22:07:34 INFO master.HMaster: Aborting 
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-5837) hbase shell deleteall to .META. allows insertion of malformed rowkey.

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

Ricky Saltzer updated HBASE-5837:
---------------------------------

    Assignee: Ricky Saltzer
    
> hbase shell deleteall to .META. allows insertion of malformed rowkey.
> ---------------------------------------------------------------------
>
>                 Key: HBASE-5837
>                 URL: https://issues.apache.org/jira/browse/HBASE-5837
>             Project: HBase
>          Issue Type: Bug
>          Components: master, shell
>    Affects Versions: 0.90.6
>            Reporter: Jonathan Hsieh
>            Assignee: Ricky Saltzer
>         Attachments: HBASE-5837.patch
>
>
> When using the hbase shell to manipulate meta entries, one is allowed to 'delete' malformed rows (entries with less than 2 ascii 44 ',' chars).  When this happens HBase servers may go down and the cluster will not be restartable without manual intervention.  
> The delete results in a durable malformed rowkey in .META.'s memstore, .META.'s HLog, and eventually .META.'s HFiles.  Subsequent scans to meta (such as when a HMaster starts) fail in the scanner because the comparator fails.  In the case of an HMaster startup, it causes an abort that kills the HMaster process.
> {code}
> 12/04/18 22:07:34 FATAL master.HMaster: Unhandled exception. Starting shutdown.
> org.apache.hadoop.ipc.RemoteException: java.io.IOException: java.lang.IllegalArgumentException: No 44 in <blah,1334744821162.81f2df35c332dd2d3bb966fb5b419568.>, length=47, offset=54
> at org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:990)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:979)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1894)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1834)
> at sun.reflect.GeneratedMethodAccessor31.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:570)
> at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1039)
> Caused by: java.lang.IllegalArgumentException: No 44 in <blah,1334744821162.81f2df35c332dd2d3bb966fb5b419568.>, length=47, offset=54
> at org.apache.hadoop.hbase.KeyValue.getRequiredDelimiterInReverse(KeyValue.java:1300)
> at org.apache.hadoop.hbase.KeyValue$MetaKeyComparator.compareRows(KeyValue.java:1846)
> at org.apache.hadoop.hbase.regionserver.ScanQueryMatcher.match(ScanQueryMatcher.java:130)
> at org.apache.hadoop.hbase.regionserver.StoreScanner.next(StoreScanner.java:257)
> at org.apache.hadoop.hbase.regionserver.KeyValueHeap.next(KeyValueHeap.java:114)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.nextInternal(HRegion.java:2435)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.next(HRegion.java:2391)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.next(HRegion.java:2408)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1870)
> ... 6 more
> at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:771)
> at org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:257)
> at $Proxy9.next(Unknown Source)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScan(MetaReader.java:264)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScan(MetaReader.java:237)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScanOfResults(MetaReader.java:220)
> at org.apache.hadoop.hbase.master.AssignmentManager.rebuildUserRegions(AssignmentManager.java:1580)
> at org.apache.hadoop.hbase.master.AssignmentManager.processFailover(AssignmentManager.java:221)
> at org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:422)
> at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:295)
> 12/04/18 22:07:34 INFO master.HMaster: Aborting 
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-5837) hbase shell deleteall to .META. allows insertion of malformed rowkey.

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

Ricky Saltzer updated HBASE-5837:
---------------------------------

        Fix Version/s: 0.96.0
    Affects Version/s: 0.96.0
               Status: Patch Available  (was: Open)

I made a change in hbase-server/src/main/ruby/hbase/table.rb which checks to make sure a row exists before proceeding with deleting it. I've confirmed it works in standalone mode. 
                
> hbase shell deleteall to .META. allows insertion of malformed rowkey.
> ---------------------------------------------------------------------
>
>                 Key: HBASE-5837
>                 URL: https://issues.apache.org/jira/browse/HBASE-5837
>             Project: HBase
>          Issue Type: Bug
>          Components: master, shell
>    Affects Versions: 0.90.6, 0.96.0
>            Reporter: Jonathan Hsieh
>            Assignee: Ricky Saltzer
>             Fix For: 0.96.0
>
>         Attachments: HBASE-5837.patch
>
>
> When using the hbase shell to manipulate meta entries, one is allowed to 'delete' malformed rows (entries with less than 2 ascii 44 ',' chars).  When this happens HBase servers may go down and the cluster will not be restartable without manual intervention.  
> The delete results in a durable malformed rowkey in .META.'s memstore, .META.'s HLog, and eventually .META.'s HFiles.  Subsequent scans to meta (such as when a HMaster starts) fail in the scanner because the comparator fails.  In the case of an HMaster startup, it causes an abort that kills the HMaster process.
> {code}
> 12/04/18 22:07:34 FATAL master.HMaster: Unhandled exception. Starting shutdown.
> org.apache.hadoop.ipc.RemoteException: java.io.IOException: java.lang.IllegalArgumentException: No 44 in <blah,1334744821162.81f2df35c332dd2d3bb966fb5b419568.>, length=47, offset=54
> at org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:990)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:979)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1894)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1834)
> at sun.reflect.GeneratedMethodAccessor31.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:570)
> at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1039)
> Caused by: java.lang.IllegalArgumentException: No 44 in <blah,1334744821162.81f2df35c332dd2d3bb966fb5b419568.>, length=47, offset=54
> at org.apache.hadoop.hbase.KeyValue.getRequiredDelimiterInReverse(KeyValue.java:1300)
> at org.apache.hadoop.hbase.KeyValue$MetaKeyComparator.compareRows(KeyValue.java:1846)
> at org.apache.hadoop.hbase.regionserver.ScanQueryMatcher.match(ScanQueryMatcher.java:130)
> at org.apache.hadoop.hbase.regionserver.StoreScanner.next(StoreScanner.java:257)
> at org.apache.hadoop.hbase.regionserver.KeyValueHeap.next(KeyValueHeap.java:114)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.nextInternal(HRegion.java:2435)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.next(HRegion.java:2391)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.next(HRegion.java:2408)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1870)
> ... 6 more
> at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:771)
> at org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:257)
> at $Proxy9.next(Unknown Source)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScan(MetaReader.java:264)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScan(MetaReader.java:237)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScanOfResults(MetaReader.java:220)
> at org.apache.hadoop.hbase.master.AssignmentManager.rebuildUserRegions(AssignmentManager.java:1580)
> at org.apache.hadoop.hbase.master.AssignmentManager.processFailover(AssignmentManager.java:221)
> at org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:422)
> at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:295)
> 12/04/18 22:07:34 INFO master.HMaster: Aborting 
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-5837) hbase shell deleteall to .META. allows insertion of malformed rowkey

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

Ted Yu updated HBASE-5837:
--------------------------

    Summary: hbase shell deleteall to .META. allows insertion of malformed rowkey  (was: hbase shell deleteall to .META. allows insertion of malformed rowkey.)
    
> hbase shell deleteall to .META. allows insertion of malformed rowkey
> --------------------------------------------------------------------
>
>                 Key: HBASE-5837
>                 URL: https://issues.apache.org/jira/browse/HBASE-5837
>             Project: HBase
>          Issue Type: Bug
>          Components: master, shell
>    Affects Versions: 0.90.6, 0.96.0
>            Reporter: Jonathan Hsieh
>            Assignee: Ricky Saltzer
>             Fix For: 0.96.0
>
>         Attachments: HBASE-5837.patch
>
>
> When using the hbase shell to manipulate meta entries, one is allowed to 'delete' malformed rows (entries with less than 2 ascii 44 ',' chars).  When this happens HBase servers may go down and the cluster will not be restartable without manual intervention.  
> The delete results in a durable malformed rowkey in .META.'s memstore, .META.'s HLog, and eventually .META.'s HFiles.  Subsequent scans to meta (such as when a HMaster starts) fail in the scanner because the comparator fails.  In the case of an HMaster startup, it causes an abort that kills the HMaster process.
> {code}
> 12/04/18 22:07:34 FATAL master.HMaster: Unhandled exception. Starting shutdown.
> org.apache.hadoop.ipc.RemoteException: java.io.IOException: java.lang.IllegalArgumentException: No 44 in <blah,1334744821162.81f2df35c332dd2d3bb966fb5b419568.>, length=47, offset=54
> at org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:990)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:979)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1894)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1834)
> at sun.reflect.GeneratedMethodAccessor31.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:570)
> at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1039)
> Caused by: java.lang.IllegalArgumentException: No 44 in <blah,1334744821162.81f2df35c332dd2d3bb966fb5b419568.>, length=47, offset=54
> at org.apache.hadoop.hbase.KeyValue.getRequiredDelimiterInReverse(KeyValue.java:1300)
> at org.apache.hadoop.hbase.KeyValue$MetaKeyComparator.compareRows(KeyValue.java:1846)
> at org.apache.hadoop.hbase.regionserver.ScanQueryMatcher.match(ScanQueryMatcher.java:130)
> at org.apache.hadoop.hbase.regionserver.StoreScanner.next(StoreScanner.java:257)
> at org.apache.hadoop.hbase.regionserver.KeyValueHeap.next(KeyValueHeap.java:114)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.nextInternal(HRegion.java:2435)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.next(HRegion.java:2391)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.next(HRegion.java:2408)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1870)
> ... 6 more
> at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:771)
> at org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:257)
> at $Proxy9.next(Unknown Source)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScan(MetaReader.java:264)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScan(MetaReader.java:237)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScanOfResults(MetaReader.java:220)
> at org.apache.hadoop.hbase.master.AssignmentManager.rebuildUserRegions(AssignmentManager.java:1580)
> at org.apache.hadoop.hbase.master.AssignmentManager.processFailover(AssignmentManager.java:221)
> at org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:422)
> at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:295)
> 12/04/18 22:07:34 INFO master.HMaster: Aborting 
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5837) hbase shell deleteall to .META. allows insertion of malformed rowkey.

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

Hadoop QA commented on HBASE-5837:
----------------------------------

{color:red}-1 overall{color}.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12548636/HBASE-5837.patch
  against trunk revision .

    {color:green}+1 @author{color}.  The patch does not contain any @author tags.

    {color:red}-1 tests included{color}.  The patch doesn't appear to include any new or modified tests.
                        Please justify why no new tests are needed for this patch.
                        Also please list what manual steps were performed to verify this patch.

    {color:green}+1 hadoop2.0{color}.  The patch compiles against the hadoop 2.0 profile.

    {color:red}-1 javadoc{color}.  The javadoc tool appears to have generated 81 warning messages.

    {color:green}+1 javac{color}.  The applied patch does not increase the total number of javac compiler warnings.

    {color:red}-1 findbugs{color}.  The patch appears to introduce 5 new Findbugs (version 1.3.9) warnings.

    {color:green}+1 release audit{color}.  The applied patch does not increase the total number of release audit warnings.

    {color:green}+1 core tests{color}.  The patch passed unit tests in .

Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/3029//testReport/
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3029//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3029//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3029//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3029//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3029//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/3029//console

This message is automatically generated.
                
> hbase shell deleteall to .META. allows insertion of malformed rowkey.
> ---------------------------------------------------------------------
>
>                 Key: HBASE-5837
>                 URL: https://issues.apache.org/jira/browse/HBASE-5837
>             Project: HBase
>          Issue Type: Bug
>          Components: master, shell
>    Affects Versions: 0.90.6, 0.96.0
>            Reporter: Jonathan Hsieh
>            Assignee: Ricky Saltzer
>             Fix For: 0.96.0
>
>         Attachments: HBASE-5837.patch
>
>
> When using the hbase shell to manipulate meta entries, one is allowed to 'delete' malformed rows (entries with less than 2 ascii 44 ',' chars).  When this happens HBase servers may go down and the cluster will not be restartable without manual intervention.  
> The delete results in a durable malformed rowkey in .META.'s memstore, .META.'s HLog, and eventually .META.'s HFiles.  Subsequent scans to meta (such as when a HMaster starts) fail in the scanner because the comparator fails.  In the case of an HMaster startup, it causes an abort that kills the HMaster process.
> {code}
> 12/04/18 22:07:34 FATAL master.HMaster: Unhandled exception. Starting shutdown.
> org.apache.hadoop.ipc.RemoteException: java.io.IOException: java.lang.IllegalArgumentException: No 44 in <blah,1334744821162.81f2df35c332dd2d3bb966fb5b419568.>, length=47, offset=54
> at org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:990)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:979)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1894)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1834)
> at sun.reflect.GeneratedMethodAccessor31.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:570)
> at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1039)
> Caused by: java.lang.IllegalArgumentException: No 44 in <blah,1334744821162.81f2df35c332dd2d3bb966fb5b419568.>, length=47, offset=54
> at org.apache.hadoop.hbase.KeyValue.getRequiredDelimiterInReverse(KeyValue.java:1300)
> at org.apache.hadoop.hbase.KeyValue$MetaKeyComparator.compareRows(KeyValue.java:1846)
> at org.apache.hadoop.hbase.regionserver.ScanQueryMatcher.match(ScanQueryMatcher.java:130)
> at org.apache.hadoop.hbase.regionserver.StoreScanner.next(StoreScanner.java:257)
> at org.apache.hadoop.hbase.regionserver.KeyValueHeap.next(KeyValueHeap.java:114)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.nextInternal(HRegion.java:2435)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.next(HRegion.java:2391)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.next(HRegion.java:2408)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1870)
> ... 6 more
> at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:771)
> at org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:257)
> at $Proxy9.next(Unknown Source)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScan(MetaReader.java:264)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScan(MetaReader.java:237)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScanOfResults(MetaReader.java:220)
> at org.apache.hadoop.hbase.master.AssignmentManager.rebuildUserRegions(AssignmentManager.java:1580)
> at org.apache.hadoop.hbase.master.AssignmentManager.processFailover(AssignmentManager.java:221)
> at org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:422)
> at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:295)
> 12/04/18 22:07:34 INFO master.HMaster: Aborting 
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5837) hbase shell deleteall to .META. allows insertion of malformed rowkey.

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

Kevin Odell commented on HBASE-5837:
------------------------------------

I am working on a patch for this.
                
> hbase shell deleteall to .META. allows insertion of malformed rowkey.
> ---------------------------------------------------------------------
>
>                 Key: HBASE-5837
>                 URL: https://issues.apache.org/jira/browse/HBASE-5837
>             Project: HBase
>          Issue Type: Bug
>          Components: master, shell
>    Affects Versions: 0.90.6
>            Reporter: Jonathan Hsieh
>
> When using the hbase shell to manipulate meta entries, one is allowed to 'delete' malformed rows (entries with less than 2 ascii 44 ',' chars).  When this happens HBase servers may go down and the cluster will not be restartable without manual intervention.  
> The delete results in a durable malformed rowkey in .META.'s memstore, .META.'s HLog, and eventually .META.'s HFiles.  Subsequent scans to meta (such as when a HMaster starts) fail in the scanner because the comparator fails.  In the case of an HMaster startup, it causes an abort that kills the HMaster process.
> {code}
> 12/04/18 22:07:34 FATAL master.HMaster: Unhandled exception. Starting shutdown.
> org.apache.hadoop.ipc.RemoteException: java.io.IOException: java.lang.IllegalArgumentException: No 44 in <blah,1334744821162.81f2df35c332dd2d3bb966fb5b419568.>, length=47, offset=54
> at org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:990)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:979)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1894)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1834)
> at sun.reflect.GeneratedMethodAccessor31.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:570)
> at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1039)
> Caused by: java.lang.IllegalArgumentException: No 44 in <blah,1334744821162.81f2df35c332dd2d3bb966fb5b419568.>, length=47, offset=54
> at org.apache.hadoop.hbase.KeyValue.getRequiredDelimiterInReverse(KeyValue.java:1300)
> at org.apache.hadoop.hbase.KeyValue$MetaKeyComparator.compareRows(KeyValue.java:1846)
> at org.apache.hadoop.hbase.regionserver.ScanQueryMatcher.match(ScanQueryMatcher.java:130)
> at org.apache.hadoop.hbase.regionserver.StoreScanner.next(StoreScanner.java:257)
> at org.apache.hadoop.hbase.regionserver.KeyValueHeap.next(KeyValueHeap.java:114)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.nextInternal(HRegion.java:2435)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.next(HRegion.java:2391)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.next(HRegion.java:2408)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1870)
> ... 6 more
> at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:771)
> at org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:257)
> at $Proxy9.next(Unknown Source)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScan(MetaReader.java:264)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScan(MetaReader.java:237)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScanOfResults(MetaReader.java:220)
> at org.apache.hadoop.hbase.master.AssignmentManager.rebuildUserRegions(AssignmentManager.java:1580)
> at org.apache.hadoop.hbase.master.AssignmentManager.processFailover(AssignmentManager.java:221)
> at org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:422)
> at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:295)
> 12/04/18 22:07:34 INFO master.HMaster: Aborting 
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-5837) hbase shell deleteall to .META. allows insertion of malformed rowkey

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

Ted Yu updated HBASE-5837:
--------------------------

      Resolution: Fixed
    Hadoop Flags: Reviewed
          Status: Resolved  (was: Patch Available)

Integrated to trunk.

Thanks for the patch, Ricky.

Thanks for the review, Jimmy.
                
> hbase shell deleteall to .META. allows insertion of malformed rowkey
> --------------------------------------------------------------------
>
>                 Key: HBASE-5837
>                 URL: https://issues.apache.org/jira/browse/HBASE-5837
>             Project: HBase
>          Issue Type: Bug
>          Components: master, shell
>    Affects Versions: 0.90.6, 0.96.0
>            Reporter: Jonathan Hsieh
>            Assignee: Ricky Saltzer
>             Fix For: 0.96.0
>
>         Attachments: HBASE-5837.patch
>
>
> When using the hbase shell to manipulate meta entries, one is allowed to 'delete' malformed rows (entries with less than 2 ascii 44 ',' chars).  When this happens HBase servers may go down and the cluster will not be restartable without manual intervention.  
> The delete results in a durable malformed rowkey in .META.'s memstore, .META.'s HLog, and eventually .META.'s HFiles.  Subsequent scans to meta (such as when a HMaster starts) fail in the scanner because the comparator fails.  In the case of an HMaster startup, it causes an abort that kills the HMaster process.
> {code}
> 12/04/18 22:07:34 FATAL master.HMaster: Unhandled exception. Starting shutdown.
> org.apache.hadoop.ipc.RemoteException: java.io.IOException: java.lang.IllegalArgumentException: No 44 in <blah,1334744821162.81f2df35c332dd2d3bb966fb5b419568.>, length=47, offset=54
> at org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:990)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:979)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1894)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1834)
> at sun.reflect.GeneratedMethodAccessor31.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:570)
> at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1039)
> Caused by: java.lang.IllegalArgumentException: No 44 in <blah,1334744821162.81f2df35c332dd2d3bb966fb5b419568.>, length=47, offset=54
> at org.apache.hadoop.hbase.KeyValue.getRequiredDelimiterInReverse(KeyValue.java:1300)
> at org.apache.hadoop.hbase.KeyValue$MetaKeyComparator.compareRows(KeyValue.java:1846)
> at org.apache.hadoop.hbase.regionserver.ScanQueryMatcher.match(ScanQueryMatcher.java:130)
> at org.apache.hadoop.hbase.regionserver.StoreScanner.next(StoreScanner.java:257)
> at org.apache.hadoop.hbase.regionserver.KeyValueHeap.next(KeyValueHeap.java:114)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.nextInternal(HRegion.java:2435)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.next(HRegion.java:2391)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.next(HRegion.java:2408)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1870)
> ... 6 more
> at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:771)
> at org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:257)
> at $Proxy9.next(Unknown Source)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScan(MetaReader.java:264)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScan(MetaReader.java:237)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScanOfResults(MetaReader.java:220)
> at org.apache.hadoop.hbase.master.AssignmentManager.rebuildUserRegions(AssignmentManager.java:1580)
> at org.apache.hadoop.hbase.master.AssignmentManager.processFailover(AssignmentManager.java:221)
> at org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:422)
> at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:295)
> 12/04/18 22:07:34 INFO master.HMaster: Aborting 
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-5837) hbase shell deleteall to .META. allows insertion of malformed rowkey.

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

Kevin Odell updated HBASE-5837:
-------------------------------

    Assignee:     (was: Kevin Odell)
    
> hbase shell deleteall to .META. allows insertion of malformed rowkey.
> ---------------------------------------------------------------------
>
>                 Key: HBASE-5837
>                 URL: https://issues.apache.org/jira/browse/HBASE-5837
>             Project: HBase
>          Issue Type: Bug
>          Components: master, shell
>    Affects Versions: 0.90.6
>            Reporter: Jonathan Hsieh
>
> When using the hbase shell to manipulate meta entries, one is allowed to 'delete' malformed rows (entries with less than 2 ascii 44 ',' chars).  When this happens HBase servers may go down and the cluster will not be restartable without manual intervention.  
> The delete results in a durable malformed rowkey in .META.'s memstore, .META.'s HLog, and eventually .META.'s HFiles.  Subsequent scans to meta (such as when a HMaster starts) fail in the scanner because the comparator fails.  In the case of an HMaster startup, it causes an abort that kills the HMaster process.
> {code}
> 12/04/18 22:07:34 FATAL master.HMaster: Unhandled exception. Starting shutdown.
> org.apache.hadoop.ipc.RemoteException: java.io.IOException: java.lang.IllegalArgumentException: No 44 in <blah,1334744821162.81f2df35c332dd2d3bb966fb5b419568.>, length=47, offset=54
> at org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:990)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:979)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1894)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1834)
> at sun.reflect.GeneratedMethodAccessor31.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:570)
> at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1039)
> Caused by: java.lang.IllegalArgumentException: No 44 in <blah,1334744821162.81f2df35c332dd2d3bb966fb5b419568.>, length=47, offset=54
> at org.apache.hadoop.hbase.KeyValue.getRequiredDelimiterInReverse(KeyValue.java:1300)
> at org.apache.hadoop.hbase.KeyValue$MetaKeyComparator.compareRows(KeyValue.java:1846)
> at org.apache.hadoop.hbase.regionserver.ScanQueryMatcher.match(ScanQueryMatcher.java:130)
> at org.apache.hadoop.hbase.regionserver.StoreScanner.next(StoreScanner.java:257)
> at org.apache.hadoop.hbase.regionserver.KeyValueHeap.next(KeyValueHeap.java:114)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.nextInternal(HRegion.java:2435)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.next(HRegion.java:2391)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.next(HRegion.java:2408)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1870)
> ... 6 more
> at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:771)
> at org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:257)
> at $Proxy9.next(Unknown Source)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScan(MetaReader.java:264)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScan(MetaReader.java:237)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScanOfResults(MetaReader.java:220)
> at org.apache.hadoop.hbase.master.AssignmentManager.rebuildUserRegions(AssignmentManager.java:1580)
> at org.apache.hadoop.hbase.master.AssignmentManager.processFailover(AssignmentManager.java:221)
> at org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:422)
> at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:295)
> 12/04/18 22:07:34 INFO master.HMaster: Aborting 
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-5837) hbase shell deleteall to .META. allows insertion of malformed rowkey.

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

Ricky Saltzer updated HBASE-5837:
---------------------------------

    Attachment: HBASE-5837.patch
    
> hbase shell deleteall to .META. allows insertion of malformed rowkey.
> ---------------------------------------------------------------------
>
>                 Key: HBASE-5837
>                 URL: https://issues.apache.org/jira/browse/HBASE-5837
>             Project: HBase
>          Issue Type: Bug
>          Components: master, shell
>    Affects Versions: 0.90.6
>            Reporter: Jonathan Hsieh
>            Assignee: Ricky Saltzer
>         Attachments: HBASE-5837.patch
>
>
> When using the hbase shell to manipulate meta entries, one is allowed to 'delete' malformed rows (entries with less than 2 ascii 44 ',' chars).  When this happens HBase servers may go down and the cluster will not be restartable without manual intervention.  
> The delete results in a durable malformed rowkey in .META.'s memstore, .META.'s HLog, and eventually .META.'s HFiles.  Subsequent scans to meta (such as when a HMaster starts) fail in the scanner because the comparator fails.  In the case of an HMaster startup, it causes an abort that kills the HMaster process.
> {code}
> 12/04/18 22:07:34 FATAL master.HMaster: Unhandled exception. Starting shutdown.
> org.apache.hadoop.ipc.RemoteException: java.io.IOException: java.lang.IllegalArgumentException: No 44 in <blah,1334744821162.81f2df35c332dd2d3bb966fb5b419568.>, length=47, offset=54
> at org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:990)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:979)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1894)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1834)
> at sun.reflect.GeneratedMethodAccessor31.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:570)
> at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1039)
> Caused by: java.lang.IllegalArgumentException: No 44 in <blah,1334744821162.81f2df35c332dd2d3bb966fb5b419568.>, length=47, offset=54
> at org.apache.hadoop.hbase.KeyValue.getRequiredDelimiterInReverse(KeyValue.java:1300)
> at org.apache.hadoop.hbase.KeyValue$MetaKeyComparator.compareRows(KeyValue.java:1846)
> at org.apache.hadoop.hbase.regionserver.ScanQueryMatcher.match(ScanQueryMatcher.java:130)
> at org.apache.hadoop.hbase.regionserver.StoreScanner.next(StoreScanner.java:257)
> at org.apache.hadoop.hbase.regionserver.KeyValueHeap.next(KeyValueHeap.java:114)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.nextInternal(HRegion.java:2435)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.next(HRegion.java:2391)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.next(HRegion.java:2408)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1870)
> ... 6 more
> at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:771)
> at org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:257)
> at $Proxy9.next(Unknown Source)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScan(MetaReader.java:264)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScan(MetaReader.java:237)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScanOfResults(MetaReader.java:220)
> at org.apache.hadoop.hbase.master.AssignmentManager.rebuildUserRegions(AssignmentManager.java:1580)
> at org.apache.hadoop.hbase.master.AssignmentManager.processFailover(AssignmentManager.java:221)
> at org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:422)
> at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:295)
> 12/04/18 22:07:34 INFO master.HMaster: Aborting 
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5837) hbase shell deleteall to .META. allows insertion of malformed rowkey.

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

Ricky Saltzer commented on HBASE-5837:
--------------------------------------

I've created a patch which adds checks to make sure a row exists before performing a delete on it. 
                
> hbase shell deleteall to .META. allows insertion of malformed rowkey.
> ---------------------------------------------------------------------
>
>                 Key: HBASE-5837
>                 URL: https://issues.apache.org/jira/browse/HBASE-5837
>             Project: HBase
>          Issue Type: Bug
>          Components: master, shell
>    Affects Versions: 0.90.6
>            Reporter: Jonathan Hsieh
>            Assignee: Ricky Saltzer
>         Attachments: HBASE-5837.patch
>
>
> When using the hbase shell to manipulate meta entries, one is allowed to 'delete' malformed rows (entries with less than 2 ascii 44 ',' chars).  When this happens HBase servers may go down and the cluster will not be restartable without manual intervention.  
> The delete results in a durable malformed rowkey in .META.'s memstore, .META.'s HLog, and eventually .META.'s HFiles.  Subsequent scans to meta (such as when a HMaster starts) fail in the scanner because the comparator fails.  In the case of an HMaster startup, it causes an abort that kills the HMaster process.
> {code}
> 12/04/18 22:07:34 FATAL master.HMaster: Unhandled exception. Starting shutdown.
> org.apache.hadoop.ipc.RemoteException: java.io.IOException: java.lang.IllegalArgumentException: No 44 in <blah,1334744821162.81f2df35c332dd2d3bb966fb5b419568.>, length=47, offset=54
> at org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:990)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:979)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1894)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1834)
> at sun.reflect.GeneratedMethodAccessor31.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:570)
> at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1039)
> Caused by: java.lang.IllegalArgumentException: No 44 in <blah,1334744821162.81f2df35c332dd2d3bb966fb5b419568.>, length=47, offset=54
> at org.apache.hadoop.hbase.KeyValue.getRequiredDelimiterInReverse(KeyValue.java:1300)
> at org.apache.hadoop.hbase.KeyValue$MetaKeyComparator.compareRows(KeyValue.java:1846)
> at org.apache.hadoop.hbase.regionserver.ScanQueryMatcher.match(ScanQueryMatcher.java:130)
> at org.apache.hadoop.hbase.regionserver.StoreScanner.next(StoreScanner.java:257)
> at org.apache.hadoop.hbase.regionserver.KeyValueHeap.next(KeyValueHeap.java:114)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.nextInternal(HRegion.java:2435)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.next(HRegion.java:2391)
> at org.apache.hadoop.hbase.regionserver.HRegion$RegionScanner.next(HRegion.java:2408)
> at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1870)
> ... 6 more
> at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:771)
> at org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:257)
> at $Proxy9.next(Unknown Source)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScan(MetaReader.java:264)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScan(MetaReader.java:237)
> at org.apache.hadoop.hbase.catalog.MetaReader.fullScanOfResults(MetaReader.java:220)
> at org.apache.hadoop.hbase.master.AssignmentManager.rebuildUserRegions(AssignmentManager.java:1580)
> at org.apache.hadoop.hbase.master.AssignmentManager.processFailover(AssignmentManager.java:221)
> at org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:422)
> at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:295)
> 12/04/18 22:07:34 INFO master.HMaster: Aborting 
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira