Samrat002 opened a new pull request, #1746: URL: https://github.com/apache/fluss/pull/1746
### Purpose Linked issue: close #1677 Fix the flaky test RemoteLogDownloaderTest#testPrefetchNum ### Brief change log #### Root Cause Analysis The RemoteLogDownloader was acquiring a semaphore permit before polling for a download task. If the queue was empty, it would hold the permit while idle, causing a transient dip in the available permit count. This created a race condition that made the testPrefetchNum test fail randomly. #### Approach I've flipped the logic in RemoteLogDownloader.fetchOnce(). Poll for a request first. Only then, try to acquire a permit. If no permit is available, the request is re-queued, ensuring work isn't lost and priority is maintained. This change prevents the downloader from reserving capacity when it has no work to do. ### Tests <!-- List UT and IT cases to verify this change --> ensure `RemoteLogDownloaderTest#testDownloadLogInParallelAndInPriority` passes multiple times ### API and Format N/A <!-- Does this change affect API or storage format --> ### Documentation N/A <!-- Does this change introduce a new feature --> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
