Petals CDK

Deadlock when a notif publisher try to unregister on broker (on component stop) and the broker has been previously stopped

Details

  • Type: Bug Bug
  • Status: Resolved Resolved
  • Priority: Major Major
  • Resolution: Won't Fix
  • Affects Version/s: 5.1.1
  • Fix Version/s: 5.4.0
  • Component/s: Notifications
  • Security Level: Public
  • Description:
    Hide

    Use case:
    start an administration ESB with :
    se-kpi started
    se-notif started
    then start a business ESB with :
    se-jsr 181 with notification activated
    then stop se-notif with the web console
    then try to stop se-jsr 181 with the webconsole

    this use case blocks on the se-jsr 181 stop half the time.

    Possible causes :

    • the se-notif unregister its endpoint on stop and then the admin ESB (which is the master) don't synchronize its registry with the business ESB (which is a slave) one. So the se-jsr 181 can send the exchange but never receive the response and blocks indefinitly on sendSync (cause sendSync without timeout).
    • If I add a timeout, the problem is I don't know if the unregisterPublisher request will be processed by the se-notif when it restart. A possible solution could be to have a time to live parameter on the exchange. And fix its value to the same value as the timeout. Then you could manage timeout cases in both side of the exchange and not only on the consumer side like nowadays with the timeout parameter alone.
    Show
    Use case: start an administration ESB with : se-kpi started se-notif started then start a business ESB with : se-jsr 181 with notification activated then stop se-notif with the web console then try to stop se-jsr 181 with the webconsole this use case blocks on the se-jsr 181 stop half the time. Possible causes :
    • the se-notif unregister its endpoint on stop and then the admin ESB (which is the master) don't synchronize its registry with the business ESB (which is a slave) one. So the se-jsr 181 can send the exchange but never receive the response and blocks indefinitly on sendSync (cause sendSync without timeout).
    • If I add a timeout, the problem is I don't know if the unregisterPublisher request will be processed by the se-notif when it restart. A possible solution could be to have a time to live parameter on the exchange. And fix its value to the same value as the timeout. Then you could manage timeout cases in both side of the exchange and not only on the consumer side like nowadays with the timeout parameter alone.
  • Environment:
    petals esb 3.0.6, petals cdk 5.1.1-SNAPSHOT

Activity

Hide
Christophe DENEUX added a comment - Wed, 3 Jul 2013 - 15:13:00 +0200

Notifications have been removed in CDK 5.2.0

Show
Christophe DENEUX added a comment - Wed, 3 Jul 2013 - 15:13:00 +0200 Notifications have been removed in CDK 5.2.0

People

Dates

  • Created:
    Mon, 25 Oct 2010 - 17:04:07 +0200
    Updated:
    Wed, 3 Jul 2013 - 15:13:00 +0200
    Resolved:
    Wed, 3 Jul 2013 - 15:13:00 +0200