[
https://issues.apache.org/jira/browse/KAFKA-385?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13434655#comment-13434655
]
Joel Koshy commented on KAFKA-385:
----------------------------------
I'm about to upload a rebased patch so I'd like to incorporate as much of this
as I can.
> 1. Can we make the reporters pluggable? We shouldn't hard code those, you
> should just give something like
metrics.reporters=com.xyz.MyReporter, com.xyz.YourReporter
These (and ConsoleReporter) are the only reporters currently available. It
would be good to make it pluggable, but their constructors are different. i.e.,
I don't think it is possible to do this without using a spring-like framework.
> 2. Please remove the reference to scala class names from the logging (e.g.
> DelayedProduce)
I don't follow this comment - can you clarify? Which file are you referring to?
> 3. How are you measuring the performance impact of the change you made to
> synchronization?
I did not - I can measure the satisfaction time with and without the
synchronization but I doubt it would add much overhead. Also, we have to add
synchronization one way or the other - either inside the purgatory or outside
(i.e,. burden the client's usage).
> 4. It would be good to cut-and-paste the scala timer class they provide in
> the scala wrapper. That is really nice.
They == ? Not clear on this - can you clarify?
> 5. Size.
I think the overhead is the following:
8 byte pointer to the value
12 byte object header
8 byte value
Total: 28 bytes
> This is too much memory for something that should just be monitoring. I think
> we should not do per-key histograms.
This is certainly a concern. So with the scenario I have in my previous
comment, this would be > 13MB per broker and > double that if I use
exponentially decaying sampling. That said, there is only one per-key histogram
(which is the follower catch up time). OTOH since the main use I can think of
is to see which followers are slower we can achieve that with grep's in the
log. So I guess the visual benefit comes at a prohibitive memory cost.
> RequestPurgatory enhancements - expire/checkSatisfy issue; add jmx beans
> ------------------------------------------------------------------------
>
> Key: KAFKA-385
> URL: https://issues.apache.org/jira/browse/KAFKA-385
> Project: Kafka
> Issue Type: Bug
> Reporter: Joel Koshy
> Assignee: Joel Koshy
> Labels: bugs
> Fix For: 0.8
>
> Attachments: example_dashboard.jpg, graphite_explorer.jpg,
> KAFKA-385-v1.patch, KAFKA-385-v2.patch
>
>
> As discussed in KAFKA-353:
> 1 - There is potential for a client-side race condition in the
> implementations of expire and checkSatisfied. We can just synchronize on the
> DelayedItem.
> 2 - Would be good to add jmx beans to facilitate monitoring RequestPurgatory
> stats.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira