[
https://issues.apache.org/jira/browse/ZOOKEEPER-2842?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16116209#comment-16116209
]
ASF GitHub Bot commented on ZOOKEEPER-2842:
-------------------------------------------
Github user maoling commented on a diff in the pull request:
https://github.com/apache/zookeeper/pull/308#discussion_r131591962
--- Diff:
src/java/main/org/apache/zookeeper/server/quorum/QuorumCnxManager.java ---
@@ -880,19 +876,20 @@ public void run() {
*
* @return boolean Value of variable running
*/
- synchronized boolean finish() {
- if(!running){
- /*
- * Avoids running finish() twice.
- */
- return running;
- }
- running = false;
-
- this.interrupt();
- threadCnt.decrementAndGet();
- return running;
- }
+ boolean finish() {
--- End diff --
Yes.we should keep a blance between optimization and readability.the most
importance thing for this optimization is whether this function has faced a
performace problem and this optimization is overdesign.
Haha.self-criticism.However ,I find the shadow of this programming paradigm in
zk code base
[Line501~Line507](https://github.com/apache/zookeeper/blob/master/src/java/main/org/apache/zookeeper/ClientCnxn.java
)
> optimize the finish() of Send/RecvWorker in QuorumCnxManager and remove
> testInitiateConnection() and formates some codes
> ------------------------------------------------------------------------------------------------------------------------
>
> Key: ZOOKEEPER-2842
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2842
> Project: ZooKeeper
> Issue Type: Improvement
> Components: quorum
> Reporter: maoling
> Priority: Trivial
>
> 1.the finish() of Send/RecvWorker in QuorumCnxManager changes to
> double-checked lock style
> [https://en.wikipedia.org/wiki/Double-checked_locking]
> ,a trivial code changes implement a smaller granularity lock to have a better
> perfermance in too fierce multithread situation.
> 2.testInitiateConnection() is redundant test function which is only used in
> TestCase,so I refactor it.
> 3.some codes don't abide to Java Programme Specification ,so I lift a finger
> to format them
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)