Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [ecf-dev] Discovery race condition?


On Jun 9, 2009, at 11:07 AM, Scott Lewis wrote:

Hi Bryan,

The listener is registered in the Activator of the org.eclipse.ecf.osgi.services.discovery bundle, which is started when the org.eclipse.ecf.osgi.services.distribution bundle is started.

So the key thing is that the org.eclipse.ecf.osgi.services.distribution bundle must be started in order to get everything going in a lazy start environment (like Eclipse)...or a class in o.e.e.osgi.services.distribution accessed, of course (as this will also start o.e.e.osgi.services.distribution and discovery).

If the osgi distribution (and discovery) bundles are not started, then yes...they will miss discovered services (assuming the ecf discovery *has* been started). This constraint isn't unique to ECF...as there was nothing in the spec (in my most recent reading of RFC 119) that discusses starting/start order in various environments.


Even if they are started prior to the discovery provider, I assert there is still a race condition. The listener is added asynchronously to the provider which could have already discovered it's services, could be in the process of discovering services, or may not discover any services for several hours. Isn't this the exact same problem as listening to regular OSGi services and why the ServiceTracker was created?

We can/could/may use declarative services to manage these service dependencies in the future, but didn't want to add another large set of dependencies in this release cycle.

Scott

Bryan Hunt wrote:
For a remote service to be discovered by RFC 119, it appears that it registers a listener with the IDiscoveryLocator. If services are discovered before the listener is registered, how does the RFC 119 code discover those services? It seems there might be a race condition here?

Bryan
_______________________________________________
ecf-dev mailing list
ecf-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ecf-dev

_______________________________________________
ecf-dev mailing list
ecf-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ecf-dev



Back to the top