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

    • Type: Test
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 7.7, 8.0
    • Component/s: None
    • Labels:
      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

            People

            • Assignee:
              hossman Chris M. Hostetter
              Reporter:
              hossman Chris M. Hostetter

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment