Shell is failing on subsequent split calls
------------------------------------------

                 Key: HBASE-3495
                 URL: https://issues.apache.org/jira/browse/HBASE-3495
             Project: HBase
          Issue Type: Bug
          Components: regionserver
    Affects Versions: 0.90.0
            Reporter: Lars George


While working on HBASE-3492 I came across another oddity with manual splits:

{code}
hbase(main):003:0> split 'testtable'                                            
                                                                     
0 row(s) in 3.0590 seconds

hbase(main):004:0> scan '.META.', { COLUMNS => ['info:regioninfo'] }            
                                                                     
ROW                                       COLUMN+CELL                           
                                                                                
 
 testtable,,1296545855212.5e4ef9631cacb6b column=info:regioninfo, 
timestamp=1296545855770, value=REGION => {NAME => 
'testtable,,1296545855212.5e4ef9631cacb6b2c6c
 2c6c338140c53cad4.                       338140c53cad4.', STARTKEY => '', 
ENDKEY => 'row-mdc', ENCODED => 5e4ef9631cacb6b2c6c338140c53cad4, TABLE => 
{{NAME => '
                                          testtable', FAMILIES => [{NAME => 
'cf1', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', VERSIONS => '3', 
COMPRESSION 
                                          => 'NONE', TTL => '2147483647', 
BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}, {NAME => 
'cf2', BLOO
                                          MFILTER => 'NONE', REPLICATION_SCOPE 
=> '0', VERSIONS => '3', COMPRESSION => 'NONE', TTL => '2147483647', BLOCKSIZE 
=> 
                                          '65536', IN_MEMORY => 'false', 
BLOCKCACHE => 'true'}]}}                                                        
        
 testtable,row-mdc,1296545855212.46e57f0c column=info:regioninfo, 
timestamp=1296545855774, value=REGION => {NAME => 
'testtable,row-mdc,1296545855212.46e57f0ca4eb
 a4eba8d3e5bef6365159a660.                a8d3e5bef6365159a660.', STARTKEY => 
'row-mdc', ENDKEY => '', ENCODED => 46e57f0ca4eba8d3e5bef6365159a660, TABLE => 
{{NA
                                          ME => 'testtable', FAMILIES => [{NAME 
=> 'cf1', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', VERSIONS => '3', 
COMPR
                                          ESSION => 'NONE', TTL => 
'2147483647', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 
'true'}, {NAME => 'cf2
                                          ', BLOOMFILTER => 'NONE', 
REPLICATION_SCOPE => '0', VERSIONS => '3', COMPRESSION => 'NONE', TTL => 
'2147483647', BLOCKS
                                          IZE => '65536', IN_MEMORY => 'false', 
BLOCKCACHE => 'true'}]}}                                                        
 
2 row(s) in 0.6690 seconds

hbase(main):005:0> split 'testtable'                                
0 row(s) in 0.4030 seconds

hbase(main):006:0> split 'testtable'

ERROR: org.apache.hadoop.ipc.RemoteException: 
org.apache.hadoop.hbase.NotServingRegionException: Region is not online: 
testtable,,1296545855212.5e4ef9631cacb6b2c6c338140c53cad4.
        at 
org.apache.hadoop.hbase.regionserver.HRegionServer.getRegion(HRegionServer.java:2376)
        at 
org.apache.hadoop.hbase.regionserver.HRegionServer.splitRegion(HRegionServer.java:2196)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at 
org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:309)
        at 
org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1057)

Here is some help for this command:
Split entire table or pass a region to split individual region.  With the 
second parameter, you can specify an explicit split key for the region.  
Examples:
    split 'tableName'
    split 'regionName' # format: 'tableName,startKey,id'
    split 'tableName', 'splitKey'
    split 'regionName', 'splitKey'

{code}

It takes minutes for this to clear out eventually. Why is this not retried or 
flushed out right away?

A few minutes (!) later I see this in the logs:

