laxmanmamididd commented on PR #7464:
URL: 
https://github.com/apache/datafusion-comet/pull/7464#issuecomment-6670436583

   Thanks @dwsmith1983. All four are in 01d1924d5.
   
   - **Close-count race.** `TestCometS3CredentialProvider.close()` now counts 
down a `closeFinished` latch in a `finally` after it counts the close. 
`releaseClosesOnTheDispatcherThread` and `aBlockingCloseDoesNotHoldUpRelease` 
wait on it, then check `closeCount` is 1, so no close can land after the next 
test's `reset()`.
   - **`release` over JNI in CI.** New `CometS3CredentialReleaseSuite`, 
registered in the Linux and macOS workflows next to 
`CometScanSchemeFallbackSuite`. It needs no S3 server. It builds the native 
`FileIO`s through two test-only `NativeBase` hooks: 
`loadIcebergFileIOForTesting` runs `load_file_io` for a read, and 
`clearIcebergFileIOCacheForTesting` empties the cache, as `release` does. 
Building an S3 `FileIO` registers the provider but makes no request. The test 
loads a table with `TestCometS3CredentialProvider` and then a later commit with 
new properties. It checks that the first provider is closed and that 
`registeredCount()` stays at one. After the cache is cleared it checks the 
count drops back and the second provider is closed. I added hooks rather than 
building a `FileIO` through a scan, because a scan needs the metadata file to 
exist.
   - **`supersedes` cases.**
     - `cache_compares_writes_by_data_location`: new properties for a data 
location supersede, and a sibling table under the same parent stays.
     - `cache_evicts_when_only_one_entry_has_an_expiry`: covers both directions.
   
     Each of your two mutations now fails one test. I checked both: 
`table_location` ignoring the access mode, and refusing to evict when only one 
entry has an expiry.
   - **Description.** Updated for the metadata-directory rule and the current 
tests.
   
   Run locally with `-Pspark-4.0` on JDK 17:
   - `iceberg_common` cache tests (11), clippy clean;
   - `CometS3CredentialDispatcherTest` (23);
   - `CometS3CredentialReleaseSuite` (1);
   - the MinIO bridge suites.
   


-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to