You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Bing Li (Created) (JIRA)" <ji...@apache.org> on 2012/04/05 18:00:25 UTC

[jira] [Created] (HBASE-5728) Methods Missing in HTableInterface

Methods Missing in HTableInterface
----------------------------------

                 Key: HBASE-5728
                 URL: https://issues.apache.org/jira/browse/HBASE-5728
             Project: HBase
          Issue Type: Improvement
          Components: client
            Reporter: Bing Li


Dear all,

I found some methods existed in HTable were not in HTableInterface.

   setAutoFlush
   setWriteBufferSize
   ...

In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?

I am considering writing my own table pool if no proper ways. Is it fine?

Thanks so much!

Best regards,
Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Re: [jira] [Commented] (HBASE-5728) Methods Missing in HTableInterface

Posted by Jimmy Xiang <jx...@cloudera.com>.
getConnection is also deprecated.

On Fri, Aug 10, 2012 at 3:46 PM, Jimmy Xiang <jx...@cloudera.com> wrote:
> Hi Bing,
>
> Are you working on this issue?
>
> Based on comments, at least the following methods should be added to
> HTableInterface:
>
>   public HConnection getConnection();
>
>   public byte[][] getStartKeys() throws IOException;
>   public byte[][] getEndKeys() throws IOException;
>   public Pair<byte[][], byte[][]> getStartEndKeys() throws IOException;
>
>   public void setAutoFlush(boolean autoFlush);
>   public void setAutoFlush(boolean autoFlush, boolean clearBufferOnFail);
>
>   public long getWriteBufferSize();
>   public void setWriteBufferSize(long writeBufferSize) throws IOException,
>
> Thanks,
> Jimmy
>
>
> ---------- Forwarded message ----------
> From: Lars Hofhansl (JIRA) <ji...@apache.org>
> Date: Tue, Jul 31, 2012 at 12:01 PM
> Subject: [jira] [Commented] (HBASE-5728) Methods Missing in HTableInterface
> To: issues@hbase.apache.org
>
>
>
>     [ https://issues.apache.org/jira/browse/HBASE-5728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13426024#comment-13426024
> ]
>
> Lars Hofhansl commented on HBASE-5728:
> --------------------------------------
>
> These:
> {code}
> public Map<HRegionInfo, HServerAddress> getRegionsInfo() throws IOException;
> public HRegionLocation getRegionLocation(String row) throws IOException;
> public HRegionLocation getRegionLocation(byte[] row) throws IOException;
>
> public void prewarmRegionCache(Map<HRegionInfo, HServerAddress> regionMap);
> public void clearRegionCache();
>
> public long getWriteBufferSize();
> public void setWriteBufferSize(long writeBufferSize) throws IOException,
> public ArrayList<Put> getWriteBuffer();
> {code}
>
>
> Would leak implementation stuff into the interface.
> I think HBASE-4054 specifically mentions, that {code}public
> Map<HRegionInfo, HServerAddress> getRegionsInfo() throws
> IOException;{code} is needed. Hmm...
>
>
>> Methods Missing in HTableInterface
>> ----------------------------------
>>
>>                 Key: HBASE-5728
>>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>>             Project: HBase
>>          Issue Type: Improvement
>>          Components: client
>>            Reporter: Bing Li
>>
>> Dear all,
>> I found some methods existed in HTable were not in HTableInterface.
>>    setAutoFlush
>>    setWriteBufferSize
>>    ...
>> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
>> I am considering writing my own table pool if no proper ways. Is it fine?
>> Thanks so much!
>> Best regards,
>> Bing
>
> --
> This message is automatically generated by JIRA.
> If you think it was sent incorrectly, please contact your JIRA
> administrators:
> https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
> For more information on JIRA, see: http://www.atlassian.com/software/jira

Fwd: [jira] [Commented] (HBASE-5728) Methods Missing in HTableInterface

Posted by Jimmy Xiang <jx...@cloudera.com>.
Hi Bing,

Are you working on this issue?

Based on comments, at least the following methods should be added to
HTableInterface:

  public HConnection getConnection();

  public byte[][] getStartKeys() throws IOException;
  public byte[][] getEndKeys() throws IOException;
  public Pair<byte[][], byte[][]> getStartEndKeys() throws IOException;

  public void setAutoFlush(boolean autoFlush);
  public void setAutoFlush(boolean autoFlush, boolean clearBufferOnFail);

  public long getWriteBufferSize();
  public void setWriteBufferSize(long writeBufferSize) throws IOException,

Thanks,
Jimmy


---------- Forwarded message ----------
From: Lars Hofhansl (JIRA) <ji...@apache.org>
Date: Tue, Jul 31, 2012 at 12:01 PM
Subject: [jira] [Commented] (HBASE-5728) Methods Missing in HTableInterface
To: issues@hbase.apache.org



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

Lars Hofhansl commented on HBASE-5728:
--------------------------------------

These:
{code}
public Map<HRegionInfo, HServerAddress> getRegionsInfo() throws IOException;
public HRegionLocation getRegionLocation(String row) throws IOException;
public HRegionLocation getRegionLocation(byte[] row) throws IOException;

public void prewarmRegionCache(Map<HRegionInfo, HServerAddress> regionMap);
public void clearRegionCache();

public long getWriteBufferSize();
public void setWriteBufferSize(long writeBufferSize) throws IOException,
public ArrayList<Put> getWriteBuffer();
{code}


Would leak implementation stuff into the interface.
I think HBASE-4054 specifically mentions, that {code}public
Map<HRegionInfo, HServerAddress> getRegionsInfo() throws
IOException;{code} is needed. Hmm...


> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA
administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5728) Methods Missing in HTableInterface

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

Jimmy Xiang commented on HBASE-5728:
------------------------------------

In v2, there are methods about start/end keys. Should we keep them in HTableInterface?
                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>            Assignee: Jimmy Xiang
>         Attachments: trunk-5728.patch, trunk-5728_v2.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-5728) Methods Missing in HTableInterface

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-5728?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jimmy Xiang updated HBASE-5728:
-------------------------------

    Status: Open  (was: Patch Available)
    
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>            Assignee: Jimmy Xiang
>         Attachments: trunk-5728.patch, trunk-5728_v2.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5728) Methods Missing in HTableInterface

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

Lars George commented on HBASE-5728:
------------------------------------

Sorry for being late here, but one thing that irks me is that you can set the buffer size, which already implies what the given values means, but have no means to return the buffer itself. Should we create a new JIRA that abstracts the write buffer into an interface that is returned? That way we can add it to HTableInterface as "public WriteBuffer getWriteBuffer()" or some such. Then the write buffer size as a long could be interpreted as whatever the actual implementation chooses?
                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0, 0.94.2
>
>         Attachments: trunk-5728.patch, trunk-5728_v2.patch, trunk-5728_v3.patch, trunk-5728_v4.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-5728) Methods Missing in HTableInterface

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-5728?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jimmy Xiang updated HBASE-5728:
-------------------------------

    Attachment: trunk-5728_v2.patch
    
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>            Assignee: Jimmy Xiang
>         Attachments: trunk-5728.patch, trunk-5728_v2.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5728) Methods Missing in HTableInterface

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

stack commented on HBASE-5728:
------------------------------

@Bing Yes.  If you are up for it.

@Lars Thanks for doing the research.  
                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5728) Methods Missing in HTableInterface

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

Lars Hofhansl commented on HBASE-5728:
--------------------------------------

I'm fine with #2. Returning NavigableMap is good here, because it let's the caller make gymnastics based on the order of the keys, which is sometimes useful.

                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>            Assignee: Jimmy Xiang
>         Attachments: trunk-5728.patch, trunk-5728_v2.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5728) Methods Missing in HTableInterface

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

Hudson commented on HBASE-5728:
-------------------------------

Integrated in HBase-0.94-security #48 (See [https://builds.apache.org/job/HBase-0.94-security/48/])
    HBASE-5728 Methods Missing in HTableInterface (Revision 1373480)

     Result = FAILURE
jxiang : 
Files : 
* /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HTableInterface.java
* /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java
* /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java

                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0, 0.94.2
>
>         Attachments: trunk-5728.patch, trunk-5728_v2.patch, trunk-5728_v3.patch, trunk-5728_v4.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5728) Methods Missing in HTableInterface

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

Jonathan Hsieh commented on HBASE-5728:
---------------------------------------

+1 v4.  Maybe file another jira if other metadata ops are in HTable and should be moved.  Lars this sound good to you?


                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>            Assignee: Jimmy Xiang
>         Attachments: trunk-5728.patch, trunk-5728_v2.patch, trunk-5728_v3.patch, trunk-5728_v4.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5728) Methods Missing in HTableInterface

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

