<div dir="ltr">Thanks Trink. What do you mean by #inputs?<div><br></div><div>I'm fetching messages from single topic which has 8 partitions. I've tried several configurations while #processes <= #partitions</div><div><br></div><div>><span style="font-size:12.7272720336914px"> If all of your input plugin configs are using a </span><a href="http://group.id/" target="_blank" style="font-size:12.7272720336914px">group.id</a><span style="font-size:12.7272720336914px"> of 'logs-0'</span></div><div>Yes, all processes uses the same configuration. </div><div><br></div><div>So far I was able to verify that using single consumer process per topic works fine. Probably the issue is not on the side of output (Elasticsearch). I wasn't able to find any duplicate uuid in the index (which is strange, I'll try to investigate that further). However I've noticed certain "avalanches" of messages probably caused by consumers' restart - normally the throughput is pretty much constant in given time window but during some period it was at least 10-100x higher than usual and after cca 30 minutes data stopped to show up in Kibana (probably Elastic was choking up). </div><div><br></div><div>I'm a bit suspicious about consumer's reset behavior (default, haven't changed that yet):</div><div><br></div><div><span style="color:rgb(51,51,51);font-family:-apple-system,blinkmacsystemfont,'segoe ui',helvetica,arial,sans-serif,'apple color emoji','segoe ui emoji','segoe ui symbol';font-size:16px;line-height:19.2000007629395px;background-color:rgb(248,248,248)">auto.offset.reset = </span><span style="color:rgb(51,51,51);font-family:-apple-system,blinkmacsystemfont,'segoe ui',helvetica,arial,sans-serif,'apple color emoji','segoe ui emoji','segoe ui symbol';font-size:16px;line-height:19.2000007629395px;text-align:-webkit-right;background-color:rgb(248,248,248)">largest</span><br></div><div><br></div><div>I'm using a task scheduler (Mesos) for running consumer jobs. After restart a consumer might be running on a different node and it's supposed to continue where its predecessor left. How does kafka identify consumers? I've noticed that broker is storing consumer's IP and <a href="http://client.id">client.id</a>. Is it possible that after consumer restart unflushed messages would be read again by another consumer (or maybe even by multiple consumers)?</div><div><br></div><div>Is it possible to enforce some kind of consumer identification which would ensure that e.g. consumer-1 would be considered as the same no matter which IP it's running on?</div><div><br></div><div>Tomas</div></div><div class="gmail_extra"><br><div class="gmail_quote">On 28 November 2016 at 23:17, Michael Trinkala <span dir="ltr"><<a href="mailto:mtrinkala@mozilla.com" target="_blank">mtrinkala@mozilla.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Our production data warehouse loaders use a balanced consumer group without any message duplication.  If all of your input plugin configs are using a <a href="http://group.id" target="_blank">group.id</a> of 'logs-0' and you have #inputs <= #topics then everything should be working fine.  I would start by dumping the Kafka consumer groups/offsets it thinks it is processing.  If you provide those dumps and the full configs there will be a better chance to diagnose the issue.<br><br></div><div>Thank,</div>Trink<br></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Mon, Nov 28, 2016 at 1:28 AM, Tomas Barton <span dir="ltr"><<a href="mailto:barton.tomas@gmail.com" target="_blank">barton.tomas@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr">Hi,<div><br></div><div>I'm trying to configure Hindsight to pull messages from Kafka and store then to Elasticsearch. I'm using Hindsight 0.12.7 and latest version of all other modules.</div><div><br></div><div>Before using Hindsight the number of messages per day in given topic was around 10M now the number of messages is at least doubled when 2 Hindsight consumers are used.</div><div><br></div><div>Probably I misunderstood consumer group concept. Earlier I was using 1 consumer per topic partition. The configuration is pretty much default:</div><div><br></div><div><div><font face="monospace, monospace">-- In balanced consumer group mode a consumer can only subscribe on topics, not topics:partitions.</font></div><div><font face="monospace, monospace">-- The partition syntax is only used for manual assignments (without balanced consumer groups).</font></div></div><div><div><font face="monospace, monospace">topics                  = {"logs"}</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">-- <a href="https://github.com/edenhill/librdkafka/blob/master/CONFIGURATION.md#global-configuration-properties" target="_blank">https://github.com/edenhill/li<wbr>brdkafka/blob/master/CONFIGURA<wbr>TION.md#global-configuration-<wbr>properties</a></font></div><div><font face="monospace, monospace">consumer_conf = {</font></div><div><font face="monospace, monospace">    ["<a href="http://group.id" target="_blank">group.id</a>"] = "logs-0", -- must always be provided (a single consumer is considered a group of one</font></div><div><font face="monospace, monospace">    -- in that case make this a unique identifier)</font></div><div><font face="monospace, monospace">    ["message.max.bytes"] = output_limit,</font></div><div><font face="monospace, monospace">}</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">-- <a href="https://github.com/edenhill/librdkafka/blob/master/CONFIGURATION.md#topic-configuration-properties" target="_blank">https://github.com/edenhill/li<wbr>brdkafka/blob/master/CONFIGURA<wbr>TION.md#topic-configuration-<wbr>properties</a></font></div><div><font face="monospace, monospace">topic_conf = {</font></div><div><font face="monospace, monospace">    -- ["auto.commit.enable"] = true, -- cannot be overridden</font></div><div><font face="monospace, monospace">    -- ["offset.store.method"] = "broker, -- cannot be overridden</font></div><div><font face="monospace, monospace">}</font></div></div><div><br></div><div>Now I have multiple consumers within the same consumer group, according to Kafka documentation:</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span style="color:rgb(53,56,51);font-family:arial,helvetica,sans-serif;font-size:12px">Kafka will deliver each message in the subscribed topics to one process in each consumer group.</span></blockquote><div><br></div><div>So having all processes in one group seems to be a good idea when each message is supposed to be stored just once. But in reality it looks like each process in the same consumer groups is reading all the messages.</div><div><br></div><div>Btw. Kafka version is 0.9.0.1 and each topic's partition seems to be owned by some consumer.</div><div><br></div><div>Any idea what could be wrong?</div><div><br></div><div>Thanks,</div><div>Tomas</div></div>
<br></div></div>______________________________<wbr>_________________<br>
Hindsight mailing list<br>
<a href="mailto:Hindsight@mozilla.org" target="_blank">Hindsight@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/hindsight" rel="noreferrer" target="_blank">https://mail.mozilla.org/listi<wbr>nfo/hindsight</a><br>
<br></blockquote></div><br></div>
</blockquote></div><br></div>