Community
Participate
Working Groups
When enabling the locking notifications on a CDOView ( view.options().setLockNotificationEnabled(true)) leads to a neverending request loop. See server trace below ... TCPSelector [debug.channel] Handling buffer from multiplexer: Buffer@52[GETTING] --> Channel[1, SERVER, cdo] ReceiveSerializer-Channel[1, SERVER, cdo] [debug.signal] Received buffer for correlation 2917 ReceiveSerializer-Channel[1, SERVER, cdo] [debug.signal] Got signalID: 53 Thread-14 [debug.signal] ================ Indicating: Signal[protocol=cdo, id=53, name=EnableLockNotificationIndication, correlation=-2.917] Thread-14 [debug.buffer] Retaining Buffer@52[RELEASED] Thread-14 [debug.signal] ================ Responding: Signal[protocol=cdo, id=53, name=EnableLockNotificationIndication, correlation=-2.917] Thread-14 [debug.buffer] Obtained Buffer@39[INITIAL] Thread-14 [debug.channel] Handling buffer: Buffer@39[PUTTING] --> Channel[1, SERVER, cdo] Thread-14 [debug] Ordering server operation INTEREST WRITE java.nio.channels.SocketChannel[connected local=/127.0.0.1:2036 remote=/127.0.0.1:2019] = true TCPSelector [debug] Executing server operation INTEREST WRITE java.nio.channels.SocketChannel[connected local=/127.0.0.1:2036 remote=/127.0.0.1:2019] = true TCPSelector [debug] Setting interest READ|WRITE (was read) TCPSelector [debug] Writing java.nio.channels.SocketChannel[connected local=/127.0.0.1:2036 remote=/127.0.0.1:2019] TCPSelector [debug.buffer] Writing 5 bytes (EOS) 00 00 0b 64 01 TCPSelector [debug.buffer] Retaining Buffer@39[RELEASED] TCPSelector [debug] Ordering server operation INTEREST WRITE java.nio.channels.SocketChannel[connected local=/127.0.0.1:2036 remote=/127.0.0.1:2019] = false TCPSelector [debug] Executing server operation INTEREST WRITE java.nio.channels.SocketChannel[connected local=/127.0.0.1:2036 remote=/127.0.0.1:2019] = false TCPSelector [debug] Setting interest READ (was read|write) TCPSelector [debug] Reading java.nio.channels.SocketChannel[connected local=/127.0.0.1:2036 remote=/127.0.0.1:2019] TCPSelector [debug.buffer] Obtained Buffer@52[INITIAL] TCPSelector [debug.buffer] Read 11 bytes (EOS) 00 00 0b 66 00 35 00 00 00 02 01 TCPSelector [debug.channel] Handling buffer from multiplexer: Buffer@52[GETTING] --> Channel[1, SERVER, cdo] ReceiveSerializer-Channel[1, SERVER, cdo] [debug.signal] Received buffer for correlation 2918 ReceiveSerializer-Channel[1, SERVER, cdo] [debug.signal] Got signalID: 53 Thread-14 [debug.signal] ================ Indicating: Signal[protocol=cdo, id=53, name=EnableLockNotificationIndication, correlation=-2.918] Thread-14 [debug.buffer] Retaining Buffer@52[RELEASED] Thread-14 [debug.signal] ================ Responding: Signal[protocol=cdo, id=53, name=EnableLockNotificationIndication, correlation=-2.918] Thread-14 [debug.buffer] Obtained Buffer@39[INITIAL] Thread-14 [debug.channel] Handling buffer: Buffer@39[PUTTING] --> Channel[1, SERVER, cdo] Thread-14 [debug] Ordering server operation INTEREST WRITE java.nio.channels.SocketChannel[connected local=/127.0.0.1:2036 remote=/127.0.0.1:2019] = true TCPSelector [debug] Executing server operation INTEREST WRITE java.nio.channels.SocketChannel[connected local=/127.0.0.1:2036 remote=/127.0.0.1:2019] = true TCPSelector [debug] Setting interest READ|WRITE (was read) TCPSelector [debug] Writing java.nio.channels.SocketChannel[connected local=/127.0.0.1:2036 remote=/127.0.0.1:2019] TCPSelector [debug.buffer] Writing 5 bytes (EOS) 00 00 0b 65 01 TCPSelector [debug.buffer] Retaining Buffer@39[RELEASED] TCPSelector [debug] Ordering server operation INTEREST WRITE java.nio.channels.SocketChannel[connected local=/127.0.0.1:2036 remote=/127.0.0.1:2019] = false TCPSelector [debug] Executing server operation INTEREST WRITE java.nio.channels.SocketChannel[connected local=/127.0.0.1:2036 remote=/127.0.0.1:2019] = false TCPSelector [debug] Setting interest READ (was read|write) TCPSelector [debug] Reading java.nio.channels.SocketChannel[connected local=/127.0.0.1:2036 remote=/127.0.0.1:2019] TCPSelector [debug.buffer] Obtained Buffer@52[INITIAL] TCPSelector [debug.buffer] Read 11 bytes (EOS) 00 00 0b 67 00 35 00 00 00 02 01 TCPSelector [debug.channel] Handling buffer from multiplexer: Buffer@52[GETTING] --> Channel[1, SERVER, cdo] ReceiveSerializer-Channel[1, SERVER, cdo] [debug.signal] Received buffer for correlation 2919 ReceiveSerializer-Channel[1, SERVER, cdo] [debug.signal] Got signalID: 53 Thread-14 [debug.signal] ================ Indicating: Signal[protocol=cdo, id=53, name=EnableLockNotificationIndication, correlation=-2.919] Thread-14 [debug.buffer] Retaining Buffer@52[RELEASED] Thread-14 [debug.signal] ================ Responding: Signal[protocol=cdo, id=53, name=EnableLockNotificationIndication, correlation=-2.919] Thread-14 [debug.buffer] Obtained Buffer@39[INITIAL] Thread-14 [debug.channel] Handling buffer: Buffer@39[PUTTING] --> Channel[1, SERVER, cdo] Thread-14 [debug] Ordering server operation INTEREST WRITE java.nio.channels.SocketChannel[connected local=/127.0.0.1:2036 remote=/127.0.0.1:2019] = true TCPSelector [debug] Executing server operation INTEREST WRITE java.nio.channels.SocketChannel[connected local=/127.0.0.1:2036 remote=/127.0.0.1:2019] = true TCPSelector [debug] Setting interest READ|WRITE (was read) TCPSelector [debug] Writing java.nio.channels.SocketChannel[connected local=/127.0.0.1:2036 remote=/127.0.0.1:2019] TCPSelector [debug.buffer] Writing 5 bytes (EOS) ...
Same root cause as in bug 357092.
Created attachment 203556 [details] Patch v1 The method "enableLockNotifications" was missing the termination after a successful enabling of the notifications.
Committed revision 9165
Thanks.
np ;)
Closing.