Details
-
Bug
-
Status: Patch Available
-
Minor
-
Resolution: Unresolved
-
None
-
None
-
None
Description
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)
415 } else
{ 416 waitingEvents.add(packet); 417 }418 }
419
420 public void queueEventOfDeath()
423
424 @Override
425 public void run() {
426 try {
427 isRunning = true;
428 while (true) {
429 Object event = waitingEvents.take();
430 if (event == eventOfDeath)
else
{ 433 processEvent(event); 434 }435 if (wasKilled)
436 synchronized (waitingEvents) {
437 if (waitingEvents.isEmpty())
441 }
442 }
Attachments
Attachments
Issue Links
- relates to
-
ZOOKEEPER-794 Callbacks are not invoked when the client is closed
- Closed