hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HBASE-1189) Changing the map type used internally for HbaseMapWritable.
Date Thu, 19 Feb 2009 18:42:03 GMT

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

stack commented on HBASE-1189:
------------------------------

Patch looks great.

Would suggest giving the interface a name that is less of a mouthful.  Rather than StaticHBaseMapWritableLoader,
how about CodeToClass (or CodeToClassAndBack)?

Do these have to be public Erik?

{code}
+  static final Map<Byte, Class<?>> CODE_TO_CLASS =
+    new HashMap<Byte, Class<?>>();
{code}

What if the client class is not in same package?

Does this need to be public since its only used inside this interface?

{code}+  public class InternalStaticLoader{
{code}

Should it be static too as in +  public static class InternalStaticLoader{  (It might not
work).

Should this be private too since internal to this Interface?

{code}
+  Class[] classList = {byte[].class, Cell.class};
{code}

To add classes, I edit the code?  (Which is what we've done up to this).

Its interesting that we don't use it with HStoreKey nor ImmutableBytes anymore (I think thats
probably good).

Good stuff Erik.


> Changing the map type used internally  for HbaseMapWritable. 
> -------------------------------------------------------------
>
>                 Key: HBASE-1189
>                 URL: https://issues.apache.org/jira/browse/HBASE-1189
>             Project: Hadoop HBase
>          Issue Type: New Feature
>          Components: io
>    Affects Versions: 0.20.0
>            Reporter: Erik Holstad
>            Assignee: Erik Holstad
>            Priority: Minor
>         Attachments: HBASE-1189-v1.patch, HbaseMapWritable.java, StaticLoader.java
>
>
> For the CellCache the need for a HbaseMapWritable that has a different kind of map used
internally
> has showed up. The problem is that the instantiation of the map is done static so you
have no control 
> over it and if extending HMW you get both the memory usage for the parent as well as
the child.
> After trying out different ideas on how to solve this, it seems like the easiest way
would be to have a setMapType
> method and just set it to null in the code. If the old code would be kept you would need
to instantiate 2
> different maps. The problem with setting it to null is that all the old code needs to
be changed to fit the new model,
> and also be used in the future.

-- 
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