plusplusjiajia opened a new pull request, #10908: URL: https://github.com/apache/paimon/pull/10908
### Purpose `FileStoreTable.copy` and `copy_without_time_travel` accepted a dynamic value of `query-auth.enabled` that turned query auth off, or removed it with `None`. The copy then read without the REST catalog's row filters and column masks, and skipped the search rejection. The same worked through the `dynamic_options` of the Ray `read_paimon` and `read_by_row_id` APIs. As in Java (`AbstractFileStoreTable.checkImmutability`, #10903), a copy of a table that enables query auth now rejects a dynamic value of `query-auth.enabled` that is not `true`, including a removal and an invalid value, with Java's message. Enabling it dynamically, or passing `true`, is still allowed. A few tests disabled query auth through a copy to prepare data or to read a baseline; they now read or write without it. ### Tests - `test_query_auth_cannot_be_disabled_dynamically` in `table_query_auth_test.py`: `copy` and `copy_without_time_travel` reject `false`, `None` and invalid values on a table with a row filter and a mask, and keep the rules and the search rejection for `true`. - `test_query_auth_can_be_enabled_dynamically`: query auth can still be enabled dynamically on a table without it. - `RayReadByRowIdTest#test_rejects_disabling_query_auth_dynamically`: `read_by_row_id` with `dynamic_options` disabling query auth is rejected. - The new tests fail on master. The query auth, table, time travel and search rejection tests pass locally: 427 passed, with native runtime cases skipped. flake8 is clean. -- 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]
