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

Fix busylock usage in MetastorageManager

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • None

    Description

      Motivation:

      We are using a busy lock to avoid invocation of a manager's method when the manager has already stopped. The same manner the lock should work in MetastorageManager, but because it has a specific future (metaStorageSvcFut) that completes when a metasorage RAFT group starts. We chain operation future to metaStorageSvcFut under busy lock, but operation future's completion is not wrapped with busy lock.

      Definition of done:

      All code invocation in the metastorage manager should lead to NODE_STOPPING_ERR when the manager is stopped, whatever it is during chanting of futures or code in the future listener.

      Implementation notes:

      Wrap all action that executed after metaStorageSvcFut in IgniteUtils#inBusyLock(lock, supplier)

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              amashenkov Andrey Mashenkov
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated: