You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Jason Rutherglen (JIRA)" <ji...@apache.org> on 2011/06/24 03:15:47 UTC

[jira] [Created] (HBASE-4026) Use JNA to allocate buffers in the block cache

Use JNA to allocate buffers in the block cache
----------------------------------------------

                 Key: HBASE-4026
                 URL: https://issues.apache.org/jira/browse/HBASE-4026
             Project: HBase
          Issue Type: Improvement
          Components: regionserver
            Reporter: Jason Rutherglen
            Priority: Minor


The HBase block cache can be problematic because it is unpredictable when Java will reclaim the unused byte arrays using garbage collection.  

JNA (Java Native Access from Sun/Oracle) provides one possible way to solve this problem.

https://github.com/twall/jna

Memory is the name of the class that can be used to test the implementation.

https://github.com/twall/jna/blob/master/src/com/sun/jna/Memory.java

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-4026) Use JNA to allocate buffers in the block cache

Posted by "Todd Lipcon (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13054205#comment-13054205 ] 

Todd Lipcon commented on HBASE-4026:
------------------------------------

It's also not hard to just implement this... if you are OK with special casing for different JDKs, you just need to grab the {{cleaner}} member and call {{clean}}. I do this in hadoop-lzo (apache license).

> Use JNA to allocate buffers in the block cache
> ----------------------------------------------
>
>                 Key: HBASE-4026
>                 URL: https://issues.apache.org/jira/browse/HBASE-4026
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>            Reporter: Jason Rutherglen
>            Priority: Minor
>
> The HBase block cache can be problematic because it is unpredictable when Java will reclaim the unused byte arrays using garbage collection.  
> JNA (Java Native Access from Sun/Oracle) provides one possible way to solve this problem.
> https://github.com/twall/jna
> Memory is the name of the class that can be used to test the implementation.
> https://github.com/twall/jna/blob/master/src/com/sun/jna/Memory.java

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-4026) Use JNA to allocate buffers in the block cache

Posted by "Ted Yu (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13054203#comment-13054203 ] 

Ted Yu commented on HBASE-4026:
-------------------------------

According to https://github.com/twall/jna/blob/master/LICENSE, it it GPL

> Use JNA to allocate buffers in the block cache
> ----------------------------------------------
>
>                 Key: HBASE-4026
>                 URL: https://issues.apache.org/jira/browse/HBASE-4026
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>            Reporter: Jason Rutherglen
>            Priority: Minor
>
> The HBase block cache can be problematic because it is unpredictable when Java will reclaim the unused byte arrays using garbage collection.  
> JNA (Java Native Access from Sun/Oracle) provides one possible way to solve this problem.
> https://github.com/twall/jna
> Memory is the name of the class that can be used to test the implementation.
> https://github.com/twall/jna/blob/master/src/com/sun/jna/Memory.java

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-4026) Use JNA to allocate buffers in the block cache

Posted by "Jason Rutherglen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13054208#comment-13054208 ] 

Jason Rutherglen commented on HBASE-4026:
-----------------------------------------

@Todd Interesting.  Guess we have a new Jira issue to work on.

> Use JNA to allocate buffers in the block cache
> ----------------------------------------------
>
>                 Key: HBASE-4026
>                 URL: https://issues.apache.org/jira/browse/HBASE-4026
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>            Reporter: Jason Rutherglen
>            Priority: Minor
>
> The HBase block cache can be problematic because it is unpredictable when Java will reclaim the unused byte arrays using garbage collection.  
> JNA (Java Native Access from Sun/Oracle) provides one possible way to solve this problem.
> https://github.com/twall/jna
> Memory is the name of the class that can be used to test the implementation.
> https://github.com/twall/jna/blob/master/src/com/sun/jna/Memory.java

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-4026) Use JNA to allocate buffers in the block cache

Posted by "Jason Rutherglen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13054204#comment-13054204 ] 

Jason Rutherglen commented on HBASE-4026:
-----------------------------------------

Ok, so we need to abstract out the allocation part of the block cache, then implement the same download and install system as we used for LZO.  I guess this issue will not have code, instead I should open an issue for 'pluggable block cache systems or allocators'.

> Use JNA to allocate buffers in the block cache
> ----------------------------------------------
>
>                 Key: HBASE-4026
>                 URL: https://issues.apache.org/jira/browse/HBASE-4026
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>            Reporter: Jason Rutherglen
>            Priority: Minor
>
> The HBase block cache can be problematic because it is unpredictable when Java will reclaim the unused byte arrays using garbage collection.  
> JNA (Java Native Access from Sun/Oracle) provides one possible way to solve this problem.
> https://github.com/twall/jna
> Memory is the name of the class that can be used to test the implementation.
> https://github.com/twall/jna/blob/master/src/com/sun/jna/Memory.java

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Issue Comment Edited] (HBASE-4026) Use JNA to allocate buffers in the block cache

Posted by "Ted Yu (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13054203#comment-13054203 ] 

Ted Yu edited comment on HBASE-4026 at 6/24/11 1:27 AM:
--------------------------------------------------------

According to https://github.com/twall/jna/blob/master/LICENSE, it is GPL

      was (Author: yuzhihong@gmail.com):
    According to https://github.com/twall/jna/blob/master/LICENSE, it it GPL
  
> Use JNA to allocate buffers in the block cache
> ----------------------------------------------
>
>                 Key: HBASE-4026
>                 URL: https://issues.apache.org/jira/browse/HBASE-4026
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>            Reporter: Jason Rutherglen
>            Priority: Minor
>
> The HBase block cache can be problematic because it is unpredictable when Java will reclaim the unused byte arrays using garbage collection.  
> JNA (Java Native Access from Sun/Oracle) provides one possible way to solve this problem.
> https://github.com/twall/jna
> Memory is the name of the class that can be used to test the implementation.
> https://github.com/twall/jna/blob/master/src/com/sun/jna/Memory.java

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira