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

Yu Li commented on HBASE-7139:
------------------------------

Met with the same issue. 

We have one case here that the empty table is pre-created w/o region pre-split, 
and to improve data loading rate, we prefer to use bulkload, so we need to 
split the empty table after it's created. Although we can work-around it by 
getting the table descriptor, dropping the table and re-creating it with region 
pre-split, I think the issue described here still worth to resolve.

Meanwhile, not sure whether and how this is related to HBASE-3492(maybe a 
special case that fix for HBASE-3492 not covered?), will look into more details 
when time allows.
                
> RegionSplitter's rollingSplit cannot split empty table or region
> ----------------------------------------------------------------
>
>                 Key: HBASE-7139
>                 URL: https://issues.apache.org/jira/browse/HBASE-7139
>             Project: HBase
>          Issue Type: Bug
>          Components: util
>    Affects Versions: 0.94.1
>         Environment: Ubuntu Server 10.04, Hadoop 1.0.3
>            Reporter: Davey Yan
>
> Execute rollingSplit on empty table or region will cause original region in 
> SPLITTING state, and will be not out of transition list unless unassigning it 
> (with forse) in shell.
> Steps to reproduce:
> {code}
> shell> create 'test2', 'i'
> {code}
> {noformat}
> $ bin/hbase org.apache.hadoop.hbase.util.RegionSplitter -r -o 2 test2 
> HexStringSplit
> 12/11/09 16:24:57 INFO zookeeper.ZooKeeper: Client 
> environment:zookeeper.version=3.4.3-1240972, built on 02/06/2012 10:48 GMT
> 12/11/09 16:24:57 INFO zookeeper.ZooKeeper: Client 
> environment:host.name=dev-vm0
> 12/11/09 16:24:57 INFO zookeeper.ZooKeeper: Client 
> environment:java.version=1.6.0_29
> 12/11/09 16:24:57 INFO zookeeper.ZooKeeper: Client 
> environment:java.vendor=Sun Microsystems Inc.
> 12/11/09 16:24:57 INFO zookeeper.ZooKeeper: Client 
> environment:java.home=/usr/lib/jvm/jdk1.6.0_29/jre
> 12/11/09 16:24:57 INFO zookeeper.ZooKeeper: Client 
> environment:java.class.path=/opt/hbase/bin/../conf:/usr/lib/jvm/default-java/lib/tools.jar:/opt/hbase/bin/..:/opt/hbase/bin/../hbase-0.94.1.jar:/opt/hbase/bin/../hbase-0.94.1-tests.jar:/opt/hbase/bin/../lib/activation-1.1.jar:/opt/hbase/bin/../lib/asm-3.1.jar:/opt/hbase/bin/../lib/avro-1.5.3.jar:/opt/hbase/bin/../lib/avro-ipc-1.5.3.jar:/opt/hbase/bin/../lib/commons-beanutils-1.7.0.jar:/opt/hbase/bin/../lib/commons-beanutils-core-1.8.0.jar:/opt/hbase/bin/../lib/commons-cli-1.2.jar:/opt/hbase/bin/../lib/commons-codec-1.4.jar:/opt/hbase/bin/../lib/commons-collections-3.2.1.jar:/opt/hbase/bin/../lib/commons-configuration-1.6.jar:/opt/hbase/bin/../lib/commons-digester-1.8.jar:/opt/hbase/bin/../lib/commons-el-1.0.jar:/opt/hbase/bin/../lib/commons-httpclient-3.1.jar:/opt/hbase/bin/../lib/commons-io-2.1.jar:/opt/hbase/bin/../lib/commons-lang-2.5.jar:/opt/hbase/bin/../lib/commons-logging-1.1.1.jar:/opt/hbase/bin/../lib/commons-math-2.1.jar:/opt/hbase/bin/../lib/commons-net-1.4.1.jar:/opt/hbase/bin/../lib/core-3.1.1.jar:/opt/hbase/bin/../lib/guava-11.0.2.jar:/opt/hbase/bin/../lib/hadoop-core-1.0.3.jar:/opt/hbase/bin/../lib/high-scale-lib-1.1.1.jar:/opt/hbase/bin/../lib/httpclient-4.1.2.jar:/opt/hbase/bin/../lib/httpcore-4.1.3.jar:/opt/hbase/bin/../lib/jackson-core-asl-1.8.8.jar:/opt/hbase/bin/../lib/jackson-jaxrs-1.8.8.jar:/opt/hbase/bin/../lib/jackson-mapper-asl-1.8.8.jar:/opt/hbase/bin/../lib/jackson-xc-1.8.8.jar:/opt/hbase/bin/../lib/jamon-runtime-2.3.1.jar:/opt/hbase/bin/../lib/jasper-compiler-5.5.23.jar:/opt/hbase/bin/../lib/jasper-runtime-5.5.23.jar:/opt/hbase/bin/../lib/jaxb-api-2.1.jar:/opt/hbase/bin/../lib/jaxb-impl-2.2.3-1.jar:/opt/hbase/bin/../lib/jersey-core-1.8.jar:/opt/hbase/bin/../lib/jersey-json-1.8.jar:/opt/hbase/bin/../lib/jersey-server-1.8.jar:/opt/hbase/bin/../lib/jettison-1.1.jar:/opt/hbase/bin/../lib/jetty-6.1.26.jar:/opt/hbase/bin/../lib/jetty-util-6.1.26.jar:/opt/hbase/bin/../lib/jruby-complete-1.6.5.jar:/opt/hbase/bin/../lib/jsp-2.1-6.1.14.jar:/opt/hbase/bin/../lib/jsp-api-2.1-6.1.14.jar:/opt/hbase/bin/../lib/jsr305-1.3.9.jar:/opt/hbase/bin/../lib/junit-4.10-HBASE-1.jar:/opt/hbase/bin/../lib/libthrift-0.8.0.jar:/opt/hbase/bin/../lib/log4j-1.2.16.jar:/opt/hbase/bin/../lib/metrics-core-2.1.2.jar:/opt/hbase/bin/../lib/netty-3.2.4.Final.jar:/opt/hbase/bin/../lib/protobuf-java-2.4.0a.jar:/opt/hbase/bin/../lib/servlet-api-2.5-6.1.14.jar:/opt/hbase/bin/../lib/slf4j-api-1.4.3.jar:/opt/hbase/bin/../lib/slf4j-log4j12-1.4.3.jar:/opt/hbase/bin/../lib/snappy-java-1.0.3.2.jar:/opt/hbase/bin/../lib/stax-api-1.0.1.jar:/opt/hbase/bin/../lib/velocity-1.7.jar:/opt/hbase/bin/../lib/xmlenc-0.52.jar:/opt/hbase/bin/../lib/zookeeper-3.4.3.jar:/opt/hbase/bin/../libextra/mybk-commons-cc.jar:/opt/hbase/bin/../libextra/hbase.jar:/opt/hbase/bin/../libextra/sfdcloud-hbase.jar:
> 12/11/09 16:24:57 INFO zookeeper.ZooKeeper: Client 
> environment:java.library.path=/opt/hbase/bin/../lib/native/Linux-i386-32
> 12/11/09 16:24:57 INFO zookeeper.ZooKeeper: Client 
> environment:java.io.tmpdir=/tmp
> 12/11/09 16:24:57 INFO zookeeper.ZooKeeper: Client 
> environment:java.compiler=<NA>
> 12/11/09 16:24:57 INFO zookeeper.ZooKeeper: Client environment:os.name=Linux
> 12/11/09 16:24:57 INFO zookeeper.ZooKeeper: Client environment:os.arch=i386
> 12/11/09 16:24:57 INFO zookeeper.ZooKeeper: Client 
> environment:os.version=2.6.32-33-generic
> 12/11/09 16:24:57 INFO zookeeper.ZooKeeper: Client environment:user.name=pcer
> 12/11/09 16:24:57 INFO zookeeper.ZooKeeper: Client 
> environment:user.home=/home/pcer
> 12/11/09 16:24:57 INFO zookeeper.ZooKeeper: Client 
> environment:user.dir=/opt/hbase-0.94.1
> 12/11/09 16:24:57 INFO zookeeper.ZooKeeper: Initiating client connection, 
> connectString=dev-vm0:2181 sessionTimeout=60000 watcher=hconnection
> 12/11/09 16:24:57 INFO zookeeper.ClientCnxn: Opening socket connection to 
> server /172.16.20.140:2181
> 12/11/09 16:24:57 INFO zookeeper.RecoverableZooKeeper: The identifier of this 
> process is 16033@dev-vm0
> 12/11/09 16:24:57 WARN client.ZooKeeperSaslClient: SecurityException: 
> java.lang.SecurityException: Unable to locate a login configuration occurred 
> when trying to find JAAS configuration.
> 12/11/09 16:24:57 INFO client.ZooKeeperSaslClient: Client will not 
> SASL-authenticate because the default JAAS configuration section 'Client' 
> could not be found. If you are not using SASL, you may ignore this. On the 
> other hand, if you expected SASL to work, please fix your JAAS configuration.
> 12/11/09 16:24:57 INFO zookeeper.ClientCnxn: Socket connection established to 
> dev-vm0/172.16.20.140:2181, initiating session
> 12/11/09 16:24:57 INFO zookeeper.ClientCnxn: Session establishment complete 
> on server dev-vm0/172.16.20.140:2181, sessionid = 0x13ad3e9ba7001c3, 
> negotiated timeout = 40000
> 12/11/09 16:24:58 DEBUG client.HConnectionManager$HConnectionImplementation: 
> Looked up root region location, 
> connection=org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@ba5c7a;
>  serverName=dev-vm0,46871,1352175042380
> 12/11/09 16:24:58 DEBUG client.HConnectionManager$HConnectionImplementation: 
> Cached location for .META.,,1.1028785192 is dev-vm0:46871
> 12/11/09 16:24:58 DEBUG client.MetaScanner: Scanning .META. starting at 
> row=test2,,00000000000000 for max=10 rows using 
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@ba5c7a
> 12/11/09 16:24:58 DEBUG client.HConnectionManager$HConnectionImplementation: 
> Cached location for test2,,1352449471288.6c53236aff39bca3e77e79fcf2419ba5. is 
> dev-vm0:46871
> 12/11/09 16:24:59 DEBUG util.RegionSplitter: No _balancedSplit file.  
> Calculating splits...
> 12/11/09 16:24:59 DEBUG client.MetaScanner: Scanning .META. starting at 
> row=test2,,00000000000000 for max=2147483647 rows using 
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@ba5c7a
> 12/11/09 16:24:59 DEBUG util.RegionSplitter: Table test2 has 1 regions that 
> will be split.
> 12/11/09 16:24:59 DEBUG util.RegionSplitter: Will Split [00000000 , ffffffff) 
> at 7fffffff
> 12/11/09 16:24:59 DEBUG util.RegionSplitter: Bucketing regions by 
> regionserver...
> 12/11/09 16:24:59 DEBUG util.RegionSplitter: Done with bucketing.  Split time!
> 12/11/09 16:24:59 DEBUG util.RegionSplitter: 1 RS have regions to splt.
> 12/11/09 16:24:59 DEBUG client.MetaScanner: Scanning .META. starting at 
> row=test2,,00000000000000 for max=2147483647 rows using 
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@ba5c7a
> 12/11/09 16:24:59 DEBUG util.RegionSplitter: Finding a region on dev-vm0:46871
> 12/11/09 16:24:59 DEBUG util.RegionSplitter: Splitting at 7fffffff
> 12/11/09 16:24:59 INFO zookeeper.ZooKeeper: Initiating client connection, 
> connectString=dev-vm0:2181 sessionTimeout=60000 
> watcher=catalogtracker-on-org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@ba5c7a
> 12/11/09 16:24:59 INFO zookeeper.ClientCnxn: Opening socket connection to 
> server /172.16.20.140:2181
> 12/11/09 16:24:59 WARN client.ZooKeeperSaslClient: SecurityException: 
> java.lang.SecurityException: Unable to locate a login configuration occurred 
> when trying to find JAAS configuration.
> 12/11/09 16:24:59 INFO client.ZooKeeperSaslClient: Client will not 
> SASL-authenticate because the default JAAS configuration section 'Client' 
> could not be found. If you are not using SASL, you may ignore this. On the 
> other hand, if you expected SASL to work, please fix your JAAS configuration.
> 12/11/09 16:24:59 INFO zookeeper.ClientCnxn: Socket connection established to 
> dev-vm0/172.16.20.140:2181, initiating session
> 12/11/09 16:24:59 INFO zookeeper.RecoverableZooKeeper: The identifier of this 
> process is 16033@dev-vm0
> 12/11/09 16:24:59 DEBUG catalog.CatalogTracker: Starting catalog tracker 
> org.apache.hadoop.hbase.catalog.CatalogTracker@691dee
> 12/11/09 16:24:59 INFO zookeeper.ClientCnxn: Session establishment complete 
> on server dev-vm0/172.16.20.140:2181, sessionid = 0x13ad3e9ba7001c4, 
> negotiated timeout = 40000
> 12/11/09 16:24:59 DEBUG client.ClientScanner: Creating scanner over .META. 
> starting at key 'test2,,'
> 12/11/09 16:24:59 DEBUG client.ClientScanner: Advancing internal scanner to 
> startKey at 'test2,,'
> 12/11/09 16:24:59 DEBUG client.ClientScanner: Creating scanner over .META. 
> starting at key 'test2,,'
> 12/11/09 16:24:59 DEBUG client.ClientScanner: Advancing internal scanner to 
> startKey at 'test2,,'
> 12/11/09 16:24:59 DEBUG client.ClientScanner: Finished with scanning at {NAME 
> => '.META.,,1', STARTKEY => '', ENDKEY => '', ENCODED => 1028785192,}
> 12/11/09 16:24:59 DEBUG catalog.CatalogTracker: Stopping catalog tracker 
> org.apache.hadoop.hbase.catalog.CatalogTracker@691dee
> 12/11/09 16:24:59 INFO zookeeper.ClientCnxn: EventThread shut down
> 12/11/09 16:24:59 INFO zookeeper.ZooKeeper: Session: 0x13ad3e9ba7001c4 closed
> 12/11/09 16:24:59 DEBUG client.HConnectionManager$HConnectionImplementation: 
> Looked up root region location, 
> connection=org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@ba5c7a;
>  serverName=dev-vm0,46871,1352175042380
> 12/11/09 16:24:59 DEBUG client.HConnectionManager$HConnectionImplementation: 
> Cached location for .META.,,1.1028785192 is dev-vm0:46871
> 12/11/09 16:24:59 DEBUG client.MetaScanner: Scanning .META. starting at 
> row=test2,,00000000000000 for max=10 rows using 
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@ba5c7a
> 12/11/09 16:24:59 DEBUG client.HConnectionManager$HConnectionImplementation: 
> Cached location for test2,,1352449471288.6c53236aff39bca3e77e79fcf2419ba5. is 
> dev-vm0:46871
> 12/11/09 16:24:59 DEBUG util.RegionSplitter: Split Scan: 0 finished / 1 split 
> wait / 0 reference wait
> 12/11/09 16:25:29 DEBUG client.HConnectionManager$HConnectionImplementation: 
> Looked up root region location, 
> connection=org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@ba5c7a;
>  serverName=dev-vm0,46871,1352175042380
> 12/11/09 16:25:29 DEBUG client.HConnectionManager$HConnectionImplementation: 
> Cached location for .META.,,1.1028785192 is dev-vm0:46871
> 12/11/09 16:25:29 DEBUG client.MetaScanner: Scanning .META. starting at 
> row=test2,,00000000000000 for max=10 rows using 
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@ba5c7a
> 12/11/09 16:25:29 DEBUG client.HConnectionManager$HConnectionImplementation: 
> Cached location for test2,,1352449471288.6c53236aff39bca3e77e79fcf2419ba5. is 
> dev-vm0:46871
> 12/11/09 16:25:29 DEBUG util.RegionSplitter: Split Scan: 0 finished / 1 split 
> wait / 0 reference wait
> ...repeat forever...
> {noformat}
> Log of server site:
> {noformat}
> 2012-11-09 16:24:59,597 DEBUG 
> org.apache.hadoop.hbase.regionserver.CompactSplitThread: Split requested for 
> test2,,1352449471288.6c53236aff39bca3e77e79fcf2419ba5..  
> compaction_queue=(0:0), split_queue=1
> 2012-11-09 16:24:59,597 INFO 
> org.apache.hadoop.hbase.regionserver.SplitTransaction: Starting split of 
> region test2,,1352449471288.6c53236aff39bca3e77e79fcf2419ba5.
> 2012-11-09 16:24:59,597 DEBUG 
> org.apache.hadoop.hbase.regionserver.SplitTransaction: 
> regionserver:46871-0x13ad3e9ba700001 Creating ephemeral node for 
> 6c53236aff39bca3e77e79fcf2419ba5 in SPLITTING state
> 2012-11-09 16:24:59,601 DEBUG org.apache.hadoop.hbase.zookeeper.ZKAssign: 
> regionserver:46871-0x13ad3e9ba700001 Attempting to transition node 
> 6c53236aff39bca3e77e79fcf2419ba5 from RS_ZK_REGION_SPLITTING to 
> RS_ZK_REGION_SPLITTING
> 2012-11-09 16:24:59,613 INFO 
> org.apache.zookeeper.server.PrepRequestProcessor: Processed session 
> termination for sessionid: 0x13ad3e9ba7001c4
> 2012-11-09 16:24:59,615 DEBUG org.apache.hadoop.hbase.zookeeper.ZKAssign: 
> regionserver:46871-0x13ad3e9ba700001 Successfully transitioned node 
> 6c53236aff39bca3e77e79fcf2419ba5 from RS_ZK_REGION_SPLITTING to 
> RS_ZK_REGION_SPLITTING
> 2012-11-09 16:24:59,618 DEBUG org.apache.hadoop.hbase.regionserver.HRegion: 
> Closing test2,,1352449471288.6c53236aff39bca3e77e79fcf2419ba5.: disabling 
> compactions & flushes
> 2012-11-09 16:24:59,618 DEBUG org.apache.hadoop.hbase.regionserver.HRegion: 
> Updates disabled for region 
> test2,,1352449471288.6c53236aff39bca3e77e79fcf2419ba5.
> 2012-11-09 16:24:59,624 WARN org.apache.zookeeper.server.NIOServerCnxn: 
> caught end of stream exception
> EndOfStreamException: Unable to read additional data from client sessionid 
> 0x13ad3e9ba7001c4, likely client has closed socket
>       at 
> org.apache.zookeeper.server.NIOServerCnxn.doIO(NIOServerCnxn.java:220)
>       at 
> org.apache.zookeeper.server.NIOServerCnxnFactory.run(NIOServerCnxnFactory.java:224)
>       at java.lang.Thread.run(Thread.java:662)
> 2012-11-09 16:24:59,625 INFO org.apache.zookeeper.server.NIOServerCnxn: 
> Closed socket connection for client /172.16.20.140:38233 which had sessionid 
> 0x13ad3e9ba7001c4
> 2012-11-09 16:24:59,626 DEBUG 
> org.apache.hadoop.hbase.master.AssignmentManager: Handling 
> transition=RS_ZK_REGION_SPLITTING, server=dev-vm0,46871,1352175042380, 
> region=6c53236aff39bca3e77e79fcf2419ba5
> 2012-11-09 16:24:59,627 DEBUG org.apache.hadoop.hbase.regionserver.Store: 
> closed i
> 2012-11-09 16:24:59,627 INFO org.apache.hadoop.hbase.regionserver.HRegion: 
> Closed test2,,1352449471288.6c53236aff39bca3e77e79fcf2419ba5.
> 2012-11-09 16:24:59,627 INFO 
> org.apache.hadoop.hbase.regionserver.SplitRequest: Running rollback/cleanup 
> of failed split of test2,,1352449471288.6c53236aff39bca3e77e79fcf2419ba5.; 
> null
> java.lang.IllegalArgumentException
>       at 
> java.util.concurrent.ThreadPoolExecutor.<init>(ThreadPoolExecutor.java:589)
>       at 
> java.util.concurrent.ThreadPoolExecutor.<init>(ThreadPoolExecutor.java:514)
>       at java.util.concurrent.Executors.newFixedThreadPool(Executors.java:84)
>       at 
> org.apache.hadoop.hbase.regionserver.SplitTransaction.splitStoreFiles(SplitTransaction.java:592)
>       at 
> org.apache.hadoop.hbase.regionserver.SplitTransaction.createDaughters(SplitTransaction.java:290)
>       at 
> org.apache.hadoop.hbase.regionserver.SplitTransaction.execute(SplitTransaction.java:452)
>       at 
> org.apache.hadoop.hbase.regionserver.SplitRequest.run(SplitRequest.java:67)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>       at java.lang.Thread.run(Thread.java:662)
> 2012-11-09 16:24:59,655 INFO org.apache.hadoop.hbase.regionserver.Store: time 
> to purge deletes set to 0ms in store null
> 2012-11-09 16:24:59,661 INFO 
> org.apache.hadoop.hbase.regionserver.SplitTransaction: Cleaned up old failed 
> split transaction detritus: 
> hdfs://dev-vm0:9000/hbase/test2/6c53236aff39bca3e77e79fcf2419ba5/.splits
> 2012-11-09 16:24:59,662 INFO org.apache.hadoop.hbase.regionserver.HRegion: 
> Onlined test2,,1352449471288.6c53236aff39bca3e77e79fcf2419ba5.; next 
> sequenceid=1
> 2012-11-09 16:24:59,663 DEBUG org.apache.hadoop.hbase.zookeeper.ZKAssign: 
> regionserver:46871-0x13ad3e9ba700001 Deleting existing unassigned node for 
> 6c53236aff39bca3e77e79fcf2419ba5 that is in expected state 
> RS_ZK_REGION_SPLITTING
> 2012-11-09 16:24:59,667 DEBUG 
> org.apache.hadoop.hbase.master.AssignmentManager: The znode of region 
> test2,,1352449471288.6c53236aff39bca3e77e79fcf2419ba5. has been deleted.
> 2012-11-09 16:24:59,668 DEBUG org.apache.hadoop.hbase.zookeeper.ZKAssign: 
> regionserver:46871-0x13ad3e9ba700001 Successfully deleted unassigned node for 
> region 6c53236aff39bca3e77e79fcf2419ba5 in expected state 
> RS_ZK_REGION_SPLITTING
> 2012-11-09 16:24:59,668 DEBUG org.apache.hadoop.hbase.zookeeper.ZKAssign: 
> regionserver:46871-0x13ad3e9ba700001 Deleting existing unassigned node for 
> 6c53236aff39bca3e77e79fcf2419ba5 that is in expected state 
> RS_ZK_REGION_SPLITTING
> 2012-11-09 16:24:59,669 INFO 
> org.apache.hadoop.hbase.regionserver.SplitRequest: Successful rollback of 
> failed split of test2,,1352449471288.6c53236aff39bca3e77e79fcf2419ba5.
> ... org.apache.hadoop.hbase.master.AssignmentManager: Regions in transition 
> timed out
> {noformat}

--
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

Reply via email to