Hadoop QA commented on HBASE-5728:
----------------------------------

-1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12540779/trunk-5728_v2.patch
  against trunk revision .

    +1 @author.  The patch does not contain any @author tags.

    -1 tests included.  The patch doesn't appear to include any new or modified tests.
                        Please justify why no new tests are needed for this patch.
                        Also please list what manual steps were performed to verify this patch.

    +1 hadoop2.0.  The patch compiles against the hadoop 2.0 profile.

    +1 javadoc.  The javadoc tool did not generate any warning messages.

    -1 javac.  The applied patch generated 5 javac compiler warnings (more than the trunk's current 4 warnings).

    -1 findbugs.  The patch appears to introduce 9 new Findbugs (version 1.3.9) warnings.

    +1 release audit.  The applied patch does not increase the total number of release audit warnings.

     -1 core tests.  The patch failed these unit tests:
                       org.apache.hadoop.hbase.replication.TestReplication

Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/2560//testReport/
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2560//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2560//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2560//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2560//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2560//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/2560//console

This message is automatically generated.
                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>            Assignee: Jimmy Xiang
>         Attachments: trunk-5728.patch, trunk-5728_v2.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5728) Methods Missing in HTableInterface

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

Lars George commented on HBASE-5728:
------------------------------------

Here is what you find only in HTable in 0.90.x:

{code}
public ArrayList<Put> getWriteBuffer();
public int getCurrentNrHRS() throws IOException;
public HRegionLocation getRegionLocation(String row) throws IOException;
public HRegionLocation getRegionLocation(byte[] row) throws IOException;
public HConnection getConnection();
public int getScannerCaching();
public void setScannerCaching(int scannerCaching);
public byte[][] getStartKeys() throws IOException;
public byte[][] getEndKeys() throws IOException;
public Pair<byte[][], byte[][]> getStartEndKeys() throws IOException;
public Map<HRegionInfo, HServerAddress> getRegionsInfo() throws IOException;
public void prewarmRegionCache(Map<HRegionInfo, HServerAddress> regionMap);
public void serializeRegionInfo(DataOutput out) throws IOException;
public Map<HRegionInfo, HServerAddress> deserializeRegionInfo(DataInput in) throws IOException;
public void clearRegionCache();
public void setAutoFlush(boolean autoFlush);
public void setAutoFlush(boolean autoFlush, boolean clearBufferOnFail);  
public long getWriteBufferSize();
public void setWriteBufferSize(long writeBufferSize) throws IOException,
{code}

Out of those we should check those that should be elevated into the HTableInterface. Sorting them a dropping some serialization related ones, I could think of these to be added:

{code}
public HConnection getConnection();

public int getScannerCaching();
public void setScannerCaching(int scannerCaching);

public byte[][] getStartKeys() throws IOException;
public byte[][] getEndKeys() throws IOException;
public Pair<byte[][], byte[][]> getStartEndKeys() throws IOException;
public Map<HRegionInfo, HServerAddress> getRegionsInfo() throws IOException;
public HRegionLocation getRegionLocation(String row) throws IOException;
public HRegionLocation getRegionLocation(byte[] row) throws IOException;

public void prewarmRegionCache(Map<HRegionInfo, HServerAddress> regionMap);
public void clearRegionCache();

public void setAutoFlush(boolean autoFlush);
public void setAutoFlush(boolean autoFlush, boolean clearBufferOnFail);  

public long getWriteBufferSize();
public void setWriteBufferSize(long writeBufferSize) throws IOException,
public ArrayList<Put> getWriteBuffer();
{code}

This is adding a lot to the interface, but we need to really decide what is "generic", and what is an implementation detail needed only for a concrete class implementing HTableInterface.

I could imagine getConnection() to be very specific to a remote table implementation. This might be not required for, for example, a HTableInterface implementation for coprocessors (i.e. the one returned by the copro context). 

This is open for feedback please!
                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5728) Methods Missing in HTableInterface

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

Hudson commented on HBASE-5728:
-------------------------------

Integrated in HBase-0.94-security-on-Hadoop-23 #7 (See [https://builds.apache.org/job/HBase-0.94-security-on-Hadoop-23/7/])
    HBASE-5728 Methods Missing in HTableInterface (Revision 1373480)

     Result = FAILURE
jxiang : 
Files : 
* /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HTableInterface.java
* /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java
* /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java

                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0, 0.94.2
>
>         Attachments: trunk-5728.patch, trunk-5728_v2.patch, trunk-5728_v3.patch, trunk-5728_v4.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-5728) Methods Missing in HTableInterface

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-5728?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jimmy Xiang updated HBASE-5728:
-------------------------------

    Assignee: Jimmy Xiang
      Status: Open  (was: Patch Available)
    
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>            Assignee: Jimmy Xiang
>         Attachments: trunk-5728.patch, trunk-5728_v2.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-5728) Methods Missing in HTableInterface

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-5728?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jimmy Xiang updated HBASE-5728:
-------------------------------

    Resolution: Fixed
        Status: Resolved  (was: Patch Available)

Thanks everyone. Patch v4 was integrated to 0.96 and 0.94.2.
                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0, 0.94.2
>
>         Attachments: trunk-5728.patch, trunk-5728_v2.patch, trunk-5728_v3.patch, trunk-5728_v4.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5728) Methods Missing in HTableInterface

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

Hadoop QA commented on HBASE-5728:
----------------------------------

-1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12540981/trunk-5728_v4.patch
  against trunk revision .

    +1 @author.  The patch does not contain any @author tags.

    -1 tests included.  The patch doesn't appear to include any new or modified tests.
                        Please justify why no new tests are needed for this patch.
                        Also please list what manual steps were performed to verify this patch.

    +1 hadoop2.0.  The patch compiles against the hadoop 2.0 profile.

    +1 javadoc.  The javadoc tool did not generate any warning messages.

    -1 javac.  The applied patch generated 5 javac compiler warnings (more than the trunk's current 4 warnings).

    -1 findbugs.  The patch appears to introduce 9 new Findbugs (version 1.3.9) warnings.

    +1 release audit.  The applied patch does not increase the total number of release audit warnings.

    +1 core tests.  The patch passed unit tests in .

Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/2570//testReport/
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2570//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2570//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2570//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2570//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2570//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/2570//console

This message is automatically generated.
                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>            Assignee: Jimmy Xiang
>         Attachments: trunk-5728.patch, trunk-5728_v2.patch, trunk-5728_v3.patch, trunk-5728_v4.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5728) Methods Missing in HTableInterface

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

Jonathan Hsieh commented on HBASE-5728:
---------------------------------------

Hm.. why isn't  

{code}
public NavigableMap<HRegionInfo, ServerName> getRegionLocations() throws IOException
{code}

in HBaseAdmin or something like that instead of HTable?

HBaseAdmin seems to have these already which seem very related.
{code}
List<HRegionInfo>	getTableRegions(byte[] tableName) 
List<HRegionInfo>	getOnlineRegions(ServerName sn) 
{code}

Seems like this is for metadata instead of for getting or putting data like the others.

                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>            Assignee: Jimmy Xiang
>         Attachments: trunk-5728.patch, trunk-5728_v2.patch, trunk-5728_v3.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5728) Methods Missing in HTableInterface

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

Jimmy Xiang commented on HBASE-5728:
------------------------------------

@Lars, yes, we can add all useful methods to the interface.  For now, I am not sure if the start/end key methods are useful.  They are for MR. getRegionLocations is for MR too.
                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>            Assignee: Jimmy Xiang
>         Attachments: trunk-5728.patch, trunk-5728_v2.patch, trunk-5728_v3.patch, trunk-5728_v4.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-5728) Methods Missing in HTableInterface

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-5728?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jimmy Xiang updated HBASE-5728:
-------------------------------

    Hadoop Flags: Reviewed
          Status: Patch Available  (was: Open)

v4 removed getRegionLocations.  In TableResource/RegionsResource, we can use HBaseAdmin to get such info instead of using HTablePool.
                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>            Assignee: Jimmy Xiang
>         Attachments: trunk-5728.patch, trunk-5728_v2.patch, trunk-5728_v3.patch, trunk-5728_v4.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5728) Methods Missing in HTableInterface

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

Bing Li commented on HBASE-5728:
--------------------------------

Stack,

Thanks so much! You mean I need to fix the bug myself?

Best,
Bing



                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5728) Methods Missing in HTableInterface

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

Lars Hofhansl commented on HBASE-5728:
--------------------------------------

These:
{code}
public Map<HRegionInfo, HServerAddress> getRegionsInfo() throws IOException;
public HRegionLocation getRegionLocation(String row) throws IOException;
public HRegionLocation getRegionLocation(byte[] row) throws IOException;

public void prewarmRegionCache(Map<HRegionInfo, HServerAddress> regionMap);
public void clearRegionCache();

public long getWriteBufferSize();
public void setWriteBufferSize(long writeBufferSize) throws IOException,
public ArrayList<Put> getWriteBuffer();
{code}


Would leak implementation stuff into the interface.
I think HBASE-4054 specifically mentions, that {code}public Map<HRegionInfo, HServerAddress> getRegionsInfo() throws IOException;{code} is needed. Hmm...

                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5728) Methods Missing in HTableInterface

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

Jimmy Xiang commented on HBASE-5728:
------------------------------------

@Lars, I see. So should we go with patch 1?
                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>            Assignee: Jimmy Xiang
>         Attachments: trunk-5728.patch, trunk-5728_v2.patch, trunk-5728_v3.patch, trunk-5728_v4.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5728) Methods Missing in HTableInterface

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

Jimmy Xiang commented on HBASE-5728:
------------------------------------

isAutoFlush() is already in the interface. Just adding those auto flush related methods should not affect the purity of the interface. Let's go with v4, how is that?
                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>            Assignee: Jimmy Xiang
>         Attachments: trunk-5728.patch, trunk-5728_v2.patch, trunk-5728_v3.patch, trunk-5728_v4.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5728) Methods Missing in HTableInterface

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

Lars Hofhansl commented on HBASE-5728:
--------------------------------------

+1 on v4 :)
                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>            Assignee: Jimmy Xiang
>         Attachments: trunk-5728.patch, trunk-5728_v2.patch, trunk-5728_v3.patch, trunk-5728_v4.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5728) Methods Missing in HTableInterface

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

Hadoop QA commented on HBASE-5728:
----------------------------------

-1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12540691/trunk-5728.patch
  against trunk revision .

    +1 @author.  The patch does not contain any @author tags.

    -1 tests included.  The patch doesn't appear to include any new or modified tests.
                        Please justify why no new tests are needed for this patch.
                        Also please list what manual steps were performed to verify this patch.

    +1 hadoop2.0.  The patch compiles against the hadoop 2.0 profile.

    +1 javadoc.  The javadoc tool did not generate any warning messages.

    -1 javac.  The applied patch generated 5 javac compiler warnings (more than the trunk's current 4 warnings).

    -1 findbugs.  The patch appears to introduce 9 new Findbugs (version 1.3.9) warnings.

    +1 release audit.  The applied patch does not increase the total number of release audit warnings.

     -1 core tests.  The patch failed these unit tests:
                       org.apache.hadoop.hbase.regionserver.TestServerCustomProtocol

Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/2555//testReport/
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2555//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2555//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2555//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2555//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2555//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/2555//console

This message is automatically generated.
                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>         Attachments: trunk-5728.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5728) Methods Missing in HTableInterface

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

Hudson commented on HBASE-5728:
-------------------------------

Integrated in HBase-0.94 #393 (See [https://builds.apache.org/job/HBase-0.94/393/])
    HBASE-5728 Methods Missing in HTableInterface (Revision 1373480)

     Result = FAILURE
jxiang : 
Files : 
* /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HTableInterface.java
* /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java
* /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java

                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0, 0.94.2
>
>         Attachments: trunk-5728.patch, trunk-5728_v2.patch, trunk-5728_v3.patch, trunk-5728_v4.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5728) Methods Missing in HTableInterface

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

Lars Hofhansl commented on HBASE-5728:
--------------------------------------

@Jimmy: Once we agreed to option #2 above let's just add all useful methods to the interface, that would include the start/end key methods.
@Jon: Excellent point. Maybe all metadata type operations should be removed from HTable.
                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>            Assignee: Jimmy Xiang
>         Attachments: trunk-5728.patch, trunk-5728_v2.patch, trunk-5728_v3.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-5728) Methods Missing in HTableInterface

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-5728?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jimmy Xiang updated HBASE-5728:
-------------------------------

    Status: Patch Available  (was: Open)

v3 doesn't have start/end keys methods. We can add them later when needed.
                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>            Assignee: Jimmy Xiang
>         Attachments: trunk-5728.patch, trunk-5728_v2.patch, trunk-5728_v3.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5728) Methods Missing in HTableInterface

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

Lars Hofhansl commented on HBASE-5728:
--------------------------------------

{code}
public int getScannerCaching();
public void setScannerCaching(int scannerCaching);
{code}
These two are deprecated (in trunk at least), let's not add them to the interface.
                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-5728) Methods Missing in HTableInterface

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-5728?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jimmy Xiang updated HBASE-5728:
-------------------------------

    Attachment: trunk-5728_v4.patch
    
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>            Assignee: Jimmy Xiang
>         Attachments: trunk-5728.patch, trunk-5728_v2.patch, trunk-5728_v3.patch, trunk-5728_v4.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-5728) Methods Missing in HTableInterface

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-5728?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jimmy Xiang updated HBASE-5728:
-------------------------------

    Status: Patch Available  (was: Open)

Added one method:

{noformat}
  public NavigableMap<HRegionInfo, ServerName> getRegionLocations() throws IOException;
{noformat}

It is to replace 

{noformat}
public Map<HRegionInfo, HServerAddress> getRegionsInfo() throws IOException
{noformat}

which is used by TableResource.
                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>            Assignee: Jimmy Xiang
>         Attachments: trunk-5728.patch, trunk-5728_v2.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5728) Methods Missing in HTableInterface

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

Lars Hofhansl commented on HBASE-5728:
--------------------------------------

I'm fine either way. If we do not want to keep the interface pure I'm all for adding the *key methods there as well.
                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>            Assignee: Jimmy Xiang
>         Attachments: trunk-5728.patch, trunk-5728_v2.patch, trunk-5728_v3.patch, trunk-5728_v4.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5728) Methods Missing in HTableInterface

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

Lars Hofhansl commented on HBASE-5728:
--------------------------------------

@Jimmy: As an example we use these to parallelize scans across multiple region servers. But we just use HTables for that.
                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>            Assignee: Jimmy Xiang
>         Attachments: trunk-5728.patch, trunk-5728_v2.patch, trunk-5728_v3.patch, trunk-5728_v4.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-5728) Methods Missing in HTableInterface

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-5728?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jimmy Xiang updated HBASE-5728:
-------------------------------

    Attachment: trunk-5728.patch
    
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>         Attachments: trunk-5728.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5728) Methods Missing in HTableInterface

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

stack commented on HBASE-5728:
------------------------------

Want to make a patch Bing?
                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5728) Methods Missing in HTableInterface

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

Hudson commented on HBASE-5728:
-------------------------------

Integrated in HBase-TRUNK-on-Hadoop-2.0.0 #131 (See [https://builds.apache.org/job/HBase-TRUNK-on-Hadoop-2.0.0/131/])
    HBASE-5728 Methods Missing in HTableInterface (Revision 1373481)

     Result = FAILURE
jxiang : 
Files : 
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/client/HTableInterface.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java

                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0, 0.94.2
>
>         Attachments: trunk-5728.patch, trunk-5728_v2.patch, trunk-5728_v3.patch, trunk-5728_v4.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5728) Methods Missing in HTableInterface

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

Jimmy Xiang commented on HBASE-5728:
------------------------------------

+1 for 2.

It seems to me too HTableInterface doesn't need those start/end keys info.  So, how about adding the following methods for now?

{noformat}
  public void setAutoFlush(boolean autoFlush);
  public void setAutoFlush(boolean autoFlush, boolean clearBufferOnFail);

  public long getWriteBufferSize();
  public void setWriteBufferSize(long writeBufferSize) throws IOException;

  public NavigableMap<HRegionInfo, ServerName> getRegionLocations() throws IOException;
{noformat}

We can always add more methods if needed later on.

We can use Map instead of NavigableMap if makes sense.

                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>            Assignee: Jimmy Xiang
>         Attachments: trunk-5728.patch, trunk-5728_v2.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5728) Methods Missing in HTableInterface

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

Lars Hofhansl commented on HBASE-5728:
--------------------------------------

+1 on v2
                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>            Assignee: Jimmy Xiang
>         Attachments: trunk-5728.patch, trunk-5728_v2.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-5728) Methods Missing in HTableInterface

Posted by "Lars Hofhansl (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-5728?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Lars Hofhansl updated HBASE-5728:
---------------------------------

    Fix Version/s: 0.94.2
                   0.96.0

Let's put this into 0.94 as well. Unless we're worried about folks who have created their own implementations of HTableInterface.
                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0, 0.94.2
>
>         Attachments: trunk-5728.patch, trunk-5728_v2.patch, trunk-5728_v3.patch, trunk-5728_v4.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5728) Methods Missing in HTableInterface

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

Lars Hofhansl commented on HBASE-5728:
--------------------------------------

There might be HTableInterface implementations where it makes no sense to even speak of start and end keys.

I think we have three options here:
# Keep HTableInterface pure as is, and use HTable directly when we need to know about the implementation.
# Add all necessary methods to HTableInterface
# Create another Interface - extending HTableInterface - which includes the needed implementation specific methods. Then we can decide in the using code what level of interface is needed.

Not sure which one is best.
                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>            Assignee: Jimmy Xiang
>         Attachments: trunk-5728.patch, trunk-5728_v2.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-5728) Methods Missing in HTableInterface

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-5728?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jimmy Xiang updated HBASE-5728:
-------------------------------

    Attachment: trunk-5728_v3.patch
    
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>            Assignee: Jimmy Xiang
>         Attachments: trunk-5728.patch, trunk-5728_v2.patch, trunk-5728_v3.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5728) Methods Missing in HTableInterface

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

Andrew Purtell commented on HBASE-5728:
---------------------------------------

bq. v4 removed getRegionLocations. In TableResource/RegionsResource, we can use HBaseAdmin to get such info instead of using HTablePool.

+1
                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>            Assignee: Jimmy Xiang
>         Attachments: trunk-5728.patch, trunk-5728_v2.patch, trunk-5728_v3.patch, trunk-5728_v4.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5728) Methods Missing in HTableInterface

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

Jimmy Xiang commented on HBASE-5728:
------------------------------------

Autoflush or not implies there is a buffer too. However, I think the buffer itself should be kept hidden from the interface.  Otherwise, client app could mess around with it, which should be prevented, right?
                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0, 0.94.2
>
>         Attachments: trunk-5728.patch, trunk-5728_v2.patch, trunk-5728_v3.patch, trunk-5728_v4.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-5728) Methods Missing in HTableInterface

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-5728?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jimmy Xiang updated HBASE-5728:
-------------------------------

    Status: Patch Available  (was: Open)

Based on comments, I put up a patch.  It added the following methods to HTableInterface from HTable:

{noformat}
  public byte[][] getStartKeys() throws IOException;
  public byte[][] getEndKeys() throws IOException;
  public Pair<byte[][], byte[][]> getStartEndKeys() throws IOException;

  public void setAutoFlush(boolean autoFlush);
  public void setAutoFlush(boolean autoFlush, boolean clearBufferOnFail);

  public long getWriteBufferSize();
  public void setWriteBufferSize(long writeBufferSize) throws IOException,
{noformat}


                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>         Attachments: trunk-5728.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-5728) Methods Missing in HTableInterface

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-5728?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jimmy Xiang updated HBASE-5728:
-------------------------------

    Status: Open  (was: Patch Available)
    
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>            Assignee: Jimmy Xiang
>         Attachments: trunk-5728.patch, trunk-5728_v2.patch, trunk-5728_v3.patch, trunk-5728_v4.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5728) Methods Missing in HTableInterface

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

Hudson commented on HBASE-5728:
-------------------------------

Integrated in HBase-TRUNK #3217 (See [https://builds.apache.org/job/HBase-TRUNK/3217/])
    HBASE-5728 Methods Missing in HTableInterface (Revision 1373481)

     Result = FAILURE
jxiang : 
Files : 
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/client/HTableInterface.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/rest/client/RemoteHTable.java

                
> Methods Missing in HTableInterface
> ----------------------------------
>
>                 Key: HBASE-5728
>                 URL: https://issues.apache.org/jira/browse/HBASE-5728
>             Project: HBase
>          Issue Type: Improvement
>          Components: client
>            Reporter: Bing Li
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0, 0.94.2
>
>         Attachments: trunk-5728.patch, trunk-5728_v2.patch, trunk-5728_v3.patch, trunk-5728_v4.patch
>
>
> Dear all,
> I found some methods existed in HTable were not in HTableInterface.
>    setAutoFlush
>    setWriteBufferSize
>    ...
> In most cases, I manipulate HBase through HTableInterface from HTablePool. If I need to use the above methods, how to do that?
> I am considering writing my own table pool if no proper ways. Is it fine?
> Thanks so much!
> Best regards,
> Bing

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira