Skip to content

Brave 5.9.2

Compare
Choose a tag to compare
@codefromthecrypt codefromthecrypt released this 30 Jan 02:32
· 382 commits to master since this release

Brave 5.9.2 is our first release in the year 2020, brought to you by the direct efforts of ten volunteers. Notably, @anuraaga reviewed nearly all changes in this release and deserves credit for keeping the fire burning. If you are happy with the teamwork, please star this repo or say hi on https://gitter.im/openzipkin/zipkin. There's plenty to do and we appreciate help if you can spare time.

Without further adieu, here are the release notes:

Features:

  • Async HTTP client callbacks should be invoked in invocation context of the caller (ex the callsite of the initial http client request). Otherwise, HTTP client spans can appear nested, which are confusing and effect statistics. Formerly, we were inconsistent on this, but now it is enforced across the board with integration tests. Thanks for the analysis and help by @simontoens (#1055, #1067)
  • kafka-clients users can now control whether or not to continue a trace or fork a new one with the flag singleRootSpanOnReceiveBatch. (#1033) thanks @jeqo for leading this and @jorgheymans, @anuraaga for the detailed review

Fixes:

  • accidental inheritance of shared flag (#1071) Thanks @narayaruna and @devinsba for the investigation!
  • workaround JAX-RS in-compliant client libraries which return immutable views of headers when they shouldn't (#1046) Thanks @SimY4 for the analysis and code.
  • accidental wrapping of null JMS message listeners (#1065) Thanks @ohr for the fix!
  • spring-rabbit interceptor order was incorrect, so other interceptors couldn't see the trace context (#1051) Thanks @kubamarchwicki for getting to the bottom of this and volunteering to fix it
  • certain interceptor usage patterns could lead to a leaked scope in httpasyncclient. (#1050) thanks @andylintner for tracking this down and correcting the code
  • a fragment of code modified from guava was not properly attributed. It is now in the NOTICE file in brave's jar (#1056)

Notes:

  • Our gRPC instrumentation was written to be compatible with the Census project. Starting with gRPC v1.22, the Census integration stopped propagating the tag "method". While we still propagate this, the next minor version of Brave will also stop, and save needless in-process and wire overhead. As gRPC dropped Census as a core dependency in v1.27, we will similarly also de-prioritize interop with Census.