[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [dsdp-tm-dev] Question about RSE startup
|
Good. I'll get the real fix into one of the first 2.0.1 builds.
_______________________
David Dykstal
david_dykstal@xxxxxxxxxx.
Greg Watson
<g.watson@compute
r.org> To
Sent by: Target Management developer
dsdp-tm-dev-bounc discussions
es@xxxxxxxxxxx <dsdp-tm-dev@xxxxxxxxxxx>
cc
06/27/2007 04:11 Subject
PM Re: [dsdp-tm-dev] Question about
RSE startup
Please respond to
Target Management
developer
discussions
<dsdp-tm-dev@ecli
pse.org>
David,
Yes, that does seem to fix the problem.
Thanks,
Greg
On Jun 27, 2007, at 10:44 AM, David Dykstal wrote:
> Martin --
>
> It looks like you are correct.
>
> Greg --
>
> You can try yanking the serializing provider from the plugin.xml of
> the
> rse.core plugin and see if this fixes your problem. Its there for
> testing
> purposes which is why it isn't autostart. You won't miss it.
> _______________________
> David Dykstal
> david_dykstal@xxxxxxxxxx
>
>
>
> "Oberhuber,
> Martin"
>
> <Martin.Oberhuber To
> @windriver.com> David Dykstal/Rochester/
> IBM@IBMUS
>
> cc
> 06/27/2007 11:28 "Target Management developer
> AM discussions"
> <dsdp-tm-dev@xxxxxxxxxxx>
>
> Subject
> RE: [dsdp-tm-dev] Question
> about
> RSE startup
>
>
>
>
>
>
>
>
>
>
> Dave -
>
> I think that Greg is right and
> RSEPersistenceManager.isRestoreComplete()
> is buggy. For me, it looks like in following code, as soon as we have
> a ProviderRecord that is not autostart, the method will always return
> false:
>
> public boolean isRestoreComplete() {
> boolean isComplete = true;
> String[] ids = getPersistenceProviderIds();
> for (int i = 0; i < ids.length &&
> isComplete; i++)
> {
> String id = ids[i];
> ProviderRecord pr =
> getProviderRecord
> (id);
> isComplete = pr.isAutostart() &&
> pr.isRestored();
> }
> return isComplete;
> }
>
> Correct code should be like this:
>
> for (int i = 0; i < ids.length &&
> isComplete; i++)
> {
> String id = ids[i];
> ProviderRecord pr =
> getProviderRecord
> (id);
> if (pr.isAutostart()) isComplete = pr.isRestored();
> }
>
> Because the SerializingProvider is not autostart, this would
> always return false. Can you confirm, and if yes create a bug for this
> and fix it for 2.0.1?
>
> Thanks,
> --
> Martin Oberhuber
> Wind River Systems, Inc.
> Target Management Project Lead, DSDP PMC Member
> http://www.eclipse.org/dsdp/tm
>
>> -----Original Message-----
>> From: dsdp-tm-dev-bounces@xxxxxxxxxxx
>> [mailto:dsdp-tm-dev-bounces@xxxxxxxxxxx] On Behalf Of Greg Watson
>> Sent: Wednesday, June 27, 2007 6:10 PM
>> To: Target Management developer discussions
>> Subject: Re: [dsdp-tm-dev] Question about RSE startup
>>
>> Martin,
>>
>> That's great. However it doesn't seem to work. Is there something
>> else that needs to be done apart from the following?
>>
>> if (!RSEUIPlugin.isTheSystemRegistryActive
>> ()) {
>> return false;
>> }
>>
>> sysReg = RSECorePlugin.getDefault
> ().getSystemRegistry();
>> if (sysReg == null) {
>> return false;
>> }
>>
>> while
>> (!RSECorePlugin.getThePersistenceManager().isRestoreComplete
>> ()) {
>> System.out.println("waiting for
> restore...");
>> try {
>> Thread.sleep(500);
>> } catch (InterruptedException e) {
>> }
>> }
>>
>> The call to isRestoreComplete() always returns false. This is being
>> run in a different thread to the UI thread.
>>
>> Greg
>>
>> On Jun 27, 2007, at 9:41 AM, Oberhuber, Martin wrote:
>>
>>> Hi Greg,
>>>
>>> There was
>>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=177332#c6
>>> requesting exactly this.
>>>
>>> As I understand it, what you need to do is
>>>
>>> RSECorePlugin.getThePersistenceManager().isRestoreComplete()
>>>
>>> Cheers,
>>> --
>>> Martin Oberhuber
>>> Wind River Systems, Inc.
>>> Target Management Project Lead, DSDP PMC Member
>>> http://www.eclipse.org/dsdp/tm>>>>
>>>
>>>> -----Original Message-----
>>>> From: dsdp-tm-dev-bounces@xxxxxxxxxxx
>>>> [mailto:dsdp-tm-dev-bounces@xxxxxxxxxxx] On Behalf Of Greg Watson
>>>> Sent: Wednesday, June 27, 2007 5:20 PM
>>>> To: Target Management developer discussions
>>>> Subject: [dsdp-tm-dev] Question about RSE startup
>>>>
>>>> Hi,
>>>>
>>>> I've been seeing strange behavior from RSE when I call from an
>>>> external plugin, particularly during early initialization of
>>>> Eclipse.
>>>> Although the RSE UI and core plugins are loaded, they don't seem to
>>>> have been fully configured. So calling
>>>> RSECorePlugin.getTheSystemRegistry().getHosts(), for example,
>>>> sometimes returns nothing, sometimes one host, sometimes
>>>> multiple hosts.
>>>>
>>>> I think the issue is caused by the use of InitRSEJob to perform RSE
>>>> initialization. I presume that this is to reduce the plugin loading
>>>> overhead on Eclipse, but the problem is that it may be some time
>>>> before this job is actually run, so it is possible to attempt
>>>> to call
>>>> RSE methods before it is fully initialized.
>>>>
>>>> Do you have any way of checking that RSE is ready, rather than just
>>>> loaded? Alternatively, could isTheSystemRegistryActive() be changed
>>>> so that it reflects the initialized state of RSE?
>>>>
>>>> Thanks,
>>>>
>>>> Greg
>>>> _______________________________________________
>>>> dsdp-tm-dev mailing list
>>>> dsdp-tm-dev@xxxxxxxxxxx
>>>> https://dev.eclipse.org/mailman/listinfo/dsdp-tm-dev
>>>>
>>> _______________________________________________
>>> dsdp-tm-dev mailing list
>>> dsdp-tm-dev@xxxxxxxxxxx
>>> https://dev.eclipse.org/mailman/listinfo/dsdp-tm-dev
>>>
>>
>> _______________________________________________
>> dsdp-tm-dev mailing list
>> dsdp-tm-dev@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/dsdp-tm-dev
>>
>
>
> _______________________________________________
> dsdp-tm-dev mailing list
> dsdp-tm-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/dsdp-tm-dev
>
_______________________________________________
dsdp-tm-dev mailing list
dsdp-tm-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/dsdp-tm-dev