Affects Version/s: 1.6.1
Fix Version/s: None
In one section of RecordBuilderBase.defaultValue(Field) (quoted below) a bytewise copy of the default object is created based on the JSON value provided. However, this is an extremely inefficient operation and causes large slowdowns when building large object sets, including latency spikes when the binary encoder flushes.
A simple workaround for a majority of cases would be to have a separate code path for "primitives" (fixed, string, boolean, int, double, enum, float, bytes) that allows direct creation rather than a full bytewise copy (and subsequent deep copy).
|Field||Original Value||New Value|
|Affects Version/s||1.6.1 [ 12318847 ]|
|Summary||Remove byte-by-byte copying in RecordBuilderBase.defaultValue||Remove byte-by-byte copying in RecordBuilderBase.defaultValue for non-complex types|
|Component/s||java [ 12312780 ]|