[
https://issues.apache.org/jira/browse/HBASE-21239?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Duo Zhang updated HBASE-21239:
------------------------------
Fix Version/s: 4.0.0-alpha-1
(was: 3.0.0-beta-2)
> REST Client class is not thread safe
> ------------------------------------
>
> Key: HBASE-21239
> URL: https://issues.apache.org/jira/browse/HBASE-21239
> Project: HBase
> Issue Type: Bug
> Components: Client, REST
> Affects Versions: 3.0.0-alpha-1
> Reporter: Jon Poulton
> Assignee: Jon Poulton
> Priority: Major
> Fix For: 4.0.0-alpha-1
>
> Original Estimate: 1h
> Remaining Estimate: 1h
>
> The REST Client class for HBase is not Thread safe, and the class itself does
> not have thread safety documented in the Javadoc. Previous versions of the
> class were thread safe.
> Adhering to the "principal of least surprise" future versions of the Client
> class should also be thread safe.
> The class can be found on the master branch, [however the issue
> |https://github.com/apache/hbase/blob/master/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/client/Client.java]exists
> at least as far back as version 2.1. On [line
> 68|https://github.com/apache/hbase/blob/master/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/client/Client.java#L68]
> and [line
> 69|https://github.com/apache/hbase/blob/master/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/client/Client.java#L69]
> are two instance variables that can potentially change on a per-request
> basis, are not synchronized and have no associated Lock. Both variables
> should be removed and their usage within method should be replaced with
> variables local to the method.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)