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
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 is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.