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

Colin Patrick McCabe commented on HTRACE-362:
---------------------------------------------

C\+\+ would be a very heavy dependency for us to add to htraced.  We would have 
to match the language version that we used with what Kudu uses (C\+\+11 versus 
C\+\+98, exceptions vs. no exceptions, etc.)  Some of the platforms we want to 
support may not even have newer C\+\+ version support without installing a 
whole new toolchain.  We would have to make sure that our version of 
libstdc\+\+ matched what the Kudu library was using, and that there were no 
shared library collisions.

I wasn't trying to imply that you guys were unaware of ABI issues, and I 
apologize if it came off that way.  However, I remember how difficult ABI 
compatibility was when I worked on the Ceph project.  It is far from trivial.  
This is one often-overlooked reason why it's still important for projects to 
provide C bindings.  In a similar vein, Java bindings are still important even 
if your project is in Scala.

Anyway, even if we had great C bindings for Kudu, I don't really think that 
doing all this from htraced would be the way to go.  We still want to be 
writing new spans to Kudu without going through a single daemon such as 
htraced.  So really the only thing using htraced would be good for is reusing 
some of the span reading logic.  And I'm not even sure how much of that would 
be reusable at the moment.

I think it's simpler and cleaner just to have a separate htrace-kudu daemon 
which implement the web UI in terms of calls into Kudu.  This daemon would be 
stateless, so you could easily have multiple of them running for HA.  It's just 
a matter of implementing the REST endpoints which the existing web UI expects 
to find and doing the translation to and from span JSON.

> Apache KUDU Span receiver implementation for Apache HTrace
> ----------------------------------------------------------
>
>                 Key: HTRACE-362
>                 URL: https://issues.apache.org/jira/browse/HTRACE-362
>             Project: HTrace
>          Issue Type: Bug
>            Reporter: Nisala Mendis
>            Assignee: Nisala Mendis
>         Attachments: kudu_span_receiver_basic_design.pdf
>
>
> Implementation should be carried two components as span receiver that writes 
> kudu back end and span viewer to view written span/traces.



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

Reply via email to