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

Anoop Sam John commented on HBASE-12435:
----------------------------------------

{code}
public boolean exists(final Get get) throws IOException {
    get.setCheckExistenceOnly(true);
    Result r = get(get);
{code}
Here before set clone the passed in Get object and set on the clonned object 
and use that. Same way in other bulk API as well.
See the constructor public Get(Get get) {

> The exists method on the HTable-class changes the passed-in Get-instance
> ------------------------------------------------------------------------
>
>                 Key: HBASE-12435
>                 URL: https://issues.apache.org/jira/browse/HBASE-12435
>             Project: HBase
>          Issue Type: Bug
>          Components: Client
>    Affects Versions: 0.98.6.1
>         Environment: Cloudera Hadoop HBase 5.2.0: 0.98.6.?
>            Reporter: GK Ephorus
>            Priority: Minor
>              Labels: easyfix
>
> Running an HTable.get right after using HTable.exists using the same instance 
> of a Get-object yields no results.
> Up on inspection of the code we found that the HTable.exists changes the 
> passed-in Get-object. It changes the property 'checkExistenceOnly' to true 
> which makes the passed-in Get-object useless for subsequent HTable.get calls.
> My suggestion is either:
> * indicate this behaviour in the documentation/javadoc
> * store the old value of the 'checkExistenceOnly' and restore it using 
> try-finally.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to