kristofa/brave — pull request #22 by srapp (2014-07-02 15:58:04+00:00)
Title: Fixed servlet/client incompatibility if parentSpanId is not provided

Stumbled upon this bug when I was trying to instigate some tracing with some client code. The ParentSpanId is an optional parameter that `JerseyClientTraceFilter` serializes in the headers, either as a String representation of the provided Long, or the String `"null"`. The `ServletTraceFilter` of a downstream service will attempt to deserialize this parameter, but it expects either a null value (as if the header was not provided) or a String representation of a long. It does not know how to handle the String `"null"`.

My proposed change includes a ParentSpanId header only if a value is provided, and includes some unit tests around the `JerseyClientTraceFilter` and a compatibility test between the client and servlet filters.