Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [ecf-dev] connection problem betwenn ecf 3.14.18 and 3.14.26

Hi Peter,

My insight into this is that during that time (i.e. after 2020-12) I had to mess around with the generic providers serialization and classloading (for serialization).   The reason this was necessary is to allow ECF to be the default implementation for the OSGi Remote Services TCK (test compatibility kit).

What I believe to be happening is that the (old) server may not be able to deserialize a class and therefore disconnects unexpectedly...making the subsequent calls (or imports) fail.

I would suggest trying to update the old server to the same version of ECF (3.14.36) if at all possible.   Alternatively, I *believe* that 3.14.18 should be able to run on most recent Eclipse, but honestly I haven't tested that.  I don't know of any obvious reason it shouldn't work (as long as using Java 11 or higher...as parts of Eclipse require java 11.

My apologies if this is an inconvenience.  If you can't update to 3.14.26 or use 3.14.18 let me know and I'll see what else might help (e.g. replacing just that bundle).

Scott

On 12/21/2021 5:08 AM, Peter Hermsdorf wrote:
Hi,

we needed to upgrade one part of our system to a newer eclipse release (2021-12). The other part is still using eclipse 2020-12 as target.

We use the generic server setup and now see the following exception when the "newer" client want's to import/connect services from the "older" server:

ERROR [framework] org.eclipse.core.runtime.Status[plugin=org.eclipse.ecf.provider.remoteservice;code=212;message=Exception sending registry update request/2 message;severity4;exception=java.net.ConnectException: Container not connected;children=[]]
java.net.ConnectException: Container not connected
    at org.eclipse.ecf.provider.generic.ClientSOContainer.checkConnected(ClientSOContainer.java:513)     at org.eclipse.ecf.provider.generic.ClientSOContainer.sendMessage(ClientSOContainer.java:428)     at org.eclipse.ecf.provider.generic.SOContext.sendMessage(SOContext.java:232)     at org.eclipse.ecf.core.sharedobject.BaseSharedObject.sendSharedObjectMsgTo(BaseSharedObject.java:362)     at org.eclipse.ecf.provider.remoteservice.generic.RegistrySharedObject.sendRegistryUpdateRequest(RegistrySharedObject.java:1146)     at org.eclipse.ecf.provider.remoteservice.generic.RegistrySharedObject.sendRegistryUpdateRequestAndWait(RegistrySharedObject.java:535)     at org.eclipse.ecf.provider.remoteservice.generic.RegistrySharedObject.addReferencesFromRemoteRegistrys(RegistrySharedObject.java:572)     at org.eclipse.ecf.provider.remoteservice.generic.RegistrySharedObject.getRemoteServiceReferences(RegistrySharedObject.java:160)     at org.eclipse.ecf.osgi.services.remoteserviceadmin.RemoteServiceAdmin$16.run(RemoteServiceAdmin.java:2263)     at org.eclipse.ecf.osgi.services.remoteserviceadmin.RemoteServiceAdmin$16.run(RemoteServiceAdmin.java:1)     at java.base/java.security.AccessController.doPrivileged(Native Method)     at org.eclipse.ecf.osgi.services.remoteserviceadmin.RemoteServiceAdmin.importService(RemoteServiceAdmin.java:2254)     at org.eclipse.ecf.osgi.services.remoteserviceadmin.RemoteServiceAdmin.importService(RemoteServiceAdmin.java:443)     at com.godyo.p5.util.remoting.internal.RemoteServiceRegistration.importService(RemoteServiceRegistration.java:111)     at com.godyo.p5.util.remoting.internal.RemoteServiceRegistration.lambda$6(RemoteServiceRegistration.java:106)     at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)     at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)     at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)

java versions are the same. the endpoint definitions seem to match and are unchanged.

When debugging i see that at first the connection seems to be successful (org.eclipse.ecf.provider.generic.ClientSOContainer.setStateConnected) is called, but short after that i see that org.eclipse.ecf.provider.generic.ClientSOContainer.setStateDisconnected is called.

The reason is not obvious. On server side no exceptions happen. That would also be a problem for a smooth migration/update process.

Any idea what the problem could be?

Thanks and best wishes,

Peter

_______________________________________________
ecf-dev mailing list
ecf-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/ecf-dev


Back to the top