Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-13054

TriggerSetPropertiesIntegrationTest cleanup

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Test
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 7.7, 8.0
    • None
    • None

    Description

      While investigating some odd jenkins failures from TriggerSetPropertiesIntegrationTest, I'm left with the conclusion that as implemented, the test was susceptible to order of operation bugs due to how the multiple threads would access a static non-final non-volatile CountdownLatch for keeping track of when/if anough iterations had past – based on the (limited) logging that was being produced, it seemed like thescheduled threads were picing up the "first" new CountdownLatch(1) assigned to that variable, even though the test expected it to use the second new CountdownLatch(2)

      It's possible that just marking this variable volatile would have prevented these failures – but as designed the test was also very dependent on arbitrary sleep() delays, so instead i've redisgned it to use differnet signaling mechanisms using await() calls on concurrent signal structures.

      Opening this issue to track these test improvements and any subsequent tweaks needed

      Attachments

        Issue Links

        Activity

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

          People

            hossman Chris M. Hostetter
            hossman Chris M. Hostetter
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment