Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 358028 - Enabling Locking Notifications leads to endless server requests
Summary: Enabling Locking Notifications leads to endless server requests
Status: CLOSED FIXED
Alias: None
Product: EMF
Classification: Modeling
Component: cdo.core (show other bugs)
Version: 4.1   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Martin Fluegge CLA
QA Contact: Eike Stepper CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-09-18 13:58 EDT by Martin Fluegge CLA
Modified: 2012-09-21 07:16 EDT (History)
1 user (show)

See Also:


Attachments
Patch v1 (564 bytes, patch)
2011-09-18 14:03 EDT, Martin Fluegge CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Fluegge CLA 2011-09-18 13:58:12 EDT
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)

...
Comment 1 Eike Stepper CLA 2011-09-18 14:02:51 EDT
Same root cause as in bug 357092.
Comment 2 Martin Fluegge CLA 2011-09-18 14:03:06 EDT
Created attachment 203556 [details]
Patch v1

The method "enableLockNotifications" was missing the termination after a successful enabling of the notifications.
Comment 3 Martin Fluegge CLA 2011-09-18 14:03:39 EDT
Committed revision 9165
Comment 4 Caspar D. CLA 2011-09-18 23:16:22 EDT
Thanks.
Comment 5 Martin Fluegge CLA 2011-09-19 12:35:09 EDT
np ;)
Comment 6 Eike Stepper CLA 2012-09-21 07:16:39 EDT
Closing.