Petals CDK

Endpoints are activated before the component is ready to serve them

Details

  • Type: Bug Bug
  • Status: Resolved Resolved
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: 5.5.0
  • Fix Version/s: 5.6.0
  • Component/s: None
  • Security Level: Public
  • Description:
    Hide

    According to the JBI specification (see 7.2.1.2 Endpoint Activation and Deactivation), the contract of the activateEndpoint operation is that an endpoint should be activated ONLY if the component is ready to answer requests.

    For SUs, currently, the endpoint is activated on deploy and not after init, which is the moment Petals components should be ready to answer requests for SUs.
    For native endpoints, they are activated during init, which is the moment components should be ready to answer native requests.

    We should thus change the moment we activate the endpoints: at the end of the init of their SU.
    Conversely, we should deactivate the endpoints before the component shutdown their SU.

    We should NOT change the moment we activate the native endpoints, because this is correct (activated when the component is not shutdown).

    This means also that we should fix the components that relied on the assumption that their endpoints (SU and native) were activated before init and after shutdown.
    And we should fix the components that are not ready to serve the messages (for SU and native endpoints) after init and before shutdown.
    The integration lifecycle test should be updated, and the hack handling exchange for non-started SUs in the Container Router can be safely removed.

    Show
    According to the JBI specification (see 7.2.1.2 Endpoint Activation and Deactivation), the contract of the activateEndpoint operation is that an endpoint should be activated ONLY if the component is ready to answer requests. For SUs, currently, the endpoint is activated on deploy and not after init, which is the moment Petals components should be ready to answer requests for SUs. For native endpoints, they are activated during init, which is the moment components should be ready to answer native requests. We should thus change the moment we activate the endpoints: at the end of the init of their SU. Conversely, we should deactivate the endpoints before the component shutdown their SU. We should NOT change the moment we activate the native endpoints, because this is correct (activated when the component is not shutdown). This means also that we should fix the components that relied on the assumption that their endpoints (SU and native) were activated before init and after shutdown. And we should fix the components that are not ready to serve the messages (for SU and native endpoints) after init and before shutdown. The integration lifecycle test should be updated, and the hack handling exchange for non-started SUs in the Container Router can be safely removed.
  • Environment:
    -

Issue Links

Activity

Victor NOËL made changes - Thu, 29 Oct 2015 - 17:48:33 +0100
Field Original Value New Value
Link This issue blocks PETALSBCSOAP-171 [ PETALSBCSOAP-171 ]
Victor NOËL made changes - Thu, 29 Oct 2015 - 17:52:43 +0100
Link This issue blocks PETALSBCSOAP-166 [ PETALSBCSOAP-166 ]
Victor NOËL made changes - Thu, 29 Oct 2015 - 17:53:10 +0100
Status New [ 10000 ] Open [ 10002 ]
Priority Major [ 3 ]
Assignee Christophe DENEUX [ cdeneux ] Victor NOËL [ vnoel ]
Victor NOËL made changes - Thu, 29 Oct 2015 - 17:53:11 +0100
Status Open [ 10002 ] In Progress [ 10003 ]
Christophe DENEUX made changes - Fri, 30 Oct 2015 - 09:31:15 +0100
Link This issue blocks PETALSBCSOAP-171 [ PETALSBCSOAP-171 ]
Victor NOËL made changes - Wed, 4 Nov 2015 - 10:41:05 +0100
Description According to the JBI specification (see 7.2.1.2 Endpoint Activation and Deactivation), the contract of the activateEndpoint operation is that an endpoint should be activated ONLY if the component is ready to answer requests.

For SUs, currently, the endpoint is activated on deploy and not after start, which is the moment Petals components usually are ready to answer requests for SUs.
For native endpoints, they are activated during init and not after start, which is the moment components are ready to answer native requests.

We should thus change the moment we activate the endpoints: at the end of the start of their SU.
Conversely, we should deactivate the endpoints before the component stops their SU.

We should change the moment we activate the native endpoints: at the end of the component start.
Conversely, we should deactivate the native endpoints before the component is stopped.

This means also that we should fixes the components that relied on the assumption that their endpoints were activated before start and after stop.
According to the JBI specification (see 7.2.1.2 Endpoint Activation and Deactivation), the contract of the activateEndpoint operation is that an endpoint should be activated ONLY if the component is ready to answer requests.

For SUs, currently, the endpoint is activated on deploy and not after start, which is the moment Petals components usually are ready to answer requests for SUs.
For native endpoints, they are activated during init and not after start, which is the moment components are ready to answer native requests.

We should thus change the moment we activate the endpoints: at the end of the start of their SU.
Conversely, we should deactivate the endpoints before the component stops their SU.

We should NOT change the moment we activate the native endpoints, because this is correct (activated when the component is not shutdown).

This means also that we should fixes the components that relied on the assumption that their endpoints were activated before start and after stop.
The integration lifecycle test should be updated, and the hack handling exchange for non-started SUs in the Container Router can be safely removed.
Victor NOËL made changes - Wed, 4 Nov 2015 - 13:37:12 +0100
Status In Progress [ 10003 ] Resolved [ 10004 ]
Fix Version/s 5.5.1 [ 10599 ]
Resolution Fixed [ 1 ]
Victor NOËL made changes - Wed, 16 Dec 2015 - 16:27:42 +0100
Fix Version/s 5.6.0 [ 10611 ]
Fix Version/s 5.5.1 [ 10599 ]
Victor NOËL made changes - Tue, 5 Jan 2016 - 12:59:25 +0100
Description According to the JBI specification (see 7.2.1.2 Endpoint Activation and Deactivation), the contract of the activateEndpoint operation is that an endpoint should be activated ONLY if the component is ready to answer requests.

For SUs, currently, the endpoint is activated on deploy and not after start, which is the moment Petals components usually are ready to answer requests for SUs.
For native endpoints, they are activated during init and not after start, which is the moment components are ready to answer native requests.

We should thus change the moment we activate the endpoints: at the end of the start of their SU.
Conversely, we should deactivate the endpoints before the component stops their SU.

We should NOT change the moment we activate the native endpoints, because this is correct (activated when the component is not shutdown).

This means also that we should fixes the components that relied on the assumption that their endpoints were activated before start and after stop.
The integration lifecycle test should be updated, and the hack handling exchange for non-started SUs in the Container Router can be safely removed.
According to the JBI specification (see 7.2.1.2 Endpoint Activation and Deactivation), the contract of the activateEndpoint operation is that an endpoint should be activated ONLY if the component is ready to answer requests.

For SUs, currently, the endpoint is activated on deploy and not after init, which is the moment Petals components should be ready to answer requests for SUs.
For native endpoints, they are activated during init, which is the moment components should be ready to answer native requests.

We should thus change the moment we activate the endpoints: at the end of the init of their SU.
Conversely, we should deactivate the endpoints before the component shutdown their SU.

We should NOT change the moment we activate the native endpoints, because this is correct (activated when the component is not shutdown).

This means also that we should fix the components that relied on the assumption that their endpoints (SU and native) were activated before init and after shutdown.
And we should fix the components that are not ready to serve the messages (for SU and native endpoints) after init and before shutdown.
The integration lifecycle test should be updated, and the hack handling exchange for non-started SUs in the Container Router can be safely removed.

People

Dates

  • Created:
    Thu, 29 Oct 2015 - 17:48:14 +0100
    Updated:
    Tue, 5 Jan 2016 - 12:59:25 +0100
    Resolved:
    Wed, 4 Nov 2015 - 13:37:12 +0100