LuciferYang opened a new pull request, #13996:
URL: https://github.com/apache/gravitino/pull/13996

   ### What changes were proposed in this pull request?
   
   - `HDFSFileSystemProvider.additionalHDFSConfig` no longer injects the 
`ipc.client.connect.timeout` and `ipc.client.ping` defaults when the user set 
the key with the `gravitino.bypass.` prefix.
   - `FileSystemUtils.createConfiguration` writes the bypass keys before the 
plain keys, so a plain key always wins over its bypass twin, as 
`toHadoopConfigMap` documents. The prefix is now only stripped from the start 
of a key.
   
   ### Why are the changes needed?
   
   The injected default and the user's bypass key both reached 
`createConfiguration`, which wrote them in `HashMap` order into one Hadoop 
resource. Which value won depended on how many properties the map held, so the 
user's setting was silently ignored once the catalog had enough properties.
   
   Fix: #13992
   
   ### Does this PR introduce _any_ user-facing change?
   
   A `gravitino.bypass.` setting for the IPC keys now always overrides the 
defaults. When the same key is set both plainly and with the bypass prefix, for 
example at different levels of catalog, schema and fileset, the plain value now 
always applies; before, either one could apply depending on the number of 
properties.
   
   ### How was this patch tested?
   
   `TestFileSystemUtils.testBypassValueOverridesInjectedHdfsDefault` and 
`testPlainKeyWinsOverBypassTwin` build the configuration with 0 to 200 
unrelated properties and check the expected value at every size.
   


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

Reply via email to