You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[dvc][doc] Refactor DaVinciRecordTransformerConfig to use Builder pattern and update DVRT docs (#1501)
1. Previously, the configs for DaVinciRecordTransformerConfig were set by passing in all of the
values into its constructor. This means that anytime we wanted to add another config, it would be
a breaking change. To resolve this, I refactored DaVinciRecordTransformerConfig to use a Builder pattern.
2. Fixed a bug where if a user set storeRecordsInDaVinci, it would always bootstrap from VT and
ignore the on-disk state. This isn't deseriable behavior. To fix this, I introduced a new config
called alwaysBootstrapFromVersionTopic. Although most users won't use this, this can serve use-cases
where the user is only storing their records in-memory. It is more preferable for users to at least
have storeRecordsInDaVinci set to true so they can bootstrap from disk and utilize blob transfer.
3. If a user doesn't intend on modifying the schema of their records, the user won't need to pass
inoutputValueSchema and outputValueClass to the DaVinciRecordTransformerConfig anymore. This can
serve use cases where the user just wants to redirect their records to an alternative storage such as DuckDB.
4. Updated the DVRT docs to include the latest changes.
* The key schema, which is immutable inside DaVinciClient. Users can modify the key if they are storing records in an external storage engine, but this must be managed by the user.
48
53
*/
@@ -65,17 +70,17 @@ public abstract class DaVinciRecordTransformer<K, V, O> implements Closeable {
65
70
* @param keySchema the key schema, which is immutable inside DaVinciClient. Users can modify the key if they are storing records in an external storage engine, but this must be managed by the user
66
71
* @param inputValueSchema the value schema before transformation
67
72
* @param outputValueSchema the value schema after transformation
68
-
* @param storeRecordsInDaVinci set this to false if you intend to store records in a custom storage,
69
-
* and not in the Da Vinci Client
73
+
* @param recordTransformerConfig the config for the record transformer
Copy file name to clipboardExpand all lines: clients/da-vinci-client/src/main/java/com/linkedin/davinci/client/DaVinciRecordTransformerFunctionalInterface.java
0 commit comments