hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary Gregory (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HTTPCORE-469) Use ReentrantReadWriteLock in AbstractConnPool
Date Mon, 19 Jun 2017 15:20:00 GMT

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

Gary Gregory commented on HTTPCORE-469:
---------------------------------------

I agree. If someone wants to step in and do the works, great, otherwise let's leave it. It
seems tricky to get this kind of code right and trickier to prove you've done it right with
unit tests.

> Use ReentrantReadWriteLock in AbstractConnPool
> ----------------------------------------------
>
>                 Key: HTTPCORE-469
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-469
>             Project: HttpComponents HttpCore
>          Issue Type: Improvement
>          Components: HttpCore
>            Reporter: Matt Nelson
>            Assignee: Oleg Kalnichevski
>            Priority: Minor
>              Labels: stuck, volunteers-wanted
>             Fix For: Future
>
>
> AbstractConnPool is currently using a {{ReentrantLock}} which has to lock for read and
write operations. Switching to {{ReentrantReadWriteLock}}[1] and read locks for the stats/getters
methods would reduce the possibility for instrumentation[1] to cause contention. Another option
would be {{StampedLock}}[3] if the compile target is 1.8.
> [1] https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/ReentrantReadWriteLock.html
> [2] https://github.com/dropwizard/metrics/blob/v3.2.2/metrics-httpclient/src/main/java/com/codahale/metrics/httpclient/InstrumentedHttpClientConnectionManager.java#L63-L95
> [3] https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/StampedLock.html



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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


Mime
View raw message