You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "stack (JIRA)" <ji...@apache.org> on 2009/12/22 22:58:29 UTC
[jira] Commented: (HBASE-2066) Perf: parallelize puts
[ https://issues.apache.org/jira/browse/HBASE-2066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12793807#action_12793807 ]
stack commented on HBASE-2066:
------------------------------
Patch looks great.
We can't do a version bump in 0.20 branch. Adding a new method to the interface w/o version bumping doesn't work I suppose. How about a version in 0.20 that doesn't pass ExcecutorService and a timeout and whose method is named processBatchOfRows rather processBatchOfPuts?
Any chance of some tests?
Will this fix help in 0.20 branch?
{code}
@@ -845,8 +855,9 @@ public class HConnectionManager implements HConstants {
// by nature of the map, we know that the start key has to be <
// otherwise it wouldn't be in the headMap.
- if (KeyValue.getRowComparator(tableName).compareRows(endKey, 0, endKey.length,
- row, 0, row.length) <= 0) {
+ if (Bytes.equals(endKey, HConstants.EMPTY_END_ROW) ||
+ KeyValue.getRowComparator(tableName).compareRows(endKey, 0, endKey.length,
+ row, 0, row.length) > 0) {
// delete any matching entry
HRegionLocation rl =
tableLocations.remove(matchingRegions.lastKey());
{code}
Do you want to change these:
{code}
+ LOG.debug("Failed all from " + request.address + " due to ExecutionException");
{code}
.. so the are instead:
{code}
+ LOG.debug("Failed all from " + request.address, e);
{code}
Is this done once, getCurrentNrHRS, in the HTable constructor?
looks really good
> Perf: parallelize puts
> ----------------------
>
> Key: HBASE-2066
> URL: https://issues.apache.org/jira/browse/HBASE-2066
> Project: Hadoop HBase
> Issue Type: Bug
> Affects Versions: 0.20.2
> Reporter: ryan rawson
> Fix For: 0.20.3, 0.21.0
>
> Attachments: HBASE-2066-branch.patch
>
>
> Right now with large region count tables, the write buffer is not efficient. This is because we issue potentially N RPCs, where N is the # of regions in the table. When N gets large (lets say 1200+) things become sloowwwww.
> Instead if we batch things up using a different RPC and use thread pools, we could see higher performance!
> This requires a RPC change...
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.