hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HBASE-2468) Improvements to prewarm META cache on clients
Date Sat, 22 May 2010 21:37:17 GMT

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

stack commented on HBASE-2468:
------------------------------

I'm for default behavior being grabbing more than just the one row -- ten or something.  Regards
full-table scan as default, I think it should be an option (Its a nice option to have).

On code, here's some comments (Congrats Mingjie on first submission):

Change

{code}
+      this.preFetchRegionLimit = 10; 
{code}

.. to be

{code}
+      this.preFetchRegionLimit = conf.getInt("hbase.client.prefetch.limit", 10); 
{code}

IMO, never hardcode things like this, and IMO, you don't need to put the config out in the
hbse-default.xml.... just do the above.  Someone who really needs to change it can read code
and figure its possible.  If it becomes a popular change people make, then we can move it
out to hbase-default.xml.

Regards methods that you only call from a unit test, should they be package protected rather
than protected; i.e. narrower access than protected?

Nit.  You don't need to explain in unit test javadoc why the fix: e.g.:

{code}
+   * This fix is provided to prevent potential storm of META reads for a 
+   * very large table.  
{code}

Otherwise, patch looks great.

> Improvements to prewarm META cache on clients
> ---------------------------------------------
>
>                 Key: HBASE-2468
>                 URL: https://issues.apache.org/jira/browse/HBASE-2468
>             Project: Hadoop HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Todd Lipcon
>            Assignee: Mingjie Lai
>             Fix For: 0.21.0
>
>         Attachments: HBASE-2468-trunk.patch
>
>
> A couple different use cases cause storms of reads to META during startup. For example,
a large MR job will cause each map task to hit meta since it starts with an empty cache.
> A couple possible improvements have been proposed:
>  - MR jobs could ship a copy of META for the table in the DistributedCache
>  - Clients could prewarm cache by doing a large scan of all the meta for the table instead
of random reads for each miss
>  - Each miss could fetch ahead some number of rows in META

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message