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

TimeRoutedAliasUpdateProcessorTest.testDateMathInStart: multi-threaded race condition due to ZK assumptions

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

Details

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

    Description

      TimeRoutedAliasUpdateProcessorTest does not currently run in many jenkins builds due to being marked BadApple(SOLR-13059) – however when it does run, the method testDateMathInStart frequently fails due to what appears to be a multi-threaded race condition in the test logic...

         [junit4]   2> NOTE: reproduce with: ant test  -Dtestcase=TimeRoutedAliasUpdateProcessorTest -Dtests.method=testDateMathInStart -Dtests.seed=8879E35521A4B9EA -Dtests.multiplier=2 -Dtests.
      slow=true -Dtests.badapples=true -Dtests.locale=nl-BQ -Dtests.timezone=America/Porto_Acre -Dtests.asserts=true -Dtests.file.encoding=UTF-8
         [junit4] FAILURE 6.96s J0 | TimeRoutedAliasUpdateProcessorTest.testDateMathInStart <<<
         [junit4]    > Throwable #1: java.lang.AssertionError: router.start should not have any date math by this point and parse as an instant. Using class org.apache.solr.client.solrj.impl.ZkCl
      ientClusterStateProvider Found:2019-09-14T03:00:00Z/DAY
         [junit4]    >        at __randomizedtesting.SeedInfo.seed([8879E35521A4B9EA:64FE3DD88112B802]:0)
         [junit4]    >        at org.apache.solr.update.processor.TimeRoutedAliasUpdateProcessorTest.testDateMathInStart(TimeRoutedAliasUpdateProcessorTest.java:765)
         [junit4]    >        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         [junit4]    >        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
         [junit4]    >        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
         [junit4]    >        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
         [junit4]    >        at java.base/java.lang.Thread.run(Thread.java:834)
      

      I'll attach some logs from recent failures and my own quick analysis of the problems of how the test appears to be asserting ZK updates.

      Attachments

        Issue Links

        Activity

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

          People

            gus Gus Heck
            hossman Chris M. Hostetter

            Dates

              Created:
              Updated:

              Slack

                Issue deployment