Currently it is a manual process. For functional test, I just setup two
Kafka clusters locally, mirror between them and keep producing data to one
of the cluster. Then try a hard kill / bounce mirror maker to see if
messages are lost in target cluster.

Jiangjie (Becket) Qin

On 1/21/15, 12:24 PM, "Gwen Shapira" <gshap...@cloudera.com> wrote:

>Thanks for the answers. Much clearer now :)
>
>Unrelated question: How do you test MirrorMaker (especially around data
>loss)?
>I didn't see any unit-tests or integration tests in trunk.
>
>Gwen
>
>On Wed, Jan 21, 2015 at 9:55 AM, Jiangjie Qin <j...@linkedin.com.invalid>
>wrote:
>> Hi Gwen,
>>
>> Please see inline answers. I¹ll update them in the KIP as well.
>>
>> Thanks.
>>
>> Jiangjie (Becket) Qin
>>
>> On 1/20/15, 6:39 PM, "Gwen Shapira" <gshap...@cloudera.com> wrote:
>>
>>>Thanks for the detailed document, Jiangjie. Super helpful.
>>>
>>>Few questions:
>>>
>>>1. You mention that "A ConsumerRebalanceListener class is created and
>>>could be wired into ZookeeperConsumerConnector to avoid duplicate
>>>messages when consumer rebalance occurs in mirror maker."
>>>
>>>Is this something the user needs to do or configure? or is the wiring
>>>of rebalance listener into the zookeeper consumer will be part of the
>>>enhancement?
>>>In other words, will we need to do anything extra to avoid duplicates
>>>during rebalance in MirrorMaker?
>> For ZookeeperConsumerConnector in general, users need to wire in
>>listener
>> by themselves in code.
>> For Mirror Maker, an internal rebalance listener has been wired in by
>> default to avoid duplicates on consumer rebalance. User could still
>> specify a custom listener class in command line argument, the internal
>> rebalance listener will call that listener after it finishes the default
>> logic.
>>>
>>>2. "The only source of truth for offsets in consume-then-send pattern
>>>is end user." - I assume you don't mean an actual person, right? So
>>>what does "end user" refer to? Can you clarify when will the offset
>>>commit thread commit offsets? And which JIRA implements this?
>> By end user I mean the target cluster here. The offset commit thread
>> commit thread periodically. It only commit the offsets that have been
>> acked.
>>>
>>>3. Maintaining message order - In which JIRA do we implement this part?
>> KAFKA-1650
>>>
>>>Again, thanks a lot for documenting this and even more for the
>>>implementation - it is super important for many use cases.
>>>
>>>Gwen
>>>
>>>
>>>Gwen
>>>
>>>On Tue, Jan 20, 2015 at 4:31 PM, Jiangjie Qin
>>><j...@linkedin.com.invalid>
>>>wrote:
>>>> Hi Kafka Devs,
>>>>
>>>> We are working on Kafka Mirror Maker enhancement. A KIP is posted to
>>>>document and discuss on the followings:
>>>> 1. KAFKA-1650: No Data loss mirror maker change
>>>> 2. KAFKA-1839: To allow partition aware mirror.
>>>> 3. KAFKA-1840: To allow message filtering/format conversion
>>>> Feedbacks are welcome. Please let us know if you have any questions or
>>>>concerns.
>>>>
>>>> Thanks.
>>>>
>>>> Jiangjie (Becket) Qin
>>

Reply via email to