Hi, all.

I'm testing hbase client using camel-hbase component.
But in this test, data put performance is low.
( about 20 put operation / second, I use Core i7 2700K machine.)

I confirmed performance bottleneck.
And I find bottleneck below

- Everytime camel-hbase component put data,
  camel-hbase component creates and closes HTableInterface.
- But HTableInterface create cost is high.
   So camel-hbase component performance is low.

I modified HBaseProducer using HTablePool,
data put performance is improved 20 operetion/second to 200 operation/second.

Modified source is below( and attach patchfile.txt)
-HBaseProducer.java(orig)
----------------------------
103        } finally {
104            table.close();
105        }
----------------------------

-HBaseProducer.java(improved)
----------------------------
103        } finally {
104            tablePool.putTable(table);
105        }
----------------------------

What should I do for contribution it.

regards.

-- 
#################################
Sotaro Kimura
<rfbrin...@gmail.com>
#################################
--- HBaseProducer.java.orig     2012-10-11 12:23:40.000000000 +0900
+++ HBaseProducer.java  2012-11-26 06:29:09.000000000 +0900
@@ -101,7 +101,7 @@
                 mappingStrategy.applyScanResults(exchange.getOut(), new 
HBaseData(scanOperationResult));
             }
         } finally {
-            table.close();
+            tablePool.putTable(table);
         }
     }
 

Reply via email to