Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-7784

java.util.ConcurrentModificationException on WebTarget.request()

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Information Provided
    • 3.1.14
    • None
    • JAX-RS
      • Hystrix 1.5.9
      • Spring-Boot 1.5.14
      • JAXRS 3.1.14
    • Unknown

    Description

      By chance we stumbled over a case, where calling

      webTarget.request()

      sometimes may lead to a java.util.ConcurrentModificationException, if the webTarget is created in one thread, but the call to .request() is performed in multiple concurrent threads afterwards. In our environment it was possible to provoke the exception with probability of ~10%, if run with 4 threads in parallel.

      The callstack, which we could isolate, was:

      Caused by: java.util.ConcurrentModificationException
       at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:909)
       at java.util.ArrayList$Itr.next(ArrayList.java:859)
       at org.apache.cxf.jaxrs.provider.ProviderFactory.injectContextProxies(ProviderFactory.java:638)
       at org.apache.cxf.jaxrs.provider.ProviderFactory.setCommonProviders(ProviderFactory.java:600)
       at org.apache.cxf.jaxrs.client.ClientProviderFactory.setProviders(ClientProviderFactory.java:74)
       at org.apache.cxf.jaxrs.provider.ProviderFactory.setUserProviders(ProviderFactory.java:791)
       at org.apache.cxf.jaxrs.client.spec.ClientImpl$WebTargetImpl.request(ClientImpl.java:282)
       at <<custom-coding-which-calls-webTarget.request()>>
      

      We currently have a workaround with

      synchronized (webTarget) {
         webTarget.request();
      }
      

      which isn't perfect, but good enough for our case.

       

      Is this case known to you? We did not try to reproduce the issue in isolation, yet (as it was hard enough to find it in our application already). If we should give it a try, please notify us.

      Attachments

        Activity

          People

            reta Andriy Redko
            dschmoigl Dominic Schmoigl
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: