[jboss-jira] [JBoss JIRA] (WFLY-12924) MP FT fallback metric is incremented wrongly

Ivan Straka (Jira) issues at jboss.org
Sat Jan 4 14:54:04 EST 2020


     [ https://issues.redhat.com/browse/WFLY-12924?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ivan Straka updated WFLY-12924:
-------------------------------
    Description: 
When method annotated with @Fallback and @Retry fails, MP FT fallback counter metric (fallback.calls.total) is incremented by 2. Meaning if the method fails N times (due to @Retry) fallback is invoked and the metric is 2.

The issue is only in the metric. Fallback method is invoked only once as expected.

Reproducer:
https://github.com/istraka/eap-microprofile-test-suite/blob/mp-ft-metrics-reproducer/microprofile-health/src/test/java/org/jboss/eap/qe/microprofile/health/integration/Reproducers.java#L111

CDI Bean:

{code:java}
    @Fallback(fallbackMethod = "isReadyFallback")
    @Retry(maxRetries = MAX_RETRIES)
    public boolean isReady() throws IOException {
        service.simulateOpeningResources();
        return ready.get();
    }

    public boolean isReadyFallback() {
        return readyInMainenance.get();
    }

    @Counted(name = "simulation-count", absolute = true, displayName = "Simulation Count", description = "Number of simulateOpeningResources invocations", reusable = true)
    public void simulateOpeningResources() throws IOException {
        if (inMaintanance.get()) {
            throw new IOException("In maintanance");
        }
    }
{code}

https://github.com/istraka/eap-microprofile-test-suite/blob/mp-ft-metrics-reproducer/microprofile-health/src/main/java/org/jboss/eap/qe/microprofile/health/integration/FailSafeDummyService.java#L47

  was:
When method annotated with @Fallback and @Retry fails, MP FT fallback counter metric (fallback.calls.total) is incremented by 2. Meaning if the method fails N times (due to @Retry) fallback is invoked and the metric is 2.

The issue is only in the metric. Fallback method is invoked only once as expected.

Reproducer:
https://github.com/istraka/eap-microprofile-test-suite/blob/mp-ft-metrics-reproducer/microprofile-health/src/test/java/org/jboss/eap/qe/microprofile/health/integration/Reproducers.java#L111

CDI Bean:
https://github.com/istraka/eap-microprofile-test-suite/blob/mp-ft-metrics-reproducer/microprofile-health/src/main/java/org/jboss/eap/qe/microprofile/health/integration/FailSafeDummyService.java#L47



> MP FT fallback metric is incremented wrongly
> --------------------------------------------
>
>                 Key: WFLY-12924
>                 URL: https://issues.redhat.com/browse/WFLY-12924
>             Project: WildFly
>          Issue Type: Bug
>          Components: MP Fault Tolerance
>    Affects Versions: 19.0.0.Beta1
>            Reporter: Ivan Straka
>            Assignee: Radoslav Husar
>            Priority: Blocker
>
> When method annotated with @Fallback and @Retry fails, MP FT fallback counter metric (fallback.calls.total) is incremented by 2. Meaning if the method fails N times (due to @Retry) fallback is invoked and the metric is 2.
> The issue is only in the metric. Fallback method is invoked only once as expected.
> Reproducer:
> https://github.com/istraka/eap-microprofile-test-suite/blob/mp-ft-metrics-reproducer/microprofile-health/src/test/java/org/jboss/eap/qe/microprofile/health/integration/Reproducers.java#L111
> CDI Bean:
> {code:java}
>     @Fallback(fallbackMethod = "isReadyFallback")
>     @Retry(maxRetries = MAX_RETRIES)
>     public boolean isReady() throws IOException {
>         service.simulateOpeningResources();
>         return ready.get();
>     }
>     public boolean isReadyFallback() {
>         return readyInMainenance.get();
>     }
>     @Counted(name = "simulation-count", absolute = true, displayName = "Simulation Count", description = "Number of simulateOpeningResources invocations", reusable = true)
>     public void simulateOpeningResources() throws IOException {
>         if (inMaintanance.get()) {
>             throw new IOException("In maintanance");
>         }
>     }
> {code}
> https://github.com/istraka/eap-microprofile-test-suite/blob/mp-ft-metrics-reproducer/microprofile-health/src/main/java/org/jboss/eap/qe/microprofile/health/integration/FailSafeDummyService.java#L47



--
This message was sent by Atlassian Jira
(v7.13.8#713008)


More information about the jboss-jira mailing list