Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-2955

Async marshalling executor retry when queue fills

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Obsolete
    • Icon: Major Major
    • 8.0.0.Final
    • 5.2.5.Final
    • Marshalling
    • None
    • Low

      When using an async transport and async marshalling, an executor is used to process the marshalling task in a separate thread and the caller's thread is allowed to return immediately.

      When the executor's queue fills and the queue cannot accept any more tasks, it throws a RejectedExecutionException, causing a very bad user/developer experience. A more correct approach to this is to catch the RejectedExecutionException, block and retry the task submission.

      The end result is that, in the degenerate case (when the executor queue is full) instead of throwing exceptions, those invocations will perform slightly slower.

            Unassigned Unassigned
            manik_jira Manik Surtani (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: