You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aries.apache.org by "metatech (Created) (JIRA)" <ji...@apache.org> on 2012/01/03 13:12:39 UTC

[jira] [Created] (ARIES-805) Blueprint container should re-enter Creating state when GracePeriod state is finished

Blueprint container should re-enter Creating state when GracePeriod state is finished
-------------------------------------------------------------------------------------

                 Key: ARIES-805
                 URL: https://issues.apache.org/jira/browse/ARIES-805
             Project: Aries
          Issue Type: Improvement
          Components: Blueprint
    Affects Versions: 0.2
         Environment: ServiceMix 4.3
            Reporter: metatech
            Priority: Minor


When a component is starting, the Blueprint container implementation (class BlueprintContainerImpl) enters the "Creating" state.
If a external dependency (namespace handler or OSGI service reference) is not available yet, it enters the "GracePeriod" state.
Once the GracePeriod is finished, the creation is performed, which ends up with the "Created" state.
However, when the creation takes a long time (for instance, in an ActiveMQ cluster configuration, the slave node waits forever until the master node goes down), the state is reported as "GracePeriod", although it is actually suspended in the "Creating" state.
This reporting can be misleading and makes troubleshooting require detailed understanding of the Blueprint states and transitions semantics .  It would be clearer to re-fire a "Creating" state Blueprint event (possibly with the "replay" flag).


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (ARIES-805) Blueprint container should re-enter Creating state when GracePeriod state is finished

Posted by "metatech (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ARIES-805?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

metatech updated ARIES-805:
---------------------------

    Attachment: ExitGracePeriodNotifier.java

(This is not a patch)
The following workaround can be used in the mean time : a registration listener is configured for any OSGi exported service, which re-emits the "Creating" event.
See full code and usage in attachment.
                
> Blueprint container should re-enter Creating state when GracePeriod state is finished
> -------------------------------------------------------------------------------------
>
>                 Key: ARIES-805
>                 URL: https://issues.apache.org/jira/browse/ARIES-805
>             Project: Aries
>          Issue Type: Improvement
>          Components: Blueprint
>    Affects Versions: 0.2
>         Environment: ServiceMix 4.3
>            Reporter: metatech
>            Priority: Minor
>         Attachments: ExitGracePeriodNotifier.java
>
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> When a component is starting, the Blueprint container implementation (class BlueprintContainerImpl) enters the "Creating" state.
> If a external dependency (namespace handler or OSGI service reference) is not available yet, it enters the "GracePeriod" state.
> Once the GracePeriod is finished, the creation is performed, which ends up with the "Created" state.
> However, when the creation takes a long time (for instance, in an ActiveMQ cluster configuration, the slave node waits forever until the master node goes down), the state is reported as "GracePeriod", although it is actually suspended in the "Creating" state.
> This reporting can be misleading and makes troubleshooting require detailed understanding of the Blueprint states and transitions semantics .  It would be clearer to re-fire a "Creating" state Blueprint event (possibly with the "replay" flag).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (ARIES-805) Blueprint container should re-enter Creating state when GracePeriod state is finished

Posted by "Alasdair Nottingham (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ARIES-805?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13178867#comment-13178867 ] 

Alasdair Nottingham commented on ARIES-805:
-------------------------------------------

I don't think the Blueprint specification would allow us to do this. The event transition diagram for blueprint (on page 207 of the Enterprise 4.2 specification) shows the events we are allowed to emit and there is none for the grace period ending. We also can't set the replay flag because that is only valid when a listener is first registered.

I do think this is a reasonable requirement so I'm going to email the EEG and get their view, but this probably isn't going to result in a quick fix.
                
> Blueprint container should re-enter Creating state when GracePeriod state is finished
> -------------------------------------------------------------------------------------
>
>                 Key: ARIES-805
>                 URL: https://issues.apache.org/jira/browse/ARIES-805
>             Project: Aries
>          Issue Type: Improvement
>          Components: Blueprint
>    Affects Versions: 0.2
>         Environment: ServiceMix 4.3
>            Reporter: metatech
>            Priority: Minor
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> When a component is starting, the Blueprint container implementation (class BlueprintContainerImpl) enters the "Creating" state.
> If a external dependency (namespace handler or OSGI service reference) is not available yet, it enters the "GracePeriod" state.
> Once the GracePeriod is finished, the creation is performed, which ends up with the "Created" state.
> However, when the creation takes a long time (for instance, in an ActiveMQ cluster configuration, the slave node waits forever until the master node goes down), the state is reported as "GracePeriod", although it is actually suspended in the "Creating" state.
> This reporting can be misleading and makes troubleshooting require detailed understanding of the Blueprint states and transitions semantics .  It would be clearer to re-fire a "Creating" state Blueprint event (possibly with the "replay" flag).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (ARIES-805) Blueprint container should re-enter Creating state when GracePeriod state is finished

Posted by "metatech (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ARIES-805?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13180247#comment-13180247 ] 

metatech commented on ARIES-805:
--------------------------------

Thanks Alasdair for looking into this.
As a comparaison, Spring DM provides 2 distinct events : OsgiServiceDependencyWaitStartingEvent and OsgiServiceDependencyWaitEndedEvent.
                
> Blueprint container should re-enter Creating state when GracePeriod state is finished
> -------------------------------------------------------------------------------------
>
>                 Key: ARIES-805
>                 URL: https://issues.apache.org/jira/browse/ARIES-805
>             Project: Aries
>          Issue Type: Improvement
>          Components: Blueprint
>    Affects Versions: 0.2
>         Environment: ServiceMix 4.3
>            Reporter: metatech
>            Priority: Minor
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> When a component is starting, the Blueprint container implementation (class BlueprintContainerImpl) enters the "Creating" state.
> If a external dependency (namespace handler or OSGI service reference) is not available yet, it enters the "GracePeriod" state.
> Once the GracePeriod is finished, the creation is performed, which ends up with the "Created" state.
> However, when the creation takes a long time (for instance, in an ActiveMQ cluster configuration, the slave node waits forever until the master node goes down), the state is reported as "GracePeriod", although it is actually suspended in the "Creating" state.
> This reporting can be misleading and makes troubleshooting require detailed understanding of the Blueprint states and transitions semantics .  It would be clearer to re-fire a "Creating" state Blueprint event (possibly with the "replay" flag).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira