Layer7 API Management

 View Only
  • 1.  Identify "Circuit tripped" error message

    Posted Dec 20, 2019 09:49 AM
    ​I need some help to identify where some of our error-logs are coming from.
    It's clear that it belongs to the Circuit Breaker assertion as we are talking about audit-code 11500 "{0} Circuit tripped; open until {1}".
    The affected policies have 4-5 Circuit Breaker assertions configured in total and just one of it uses a Custom Event Tracker ID. The Custom ID contains the serviceURI and Client-Cert name to be unique across all policies.
    The problem now is, that I just see this single WARNING message without any reference, which Circuit is affected. And even more interesting, the overall status of the error-log entry is "Message processed successfully".
    The policy logic is always the following schema:
    At least Folder
    - Circuit Breaker folder
    - Errorhandling if the Circuit Breaker is not active
    - Errorhandling if the Circuit Breaker is active

    The two errorhandling folders also contain "Add Audit Details"-assertions, but I don't see such messages in the audit-logs. This means for me the Circuit Breaker folder is fully successful and there should be no reason for the Circuit Breaker to be active.
    So do you have any idea/explaination of this behavior? Or how can I adjust the policy to get more details?
    Thank you!

    Ciao Stefan :)


  • 2.  RE: Identify "Circuit tripped" error message
    Best Answer

    Posted Dec 23, 2019 10:31 AM
    Edited by Christopher Hackett Dec 27, 2019 01:12 PM
    Hi, Stefan.

    I think the circuit breaker assertion should give an indication if it is tripped or not.

    to accomplish what you are doing I use two strategies:
    - Always define a Custom Event Tracker ID:  if It needs to be unique to every service, I try to use the url template used in the routing, for example https://${gateway.backend.server}/api/user/{user_id}.  Of course it may be challenging with very dynamic urls. 

    - I use a variable to flag if the circuit is NOT tripped. Then I deal accordingly.


    This sample is attached
    https://community.broadcom.com/enterprisesoftware/communities/community-home/digestviewer/viewthread?MessageKey=16e79657-a64c-4c2c-8329-2940603ea10d&CommunityKey=0f580f5f-30a4-41de-a75c-e5f433325a18&tab=digestviewer#bm16e79657-a64c-4c2c-8329-2940603ea10d

    ------------------------------
    Sr. Consultant Services
    HCL Enterprise Studio
    ------------------------------



  • 3.  RE: Identify "Circuit tripped" error message

    Posted Jan 03, 2020 11:03 AM
    Hi Leandro,
    thanks for your answer!
    Yes, I'm already working with a variable to flag if the circuit is broken or not.
    But I found the error in the meanwhile. There was one circuit in place, which had no errorhandling configured at all. This is fine by design, because this specific part of the policy should be continue even in case of an error. This also explains the "Message processed successfully" audit entry.
    So everything is fine now from my side. This thread can be marked as solved.
    Thanks anyway!

    Ciao Stefan :)