[
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)