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

Race during table creation

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 3.0.0-beta2
    • None

    Description

      tablesByIdVV.update() inside TableManager#updateAssignments initiates async RAFT groups' start, but its future supplier returns completedFuture(null), so there is no causal dependency between completion of what update() returned and the futures that start RAFT groups; hence, there is no causal dependency between completing 'table created' future and RAFT groups start.

      While updateAssignmentsInternal is fully synchronous, this is not a problem. But in IGNITE-18170 we make it async, and here the race starts manifesting itself.

      Probably, update supplier should return a future depending on RAFT group start future and not just a completed future.

      Attachments

        Issue Links

          Activity

            People

              rpuch Roman Puchkovskiy
              rpuch Roman Puchkovskiy
              Vladislav Pyatkov Vladislav Pyatkov
              Votes:
              0 Vote for this issue
              Watchers:
              2 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 - 20m
                  20m