diff --git src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java index 88c381f..73eca29 100644 --- src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java +++ src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java @@ -447,7 +447,9 @@ public class HBaseAdmin implements Abortable, Closeable { /** * Creates a new table but does not block and wait for it to come online. - * Asynchronous operation. + * Asynchronous operation. To check if the table exists, use + * {@link: #isTableAvailable} -- it is not safe to create an HTable + * instance to this table before it is available. * * @param desc table descriptor for table * diff --git src/main/java/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.java src/main/java/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.java index aff64c6..1a724fc 100644 --- src/main/java/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.java +++ src/main/java/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.java @@ -673,23 +673,9 @@ public class LoadIncrementalHFiles extends Configured implements Tool { } keys = LoadIncrementalHFiles.inferBoundaries(map); - try { - this.hbAdmin.createTableAsync(htd, keys); - } catch (java.net.SocketTimeoutException e) { - System.err.println("Caught Socket timeout.. Mostly caused by a slow region assignment by master!"); - } - - HTable table = new HTable(this.cfg, tableName); + this.hbAdmin.createTable(htd,keys); - HConnection conn = table.getConnection(); - int ctr = 0; - while (!conn.isTableAvailable(table.getTableName()) && (ctr