Uploaded image for project: 'controller'
  1. controller
  2. CONTROLLER-1234

checkedGet() on PingPongFuture will block the calling thread forever

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Resolution: Done
    • None
    • None
    • mdsal
    • None
    • Operating System: All
      Platform: All

    • 2935

    Description

      org.opendaylight.controller.md.sal.dom.broker.impl.PingPongFuture.mapException() will throw a RuntimeException when called leaving the calling thread blocked forever.

      The issue is with the implementation of this method:
      protected TransactionCommitFailedException mapException(final Exception e)

      { Preconditions.checkArgument(e instanceof TransactionCommitFailedException); return (TransactionCommitFailedException) e; }

      It expects the argument to be an instance of TransactionCommitFailedException. Per google guava documentation, the argument could be of type
      1. InterruptedException
      2. CancellationException
      3. ExecutionException

      So, the above method will always throw runtime exception.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            abhishk2@cisco.com Abhishek Kumar
            abhishk2@cisco.com Abhishek Kumar
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: