You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "stack (JIRA)" <ji...@apache.org> on 2017/07/02 04:41:01 UTC

[jira] [Updated] (HBASE-15702) Improve PerClientRandomNonceGenerator

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

stack updated HBASE-15702:
--------------------------
    Fix Version/s:     (was: 2.0.0)

> Improve PerClientRandomNonceGenerator
> -------------------------------------
>
>                 Key: HBASE-15702
>                 URL: https://issues.apache.org/jira/browse/HBASE-15702
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Hiroshi Ikeda
>            Priority: Trivial
>         Attachments: HBASE-15702.patch, HBASE-15702_v1.patch, HBASE-15702_v2.patch, HBASE-15702_v3.patch, HBASE-15702_v4.patch
>
>
> PerClientRandomNonceGenerator can be exposed to all the threads via the static field ConnectionManager.nonceGenerator, but PerClientRandomNonceGenerator uses Random, which should be ThreadLocalRandom or something. (See javadoc of Random.)
> Moreover, ConnectionManager creates or refers the singleton instance of PerClientThreadLocalRandom with a lock or volatile, but it should be created as a static final field in PerClientThreadLocalRandom itself, and the creation will be postponed until the field is actually refereed and the class is being initialized.
> The same can be said for ConnectionManager.NoNonceGenerator.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)