You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@samza.apache.org by "Chris Riccomini (JIRA)" <ji...@apache.org> on 2014/01/09 22:17:50 UTC
[jira] [Updated] (SAMZA-126) BrokerProxy calls SimpleConsumer.fetch
with empty request
[ https://issues.apache.org/jira/browse/SAMZA-126?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Chris Riccomini updated SAMZA-126:
----------------------------------
Attachment: SAMZA-126.0.patch
Attaching a fix. RB at https://reviews.apache.org/r/16763.
1. Added if statement to filter empty requests out.
2. Added a metric to count skipped fetches.
3. Added a sleep when we skip a fetch.
4. Added a test to verify changes.
Also ran changes through a real job on a YARN grid, and the metrics reflected the change.
> BrokerProxy calls SimpleConsumer.fetch with empty request
> ---------------------------------------------------------
>
> Key: SAMZA-126
> URL: https://issues.apache.org/jira/browse/SAMZA-126
> Project: Samza
> Issue Type: Bug
> Components: kafka
> Affects Versions: 0.6.0
> Reporter: Chris Riccomini
> Assignee: Chris Riccomini
> Attachments: SAMZA-126.0.patch
>
>
> When I put a Thread.sleep(1000) in my process() method, I noticed that the reads metric in BrokerProxy:
> metrics.brokerReads(host, port).inc
> Is still be incremented thousands of times a second. This is unexpected, since I should only be processing 1 message a second, and therefore not be fetching until the message buffer for my input stream is empty, again.
> Upon investigation, I found that fetchMessage will call simpleConsumer.fetch, even if the fetch request being issued has no topic partitions in it.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)