You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Hadoop QA (JIRA)" <ji...@apache.org> on 2016/02/05 11:20:39 UTC

[jira] [Commented] (ZOOKEEPER-954) Findbugs/ClientCnxn: Bug type JLM_JSR166_UTILCONCURRENT_MONITORENTER

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

Hadoop QA commented on ZOOKEEPER-954:
-------------------------------------

-1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12786452/ZOOKEEPER-954.patch
  against trunk revision 1728577.

    +1 @author.  The patch does not contain any @author tags.

    -1 tests included.  The patch doesn't appear to include any new or modified tests.
                        Please justify why no new tests are needed for this patch.
                        Also please list what manual steps were performed to verify this patch.

    -1 patch.  The patch command could not apply the patch.

Console output: https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/3034//console

This message is automatically generated.

> Findbugs/ClientCnxn: Bug type JLM_JSR166_UTILCONCURRENT_MONITORENTER
> --------------------------------------------------------------------
>
>                 Key: ZOOKEEPER-954
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-954
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: java client
>            Reporter: Thomas Koch
>            Priority: Minor
>         Attachments: ZOOKEEPER-954.patch
>
>
> JLM 	Synchronization performed on java.util.concurrent.LinkedBlockingQueue in org.apache.zookeeper.ClientCnxn$EventThread.queuePacket(ClientCnxn$Packet)
> 	
> Bug type JLM_JSR166_UTILCONCURRENT_MONITORENTER (click for details)
> In class org.apache.zookeeper.ClientCnxn$EventThread
> In method org.apache.zookeeper.ClientCnxn$EventThread.queuePacket(ClientCnxn$Packet)
> Type java.util.concurrent.LinkedBlockingQueue
> Value loaded from field org.apache.zookeeper.ClientCnxn$EventThread.waitingEvents
> At ClientCnxn.java:[line 411]
> JLM 	Synchronization performed on java.util.concurrent.LinkedBlockingQueue in org.apache.zookeeper.ClientCnxn$EventThread.run()
> 	
> Bug type JLM_JSR166_UTILCONCURRENT_MONITORENTER (click for details)
> In class org.apache.zookeeper.ClientCnxn$EventThread
> In method org.apache.zookeeper.ClientCnxn$EventThread.run()
> Type java.util.concurrent.LinkedBlockingQueue
> Value loaded from field org.apache.zookeeper.ClientCnxn$EventThread.waitingEvents
> At ClientCnxn.java:[line 436]
> The respective code:
> 409	       public void queuePacket(Packet packet) {
> 410	          if (wasKilled) {
> 411	             synchronized (waitingEvents) {
> 412	                if (isRunning) waitingEvents.add(packet);
> 413	                else processEvent(packet);
> 414	             }
> 415	          } else {
> 416	             waitingEvents.add(packet);
> 417	          }
> 418	       }
> 419	
> 420	        public void queueEventOfDeath() {
> 421	            waitingEvents.add(eventOfDeath);
> 422	        }
> 423	
> 424	        @Override
> 425	        public void run() {
> 426	           try {
> 427	              isRunning = true;
> 428	              while (true) {
> 429	                 Object event = waitingEvents.take();
> 430	                 if (event == eventOfDeath) {
> 431	                    wasKilled = true;
> 432	                 } else {
> 433	                    processEvent(event);
> 434	                 }
> 435	                 if (wasKilled)
> 436	                    synchronized (waitingEvents) {
> 437	                       if (waitingEvents.isEmpty()) {
> 438	                          isRunning = false;
> 439	                          break;
> 440	                       }
> 441	                    }
> 442	              }



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)