Apologies, this sent before I had finished writing it :X The stack trace is below, but what we are attempting to do is load data into HBase via MapReduce. When we're doing the load, we write the HFiles using HFileOutputFormat and then bulk load them into HBase. At the start of the MapReduce, we don't have the region splits available to us, so all our data is getting written to a handful of regions. Therefore, we are attempting to manually split the regions before the MapReduce job so that the HFiles will be evenly written across many regions.
Any help or guidance would be appreciated. Thanks, John On Thu, Sep 20, 2012 at 1:33 PM, John Edstrom <[email protected]>wrote: > Hello, > > We're having a problem when calling HBaseAdmin.split() on an empty region. > The new regions are never getting created and the RegionServer appears to > be throwing an IllegalArgumentException with the following stack trace: > java.lang.IllegalArgumentException > at > java.util.concurrent.ThreadPoolExecutor.<init>(ThreadPoolExecutor.java:589) > at > java.util.concurrent.ThreadPoolExecutor.<init>(ThreadPoolExecutor.java:514) > 2631 at > java.util.concurrent.Executors.newFixedThreadPool(Executors.java:84) > 2632 at > org.apache.hadoop.hbase.regionserver.SplitTransaction.splitStoreFiles(SplitTransaction.java:592) > 2633 at > org.apache.hadoop.hbase.regionserver.SplitTransaction.createDaughters(SplitTransaction.java:290) > 2634 at > org.apache.hadoop.hbase.regionserver.SplitTransaction.execute(SplitTransaction.java:452) > 2635 at > org.apache.hadoop.hbase.regionserver.SplitRequest.run(SplitRequest.java:67) > 2636 at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > 2637 at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > 2638 at java.lang.Thread.run(Thread.java:680) >