{code}
2011-02-01 08:42:42,062 INFO org.apache.hadoop.hbase.catalog.MetaEditor: 
Deleted daughter reference 
testtable,,1296545879295.dfcc24e02e27e60160612dd5398cbd1e., qualifier=splitA, 
from parent testtable,,1296545855212.5e4ef9631cacb6b2c6c338140c53cad4.
2011-02-01 08:42:42,064 DEBUG org.apache.hadoop.hbase.ipc.HBaseRPC: Call: 
getRegionInfo 1
2011-02-01 08:42:42,064 DEBUG org.apache.hadoop.hbase.ipc.HBaseRPC: Call: 
delete 0
2011-02-01 08:42:42,064 INFO org.apache.hadoop.hbase.catalog.MetaEditor: 
Deleted daughter reference 
testtable,row-dau,1296545879295.4073eb6c82755aab57778af2dba39e22., 
qualifier=splitB, from parent 
testtable,,1296545855212.5e4ef9631cacb6b2c6c338140c53cad4.
2011-02-01 08:42:42,064 DEBUG org.apache.hadoop.hbase.master.CatalogJanitor: 
Deleting region testtable,,1296545855212.5e4ef9631cacb6b2c6c338140c53cad4. 
because daughter splits no longer hold references
2011-02-01 08:42:42,065 DEBUG org.apache.hadoop.hbase.regionserver.HRegion: 
DELETING region 
file:/tmp/hbase-larsgeorge/hbase/testtable/5e4ef9631cacb6b2c6c338140c53cad4
2011-02-01 08:42:42,067 DEBUG org.apache.hadoop.hbase.ipc.HBaseRPC: Call: 
getRegionInfo 1
2011-02-01 08:42:42,067 DEBUG org.apache.hadoop.hbase.ipc.HBaseRPC: Call: 
delete 0
2011-02-01 08:42:42,067 INFO org.apache.hadoop.hbase.catalog.MetaEditor: 
Deleted region testtable,,1296545855212.5e4ef9631cacb6b2c6c338140c53cad4. from 
META
2011-02-01 08:42:42,069 DEBUG org.apache.hadoop.hbase.ipc.HBaseRPC: Call: 
getRegionInfo 0
2011-02-01 08:42:42,070 DEBUG org.apache.hadoop.hbase.ipc.HBaseRPC: Call: 
delete 1
2011-02-01 08:42:42,071 INFO org.apache.hadoop.hbase.catalog.MetaEditor: 
Deleted daughter reference 
testtable,row-mdc,1296545879558.94cb351e5dd36c269247dd8a1a79373c., 
qualifier=splitA, from parent 
testtable,row-mdc,1296545855212.46e57f0ca4eba8d3e5bef6365159a660.
2011-02-01 08:42:42,073 DEBUG org.apache.hadoop.hbase.ipc.HBaseRPC: Call: 
getRegionInfo 1
2011-02-01 08:42:42,074 DEBUG org.apache.hadoop.hbase.ipc.HBaseRPC: Call: 
delete 1
2011-02-01 08:42:42,074 INFO org.apache.hadoop.hbase.catalog.MetaEditor: 
Deleted daughter reference 
testtable,row-seq,1296545879558.43c5ffe1ca7dd6d1374b7b7430a7d261., 
qualifier=splitB, from parent 
testtable,row-mdc,1296545855212.46e57f0ca4eba8d3e5bef6365159a660.
2011-02-01 08:42:42,074 DEBUG org.apache.hadoop.hbase.master.CatalogJanitor: 
Deleting region 
testtable,row-mdc,1296545855212.46e57f0ca4eba8d3e5bef6365159a660. because 
daughter splits no longer hold references
2011-02-01 08:42:42,074 DEBUG org.apache.hadoop.hbase.regionserver.HRegion: 
DELETING region 
file:/tmp/hbase-larsgeorge/hbase/testtable/46e57f0ca4eba8d3e5bef6365159a660
{code}

The the next split call works while the subsequent ones fail again. In other 
words the split is dropped somewhere and picked up by the catalog classes later 
while the shell does not see the new daughter regions?

Even .META. is off

{code}

hbase(main):011:0> scan '.META.', { COLUMNS => ['info:regioninfo'] }
ROW                                       COLUMN+CELL                           
                                                                                
 
 testtable,,1296545879295.dfcc24e02e27e60 column=info:regioninfo, 
