[
https://issues.apache.org/jira/browse/HBASE-12435?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14200020#comment-14200020
]
GK Ephorus commented on HBASE-12435:
------------------------------------
Can you point me to the cloning of the Scan object? How would this work in case
of the batch?
Or better still: add a real exists-call to the protocol. This gives you a
'clone' automatically.
The quick-and-dirty fix would be to add the try-finally to both exists-calls
and restore the old value(s) of checkExistenceOnly. I'd be happy to provide a
patch for that.
> 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)