Class DifferentialExpressionAnalyzerServiceArchiveWriteTest

java.lang.Object
ubic.gemma.core.analysis.expression.diff.DifferentialExpressionAnalyzerServiceArchiveWriteTest

@ExtendWith(org.mockito.junit.jupiter.MockitoExtension.class) public class DifferentialExpressionAnalyzerServiceArchiveWriteTest extends Object
Deleting an analysis waits for the archive write that saving it scheduled.

That write reads the analysis in its own transaction. Left running, it loaded the analysis after the delete had committed -- its MySQL snapshot predated the delete -- and put it back in the second-level cache, so load(id) returned an analysis with no row. DifferentialExpressionAnalysisReplacementTest failed that way in about one run in four; a repeated version of it found the stale cache entry in 7 of 25 repetitions.

Author:
gembro
  • Constructor Details

    • DifferentialExpressionAnalyzerServiceArchiveWriteTest

      public DifferentialExpressionAnalyzerServiceArchiveWriteTest()
  • Method Details

    • setUp

      @BeforeEach public void setUp() throws Exception
      Throws:
      Exception
    • testTheReplacedAnalysisIsDeletedOnlyAfterItsArchiveWriteFinishes

      @Test public void testTheReplacedAnalysisIsDeletedOnlyAfterItsArchiveWriteFinishes()