You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@kafka.apache.org by Paul Pearcy <pp...@gmail.com> on 2015/01/06 16:54:24 UTC

New 0.8.2 client compatibility with 0.8.1.1 during failure cases

Hello,
  I have some of my own test cases very similar to the ones
in ProducerFailureHandlingTest.

I moved to the new producer against 0.8.1.1 and all of my test cases around
disconnects fail. Moving to use 0.8.2-beta on server side things succeed.

Here is an example test:
- Healthy producer/server setup
- Stop the server
- Send a message
- Call get on the future and it never returns. Doesn't matter if the server
is started again or remains stopped

So, I believe that while 0.8.2 producer is compatible with 0.8.1.1 in the
happy case, but fails to return futures in cases where disconnects have
occurred.

Is it possible to run the test cases in ProducerFailureHandlingTest.scala
against 0.8.1.1?

Thanks,
Paul

Re: New 0.8.2 client compatibility with 0.8.1.1 during failure cases

Posted by Paul Pearcy <pp...@gmail.com>.
Thanks Ewan!

I highly recommend this is clearly specified in the 0.8.2 producer docs.

Regarding test cases, I will be pushing some I have in a KAFKA-1835.
However, this doesn't enable running 0.8.2 producer integration tests
against 0.8.1.1 server since the test cases are going in Kafka core
integration. It seems to me these test cases would be better standalone
which would allow the client/server of choice to be pulled in.

Best Regards,
Paul

On Tue, Jan 6, 2015 at 1:07 PM, Ewen Cheslack-Postava <ew...@confluent.io>
wrote:

> Paul,
>
> That behavior is currently expected, see
> https://issues.apache.org/jira/browse/KAFKA-1788. There are currently no
> client-side timeouts in the new producer, so the message just sits there
> forever waiting for the server to come back so it can try to send it.
>
> If you already have tests for a variety of failure modes it might be
> helpful to contribute them to the WIP patch in that JIRA. Currently the
> patch only adds one unit test for RecordAccumulator, a few tests using the
> full server would be an improvement.
>
> -Ewen
>
> On Tue, Jan 6, 2015 at 7:54 AM, Paul Pearcy <pp...@gmail.com> wrote:
>
> > Hello,
> >   I have some of my own test cases very similar to the ones
> > in ProducerFailureHandlingTest.
> >
> > I moved to the new producer against 0.8.1.1 and all of my test cases
> around
> > disconnects fail. Moving to use 0.8.2-beta on server side things succeed.
> >
> > Here is an example test:
> > - Healthy producer/server setup
> > - Stop the server
> > - Send a message
> > - Call get on the future and it never returns. Doesn't matter if the
> server
> > is started again or remains stopped
> >
> > So, I believe that while 0.8.2 producer is compatible with 0.8.1.1 in the
> > happy case, but fails to return futures in cases where disconnects have
> > occurred.
> >
> > Is it possible to run the test cases in ProducerFailureHandlingTest.scala
> > against 0.8.1.1?
> >
> > Thanks,
> > Paul
> >
>
>
>
> --
> Thanks,
> Ewen
>

Re: New 0.8.2 client compatibility with 0.8.1.1 during failure cases

Posted by Ewen Cheslack-Postava <ew...@confluent.io>.
Paul,

That behavior is currently expected, see
https://issues.apache.org/jira/browse/KAFKA-1788. There are currently no
client-side timeouts in the new producer, so the message just sits there
forever waiting for the server to come back so it can try to send it.

If you already have tests for a variety of failure modes it might be
helpful to contribute them to the WIP patch in that JIRA. Currently the
patch only adds one unit test for RecordAccumulator, a few tests using the
full server would be an improvement.

-Ewen

On Tue, Jan 6, 2015 at 7:54 AM, Paul Pearcy <pp...@gmail.com> wrote:

> Hello,
>   I have some of my own test cases very similar to the ones
> in ProducerFailureHandlingTest.
>
> I moved to the new producer against 0.8.1.1 and all of my test cases around
> disconnects fail. Moving to use 0.8.2-beta on server side things succeed.
>
> Here is an example test:
> - Healthy producer/server setup
> - Stop the server
> - Send a message
> - Call get on the future and it never returns. Doesn't matter if the server
> is started again or remains stopped
>
> So, I believe that while 0.8.2 producer is compatible with 0.8.1.1 in the
> happy case, but fails to return futures in cases where disconnects have
> occurred.
>
> Is it possible to run the test cases in ProducerFailureHandlingTest.scala
> against 0.8.1.1?
>
> Thanks,
> Paul
>



-- 
Thanks,
Ewen