|Re: [ecf-dev] connection problem betwenn ecf 3.14.18 and 3.14.26|
sorry for being late with my reply.
Currently an update to a newer ECF and Eclipse version is not possible. That leads to a lot of compatibility problems and effort to manage everyone is using the matching clients e.g. in support scenarios with our customers which stay for some time on older versions.
A fallback mechanism in this case would be great to switch ECF versions at runtime to make it backward compatible but that is probably a project on it's own ...
In the end it was possible to use the "old" ECF implementation
even with a 2021-21 eclipse target platform. For now that resolves
the problem until an update is possible.
Thanks for your hints!
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).
On 12/21/2021 5:08 AM, Peter Hermsdorf wrote:
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 java.base/java.security.AccessController.doPrivileged(Native Method)
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,
Back to the top