[ 
https://issues.apache.org/jira/browse/HBASE-21239?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jon Poulton reassigned HBASE-21239:
-----------------------------------

    Assignee: Jon Poulton

> 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
>            Reporter: Jon Poulton
>            Assignee: Jon Poulton
>            Priority: Major
>             Fix For: 3.0.0
>
>   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
(v7.6.3#76005)

Reply via email to