Currently a client/session/scanner/etc needs to be configured via a series of setter methods. This can be cumbersome when plumbing configuration through to the the underlying client in an integration such as Spark/NiFi/Hive because a code change needs to be made every time a new configuration is added to Kudu to expose the configuration in the integration.
Instead we could expose an API to pass a Properties object with key/value pairs that are treated as Public API and will set the various configurations accordingly. Using that API a passthrough can be exposed from integration.
For an example, this could be used in Spark to expose all relevant configurations instead of the limited list of custom values seen here: