Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF » [CDO] Client startup causes server to load/revision every object
[CDO] Client startup causes server to load/revision every object [message #1842351] Wed, 16 June 2021 23:42 Go to next message
Warwick Burrows is currently offline Warwick BurrowsFriend
Messages: 132
Registered: July 2009
Location: Austin, TX
Senior Member
Each time I start my CDO client its taking up to 3 minutes to load while the first query to the server is run. What I can see when I turn a lot of the debug trace on in the server .options file is that the server seems to be visiting every object that I've stored in the server. The following trace is repeated around 2300 times in the server.log and there seems to be more than one of these for each revision. In this example the name of the object is "Object Map". I've included the TCPSelector trace at the end of the block but I'm not sure if this trace should go before or after the operation shown because its not clear which thread responds to the selection. So my real question is why does my CDO client or the CDO server seems to go over every object and every revision of the object in the DB on startup? It will also occur randomly when accessing objects from the client through the UI but startup is more reproducible and longer.

net4j-thread-9 [debug.signal] ================ Indicating: Signal[protocol=cdo, id=7, name=LoadRevisionsIndication, correlation=-48]
net4j-thread-9 [debug.protocol] Reading CDOIDObject of subtype 0 (LONG)
net4j-thread-9 [debug.signal] ================ Responding: Signal[protocol=cdo, id=7, name=LoadRevisionsIndication, correlation=-48]
net4j-thread-9 [debug.revision] Setting ID: OID30801
net4j-thread-9 [debug.revision] Setting branchPoint CDOResource@OID30801v0("/"): BranchPoint[Branch[id=0, name=MAIN], *]
net4j-thread-9 [debug.revision] Setting branchPoint CDOResource@OID30801:0v0("/"): BranchPoint[Branch[id=0, name=MAIN], 2021-06-02 23:04:34.367]
net4j-thread-9 [debug.revision] Setting version for CDOResource@OID30801:0v0("/"): v1
net4j-thread-9 [debug.revision] Setting revised CDOResource@OID30801:0v1("/"): *
net4j-thread-9 [debug.revision] Setting resourceID CDOResource@OID30801:0v1("/"): NULL
net4j-thread-9 [debug.revision] Setting containerID CDOResource@OID30801:0v1("/"): OID2
net4j-thread-9 [debug.revision] Setting containingFeatureID CDOResource@OID30801:0v1("/"): 0
net4j-thread-9 [debug.revision] Adding revision CDOResource@OID30801:0v1("Object View") to CDORevisionCache-Repository[REPO_NAME]
net4j-thread-9 [debug.revision] Adding revision CDOResource@OID30801:0v1("Object View") to CDORevisionCache-Repository[REPO_NAME]
net4j-thread-9 [debug.revision] Removed version 1 from cache list of OID30801
net4j-thread-9 [debug.revision] Removed cache list of OID30801:0
net4j-thread-9 [debug.revision] Adding revision CDOResource@OID30801:0v1("Object View") to CDORevisionCache-Repository[REPO_NAME]
net4j-thread-9 [debug.revision] Adding revision CDOResource@OID30801:0v1("Object View") to CDORevisionCache-Repository[REPO_NAME]
net4j-thread-9 [debug.revision] Writing revision: ID=OID30801, className=CDOResource, version=1, branchPoint=BranchPoint[Branch[id=0, name=MAIN], 2021-06-02 23:04:34.367], revised=0, resource=NULL, container=OID2, featureID=0
net4j-thread-9 [debug.protocol] Writing CDOIDObject of subtype 0 (LONG)
net4j-thread-9 [debug.protocol] Writing CDOID of type 0 (NULL)
net4j-thread-9 [debug.protocol] Writing CDOIDObject of subtype 0 (LONG)
net4j-thread-9 [debug.revision] Writing feature name: Object View
net4j-thread-9 [debug.protocol] Writing feature contents: size=1, referenceChunk=0
net4j-thread-9 [debug.channel] Handling buffer: Buffer@3[PUTTING] --> Channel[1, SERVER, cdo]
net4j-thread-9 [debug] Ordering server operation INTEREST WRITE java.nio.channels.SocketChannel[connected local=/cdo_server_ip:3036 remote=/cdo_client_ip:60391] = true
TCPSelector [debug] Executing server operation INTEREST WRITE java.nio.channels.SocketChannel[connected local=/cdo_server_ip:3036 remote=/cdo_client_ip:60391] = true
TCPSelector [debug] Setting interest READ|WRITE (was read)
TCPSelector [debug] Writing java.nio.channels.SocketChannel[connected local=/cdo_server_ip:3036 remote=/cdo_client_ip:60391]
TCPSelector [debug] Ordering server operation INTEREST WRITE java.nio.channels.SocketChannel[connected local=/cdo_server_ip:3036 remote=/cdo_client_ip:60391] = false
TCPSelector [debug] Executing server operation INTEREST WRITE java.nio.channels.SocketChannel[connected local=/cdo_server_ip:3036 remote=/cdo_client_ip:60391] = false
TCPSelector [debug] Setting interest READ (was read|write)
TCPSelector [debug] Reading java.nio.channels.SocketChannel[connected local=/cdo_server_ip:3036 remote=/cdo_client_ip:60391]
TCPSelector [debug.channel] Handling buffer from multiplexer: Buffer@1[GETTING] --> Channel[1, SERVER, cdo]
TCPSelector [debug.signal] Received first buffer for correlation 50
TCPSelector [debug.signal] Got signalID: 7
Re: [CDO] Client startup causes server to load/revision every object [message #1842755 is a reply to message #1842351] Wed, 30 June 2021 15:24 Go to previous message
Eike Stepper is currently offline Eike StepperFriend
Messages: 6682
Registered: July 2009
Senior Member
The trace shows that your server is executing a LoadRevisionsIndication. That means that the client must be executing a LoadRevisionsRequest. If you set a breakpoint there in the LoadRevisionsRequest constructor you should be able to see why.

Interesting that the cached revision is immediately removed again from the cache. That probably happens in CDORevisionManagerImpl.addRevision(line 542). Can you see why?

What kind of query is your client executing at startup?


Previous Topic:EMF model in runtime
Next Topic:[CDO] Meta-reference dynamic objects
Goto Forum:
  


Current Time: Fri Apr 19 00:14:14 GMT 2024

Powered by FUDForum. Page generated in 0.02268 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top