Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-5554

ServiceProcessor may process failed reassignments in timeout thread

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.7
    • 2.1
    • managed services
    • None

    Description

      The following parts of GridServiceProcessor look wrong to me:
      In GridServiceProcessor.TopologyListener#onReassignmentFailed

      @Override public void onTimeout() {
          onReassignmentFailed(topVer, retries);
      }
      

      And in GridServiceProcessor#onDeployment

      @Override public void onTimeout() {
      .....
          // Try again.
          onDeployment(dep, topVer);
      }
      

      The rest of ServiceProcessor relies on the deployments being processed in a single thread, while this code will be executed in the timeout processor thread. Not only can it take a lot of time to reassign, which will stall the timeout thread, but it may also break the service assignment logic.

      The corresponding calls should be wrapped to runnables and submitted to the depExe.

      Attachments

        Issue Links

          Activity

            People

              mcherkasov Mikhail Cherkasov
              agoncharuk Alexey Goncharuk
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: