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

high load may cause deadlocks

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.4.1
    • 2.3.6, 2.4.2, 2.5
    • Core
    • None

    Description

      we tried to implement bi directional ws communication (both sides are client and servers)
      methods were annotated with @oneway to make sure that on the other side request is processed in separate thread and to make sure requesting thread do not wait for the server processing (because server can issue another request back).

      Unfortunately there is confusing part of the code in org/apache/cxf/interceptor/OneWayProcessorInterceptor.java

      } catch (RejectedExecutionException e) {
      //the executor queue is full, so run the task in the caller thread
      chain.resume();

      that ignores @oneway and continues with the current thread, which means requesting thread (acting as client) will wait... in some cases forever (or till some network timeout)

      What is even worse, there is no single log line indicating that (and suggesting to increase thread pool size), so it was really hard to debug it

      Attachments

        Activity

          People

            ffang Freeman Yue Fang
            repp Peter Repp
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: