Repository navigation
Wait for the watcher's update in the watcher test, not the polling timer's check - #95
Merged
Merged
Conversation
…mer's check With a one second polling interval the timer's check can complete first, finding no update because the watcher is enabled, and release the test before the watcher has refreshed the engine. The failed run took 1.008 seconds. The flag is now released only by a completion whose status is AUTO_UPDATE_SUCCESS, which only the watcher's update gives.
The watcher test now compares a completion's status with AUTO_UPDATE_SUCCESS, which rc's test file did not import.
jwrosewell
marked this pull request as ready for review
November 10, 2026 09:48
This was referenced Nov 10, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
DataUpdateService_UpdateFromWatcherinpipeline/pipeline.engines/src/test/java/fiftyone/pipeline/engines/services/DataUpdateServiceTests.javafails now and then onrcwith "Wanted but not invoked" onrefreshData. It failed in the full builds of two drafts that do not touch this test, Ubuntu Java 11 in run 42709779435 and Ubuntu Java 17 in run 42773815977. The failing test took 1.008 and 1.005 seconds.The test enables the file watcher with a polling interval of one second, and waits for the first
onUpdateCompleteevent. Two things complete within that second.checkForUpdate(dataFile, false), finds no update, because the file system watcher is enabled and there is no update URL, and still firesonUpdateCompletewithAUTO_UPDATE_IN_PROGRESS.dataFileUpdated, refreshes the engine throughupdatedFileAvailableand firesonUpdateCompletewithAUTO_UPDATE_SUCCESS.When the polling timer's completion comes first, it releases the test's flag before the watcher has refreshed the engine, and
verify(engine, times(1)).refreshData(...)fails.Change
Two commits, test code only. 4c9936a releases the flag only on a completion whose status is
AUTO_UPDATE_SUCCESS, which only the watcher's update gives, with a comment saying why. 4eb2d3a adds the static import ofAUTO_UPDATE_SUCCESS, which the test file onrcdoes not have. No main code changes.Other drafts
This is the same change as d99c9b7 on #92, which drops it when it next takes
rc. It merges before the other Java drafts so that their builds stop failing on this test.No version directive is carried.
Full build
The full build and test matrix passed every job other than macOS on head 4eb2d3a in run 42783494993 on 10 November 2026, 11 jobs succeeded, run as a dry run so nothing merged. macOS was left out of this draft's full build under the 9 November decision. The rc head is built with macOS before it merges into main.