Uploaded image for project: 'JGroups'
  1. JGroups
  2. JGRP-1620

RpcDispatcher/MessageDispatcher changes

    XMLWordPrintable

Details

    • Feature Request
    • Status: Resolved (View Workflow)
    • Major
    • Resolution: Done
    • None
    • 4.0
    • None

    Description

      • In MessageDispatcher.castMessageXXX() and send(), we pass a Message as argument. Change this to only ship the byte[] buffer and options.
        • This prevents a unicast RPC from having a message with a null dest, or a multicast RPC having a message with a non-null dest (JGRP-1617).
      • Sync and async calls
        • If a unicast call is async, return null immediately after sending it
          • In case of a callWithFuture() -> return a null future as well (not a NullFuture!)
      • If a multicast call is async, return null immediately (instead of an RspList)
          • In case of a callWithFuture -> return a null future (instead of a nullFuture)
      • Investigate whether non-blocking RPCs need to create Request instances at all
        • This prevents creation and population of the hashmap (for GroupRequest)
        • Async requests could be dispatched to RequestCorrelator directly
      • Return a CompletableFuture instead of a NotifyingFuture
      • Remove NotifyingFuture and FutureListener: requires changing ExecutionService
      • Replaced org.jgroups.TimeoutException with java.util.concurrent.TimeoutException

      Attachments

        Issue Links

          Activity

            People

              rhn-engineering-bban Bela Ban
              rhn-engineering-bban Bela Ban
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: