[ 
https://issues.apache.org/jira/browse/HTRACE-164?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14531299#comment-14531299
 ] 

Elliott Clark commented on HTRACE-164:
--------------------------------------

You're just using message pack as serialize different parts of a request. Just 
like how Writables used to have base types defined on how they were serialized.

Take this example:

* You ship this code.
* Then we want to add the ability to ship incomplete spans ( Something that 
really happens in real world tracing )
* So end ms needs to be optional.
* start ms need to be optional too
* The code creating the bytes to write on the wire now needs to be changed by 
hand.
* Different and de-coupled code on the server now needs to be changed to 
understand that end_ms is optional

Or let say we want to add the ability to respond with if a span is durably 
written somewhere.
Or we want to respond with result saying to sample fewer traces.
Or we want to have the client able to set a trace as interesting after it's 
completed.

All of the above examples have know ways to change using either thrift of grpc. 
All of the above examples would be hand coded changes with the current approach.

Bug fixes are the same. There have been several times that msgpack has gotten 
unicode incorrect. If we needed to change the type of a field that would be a 
one off thing. With protobuf and thrift there are set rules around how to do 
that in compatible ways.

bq.You are honestly claiming that a 16 MB limit on span size is a problem?
Totally. Everytime someone says there's no way a user would ever do X. That's a 
requirement for someone.

> htrace hrpc: use msgpack for serialization
> ------------------------------------------
>
>                 Key: HTRACE-164
>                 URL: https://issues.apache.org/jira/browse/HTRACE-164
>             Project: HTrace
>          Issue Type: Bug
>    Affects Versions: 3.2.0
>            Reporter: Colin Patrick McCabe
>            Assignee: Colin Patrick McCabe
>         Attachments: HTRACE-164.002.patch
>
>
> htrace HRPC should use msgpack for serialization.  Messages serialized using 
> msgpack use less space on the wire and use less CPU time to encode.  The CMP 
> library allows us to include msgpack support easily in the htrace C client.  
> There is also good Java and Golang support available.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to