timestamp=1296546225693, value=REGION => {NAME => 
'testtable,,1296545879295.dfcc24e02e27e601606
 160612dd5398cbd1e.                       12dd5398cbd1e.', STARTKEY => '', 
ENDKEY => 'row-dau', ENCODED => dfcc24e02e27e60160612dd5398cbd1e, OFFLINE => 
true, SPL
                                          IT => true, TABLE => {{NAME => 
'testtable', FAMILIES => [{NAME => 'cf1', BLOOMFILTER => 'NONE', 
REPLICATION_SCOPE => '0
                                          ', VERSIONS => '3', COMPRESSION => 
'NONE', TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMORY => 'false', 
BLOCKCACHE 
                                          => 'true'}, {NAME => 'cf2', 
BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', VERSIONS => '3', COMPRESSION 
=> 'NONE', TT
                                          L => '2147483647', BLOCKSIZE => 
'65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}]}}                         
       
 testtable,,1296546225506.f3a53bfa1bfd5ae column=info:regioninfo, 
timestamp=1296546225763, value=REGION => {NAME => 
'testtable,,1296546225506.f3a53bfa1bfd5ae6cbb
 6cbb0641d43f8a242.                       0641d43f8a242.', STARTKEY => '', 
ENDKEY => 'row-aaa', ENCODED => f3a53bfa1bfd5ae6cbb0641d43f8a242, TABLE => 
{{NAME => '
                                          testtable', FAMILIES => [{NAME => 
'cf1', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', VERSIONS => '3', 
COMPRESSION 
                                          => 'NONE', TTL => '2147483647', 
BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}, {NAME => 
'cf2', BLOO
                                          MFILTER => 'NONE', REPLICATION_SCOPE 
=> '0', VERSIONS => '3', COMPRESSION => 'NONE', TTL => '2147483647', BLOCKSIZE 
=> 
                                          '65536', IN_MEMORY => 'false', 
BLOCKCACHE => 'true'}]}}                                                        
        
 testtable,row-aaa,1296546225506.4253ecd9 column=info:regioninfo, 
timestamp=1296546225761, value=REGION => {NAME => 
'testtable,row-aaa,1296546225506.4253ecd9c94c
 c94c38b66bdf8cd17b07efcb.                38b66bdf8cd17b07efcb.', STARTKEY => 
'row-aaa', ENDKEY => 'row-dau', ENCODED => 4253ecd9c94c38b66bdf8cd17b07efcb, 
TABLE 
                                          => {{NAME => 'testtable', FAMILIES => 
[{NAME => 'cf1', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', VERSIONS => 
'3'
                                          , COMPRESSION => 'NONE', TTL => 
'2147483647', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 
'true'}, {NAME 
                                          => 'cf2', BLOOMFILTER => 'NONE', 
REPLICATION_SCOPE => '0', VERSIONS => '3', COMPRESSION => 'NONE', TTL => 
'2147483647',
                                           BLOCKSIZE => '65536', IN_MEMORY => 
'false', BLOCKCACHE => 'true'}]}}                                               
   
 testtable,row-dau,1296545879295.4073eb6c column=info:regioninfo, 
timestamp=1296546225913, value=REGION => {NAME => 
'testtable,row-dau,1296545879295.4073eb6c8275
 82755aab57778af2dba39e22.                5aab57778af2dba39e22.', STARTKEY => 
'row-dau', ENDKEY => 'row-mdc', ENCODED => 4073eb6c82755aab57778af2dba39e22, 
OFFLIN
                                          E => true, SPLIT => true, TABLE => 
{{NAME => 'testtable', FAMILIES => [{NAME => 'cf1', BLOOMFILTER => 'NONE', 
REPLICATI
                                          ON_SCOPE => '0', VERSIONS => '3', 
COMPRESSION => 'NONE', TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMORY => 
'false
                                          ', BLOCKCACHE => 'true'}, {NAME => 
'cf2', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', VERSIONS => '3', 
COMPRESSION
                                           => 'NONE', TTL => '2147483647', 
BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}]}}            
      
 testtable,row-dau,1296546225769.529fdb6b column=info:regioninfo, 
timestamp=1296546225971, value=REGION => {NAME => 
'testtable,row-dau,1296546225769.529fdb6bcca8
 cca8459349c81b518a24436b.                459349c81b518a24436b.', STARTKEY => 
'row-dau', ENDKEY => 'row-gbo', ENCODED => 529fdb6bcca8459349c81b518a24436b, 
TABLE 
                                          => {{NAME => 'testtable', FAMILIES => 
[{NAME => 'cf1', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', VERSIONS => 
'3'
                                          , COMPRESSION => 'NONE', TTL => 
'2147483647', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 
'true'}, {NAME 
                                          => 'cf2', BLOOMFILTER => 'NONE', 
REPLICATION_SCOPE => '0', VERSIONS => '3', COMPRESSION => 'NONE', TTL => 
'2147483647',
                                           BLOCKSIZE => '65536', IN_MEMORY => 
'false', BLOCKCACHE => 'true'}]}}                                               
   
 testtable,row-gbo,1296546225769.374d4364 column=info:regioninfo, 
timestamp=1296546225968, value=REGION => {NAME => 
'testtable,row-gbo,1296546225769.374d4364574a
 574ad1c5f522aa55b3d81586.                d1c5f522aa55b3d81586.', STARTKEY => 
'row-gbo', ENDKEY => 'row-mdc', ENCODED => 374d4364574ad1c5f522aa55b3d81586, 
TABLE 
                                          => {{NAME => 'testtable', FAMILIES => 
[{NAME => 'cf1', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', VERSIONS => 
'3'
                                          , COMPRESSION => 'NONE', TTL => 
'2147483647', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 
'true'}, {NAME 
                                          => 'cf2', BLOOMFILTER => 'NONE', 
REPLICATION_SCOPE => '0', VERSIONS => '3', COMPRESSION => 'NONE', TTL => 
'2147483647',
                                           BLOCKSIZE => '65536', IN_MEMORY => 
'false', BLOCKCACHE => 'true'}]}}                                               
   
 testtable,row-mdc,1296545879558.94cb351e column=info:regioninfo, 
timestamp=1296545879815, value=REGION => {NAME => 
'testtable,row-mdc,1296545879558.94cb351e5dd3
 5dd36c269247dd8a1a79373c.                6c269247dd8a1a79373c.', STARTKEY => 
'row-mdc', ENDKEY => 'row-seq', ENCODED => 94cb351e5dd36c269247dd8a1a79373c, 
TABLE 
                                          => {{NAME => 'testtable', FAMILIES => 
[{NAME => 'cf1', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', VERSIONS => 
'3'
                                          , COMPRESSION => 'NONE', TTL => 
'2147483647', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 
'true'}, {NAME 
                                          => 'cf2', BLOOMFILTER => 'NONE', 
REPLICATION_SCOPE => '0', VERSIONS => '3', COMPRESSION => 'NONE', TTL => 
'2147483647',
                                           BLOCKSIZE => '65536', IN_MEMORY => 
'false', BLOCKCACHE => 'true'}]}}                                               
   
 testtable,row-seq,1296545879558.43c5ffe1 column=info:regioninfo, 
timestamp=1296546226107, value=REGION => {NAME => 
'testtable,row-seq,1296545879558.43c5ffe1ca7d
 ca7dd6d1374b7b7430a7d261.                d6d1374b7b7430a7d261.', STARTKEY => 
'row-seq', ENDKEY => '', ENCODED => 43c5ffe1ca7dd6d1374b7b7430a7d261, OFFLINE 
=> tr
                                          ue, SPLIT => true, TABLE => {{NAME => 
'testtable', FAMILIES => [{NAME => 'cf1', BLOOMFILTER => 'NONE', 
REPLICATION_SCOP
                                          E => '0', VERSIONS => '3', 
COMPRESSION => 'NONE', TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMORY => 
'false', BLOC
                                          KCACHE => 'true'}, {NAME => 'cf2', 
BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', VERSIONS => '3', COMPRESSION 
=> 'NO
                                          NE', TTL => '2147483647', BLOCKSIZE 
=> '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}]}}                      
   
 testtable,row-seq,1296546225975.c9188f86 column=info:regioninfo, 
timestamp=1296546226161, value=REGION => {NAME => 
'testtable,row-seq,1296546225975.c9188f869822
 9822da3ff21215a98a99ff5a.                da3ff21215a98a99ff5a.', STARTKEY => 
'row-seq', ENDKEY => 'row-vfk', ENCODED => c9188f869822da3ff21215a98a99ff5a, 
TABLE 
                                          => {{NAME => 'testtable', FAMILIES => 
[{NAME => 'cf1', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', VERSIONS => 
'3'
                                          , COMPRESSION => 'NONE', TTL => 
'2147483647', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 
'true'}, {NAME 
                                          => 'cf2', BLOOMFILTER => 'NONE', 
REPLICATION_SCOPE => '0', VERSIONS => '3', COMPRESSION => 'NONE', TTL => 
'2147483647',
                                           BLOCKSIZE => '65536', IN_MEMORY => 
'false', BLOCKCACHE => 'true'}]}}                                               
   
 testtable,row-vfk,1296546225975.682a4dbf column=info:regioninfo, 
timestamp=1296546226156, value=REGION => {NAME => 
'testtable,row-vfk,1296546225975.682a4dbf9800
 980035dc379c6ccd7418cb08.                35dc379c6ccd7418cb08.', STARTKEY => 
'row-vfk', ENDKEY => '', ENCODED => 682a4dbf980035dc379c6ccd7418cb08, TABLE => 
{{NA
                                          ME => 'testtable', FAMILIES => [{NAME 
=> 'cf1', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', VERSIONS => '3', 
COMPR
                                          ESSION => 'NONE', TTL => 
'2147483647', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 
'true'}, {NAME => 'cf2
                                          ', BLOOMFILTER => 'NONE', 
REPLICATION_SCOPE => '0', VERSIONS => '3', COMPRESSION => 'NONE', TTL => 
'2147483647', BLOCKS
                                          IZE => '65536', IN_MEMORY => 'false', 
BLOCKCACHE => 'true'}]}}                                                        
 
10 row(s) in 0.2610 seconds
{code}

Look at the ENKDEYs.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to