Conversation
There was a problem hiding this comment.
Code Review
This pull request integrates Conscrypt as the default security provider for both HTTP and gRPC connections in the BigQuery JDBC driver, falling back to default JDK/gRPC TLS if Conscrypt is unavailable. It also refactors the channel configurator setup in BigQueryConnection to preserve existing configurations. Feedback on these changes highlights a potential issue in the updated unit test, which assumes Conscrypt is always available; it is recommended to conditionally assert the provider's nullability based on whether the Conscrypt native library successfully loads in the test environment.
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request configures Conscrypt on the default HTTP transport to enable post-quantum cryptography (PQC) and adds integration tests to verify that both REST and gRPC transports successfully negotiate the X25519MLKEM768 key exchange. The review feedback suggests improving the robustness of the reflection logic used in the tests by traversing the class hierarchy when looking up fields and avoiding unnecessary Class.forName calls for compile-time available classes.
40fbe80 to
a4986d0
Compare
This PR addresses issues with not using PQC-compliant ciphers in both REST and gRPC.
Adding 2 integration tests for these scenarios, adding to driver agnostic as well due to the fact that we need to run it against shaded version too.
Note: integration test is obviously generated code, but it seems reasonable. Also, validated that without fixes from this PR relevant tests do fail.