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

TableManager doesn't throw exception on table create, if something goes wrong in configuration listener for updateAssignments

Log workAgile BoardRank to TopRank to BottomAttach filesAttach ScreenshotBulk Copy AttachmentsBulk Move AttachmentsAdd voteVotersWatch issueWatchersCreate sub-taskConvert to sub-taskLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

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

    Description

      Scenario:

      Start a node, try to create a table. Inside of TableManager the listener onTableCreate is successfully executed. Then, an exception happens inside of TableManager#onUpdateAssignments

      configuration listener, which is triggered after the completion of onTableCreate listener. To reproduce the issue need to add an exception throwing in TableManager#onUpdateAssignments and create a table.

      Expected behavior:

      There is no operational instance of the newly created table on the node that initiated creation of the table, because onUpdateAssignments had failed. "Create table" operation should fail with exception.

      Actual:

      "Create table" operation succeeds, as onTableCreate listener in TableManager had  succeeded.

      Suggested fix:

      onUpdateAssignments should save exception to versioned values in TableManager, as it updates these versioned values. Thus, the following VersionedValue#get will throw an exception, and table creation future will be completed exceptionally (see TableManager#completeApiCreateFuture ). However, we should think about how further updates of these versioned values will happen.

      Attachments

        Issue Links

        Activity

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

          People

            Unassigned Unassigned Assign to me
            Denis Chudov Denis Chudov

            Dates

              Created:
              Updated:

              Slack

                Issue deployment