java-kafka-client
java-kafka-client copied to clipboard
HeadersMapInjectAdapter wastes space in headers
https://github.com/opentracing-contrib/java-kafka-client/blob/release-0.1.15/opentracing-kafka-client/src/main/java/io/opentracing/contrib/kafka/HeadersMapInjectAdapter.java#L38
@Override
public void put(String key, String value) {
headers.add(key, value.getBytes(StandardCharsets.UTF_8));
}
This just appends headers to the end of the list, and inject
can happen repeatedly in processing a message. With baggage, this can result it a lot of repeated data.
We could instead headers.remove(key).add(key, value.getBytes(StandardCharsets.UTF_8));
which trades an iteration over all headers and potential arraylist removals for each key.