Uploaded image for project: 'Apache Ozone'
  1. Apache Ozone
  2. HDDS-505 OzoneManager HA
  3. HDDS-1757

Use ExecutorService in OzoneManagerStateMachine

Attach filesAttach ScreenshotVotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    Description

      In the current code in applyTransaction we haveĀ 

      CompletableFuture<Message> future = CompletableFuture
      .supplyAsync(() -> runCommand(request, trxLogIndex)); We are using ForkJoin#commonPool.

      With the current approach we have 2 issues:

      1. Thread exhausts when using this common pool.
      2. Not a good practice of using common pool. Found some issues in our testing by using similarly in RatisPipelineUtils.
      3. OM DB's across replica can be out of sync when the apply transactions are applied in out of order.

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            bharat Bharat Viswanadham
            bharat Bharat Viswanadham
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 1h 10m
                1h 10m

                Slack

                  Issue deployment