Is hdp132 the master or the slave?  And what URI does your client use to
connect?

Do you see that message once, or six times?
On Apr 8, 2016 12:32 PM, "Natarajan, Rajeswari" <rajeswari.natara...@sap.com>
wrote:

> Thanks Tim for the detailed email.  When I do failover I see below
> exception in our app logs.
>
> org.apache.activemq.transport.failover.FailoverTransport
> Transport (tcp://hdp132.lab1.ariba.com:61616) failed, attempting to
> automatically reconnect java.io.EOFException: null
>         at java.io.DataInputStream.readInt(DataInputStream.java:392)
>         at
> org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:267)
>         at
> org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:240)
>         at
> org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:232)
>         at
> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:215)
>
> The message redelivery attempt is default  in the activemq conf, so it is
> 6 times.
>
>
> I just send 1 message to the queue ,receive it and don't ack it ,then do
> failover . There is a thread which listens for receiving messages in the
> queue ,I don't see any exception in there .  So not sure  from where the
> transport exception is thrown.
> In the produce send  , receive and ack code the JMS
> Is there a way to track failover happened.  May be some sort of listener
> ,then the session can be recovered.
>
> Regards,
> Rajeswari
>
> -----Original Message-----
> From: tbai...@gmail.com [mailto:tbai...@gmail.com] On Behalf Of Tim Bain
> Sent: Thursday, April 07, 2016 8:53 PM
> To: ActiveMQ Users <users@activemq.apache.org>
> Subject: Re: MasterSlave config ActiveMQ
>
> I apologize, I misunderstood what you meant by "I made sure the messages
> will not be acknowledged."
>
> When either the broker or a consumer goes down while a consumer is actively
> consuming a message, the broker will consider that a filed delivery and try
> to redeliver the message.  The maximumRedeliveries property of the
> Redelivery Policy (http://activemq.apache.org/redelivery-policy.html)
> controls how many times the message will be redelivered before being put
> into the DLQ.  The default value is 6; is this the value you're using, or
> have you explicitly set a different value?  With the default value of 6,
> your consumer should fail over to the new master, the message should be
> redelivered (because this is redelivery attempt #1 and that's less than 6),
> and your consumer should start processing the message for the second time.
> As long as that doesn't throw any exceptions or fail in any other way (have
> you confirmed this?), the second redelivery attempt should eventually
> result in a successful processing of the message.
>
> However, it sounds like that's not happening for you, and
>
> http://stackoverflow.com/questions/8576821/cant-get-activemq-to-resend-my-messages#comment35122357_8576821
> seems to indicate that when using INDIVIDUAL_ACKNOWLEDGE mode, if you don't
> close the Connection or recover() the Session, the messages will be
> considered duplicates and ignored by the consumer.  I haven't worked with
> INDIVIDUAL_ACKNOWLEDGE mode myself; can anyone else on the list shed more
> light on whether that comment is accurate?
>
> If so, it would sound like clients who use INDIVIDUAL_ACKNOWLEDGE mode
> shouldn't use the failover transport, because they need the connection to
> die so they can recreate it.  If that were true, I'd expect we'd have a
> warning somewhere on the wiki saying that those two features aren't
> compatible with one another, but I haven't seen one in my searching this
> evening...
>
> Tim
>
> On Thu, Apr 7, 2016 at 12:02 PM, Natarajan, Rajeswari <
> rajeswari.natara...@sap.com> wrote:
>
> > I am trying to understand, sorry if I sound , I don't believe you or
> > skeptic. I have an application with the broker url defined as below
> (with
> > shared file system)
> >
> > failover:(tcp://<hostname1>:61616,tcp://<hostname2>:61616.
> >
> > When I failover I see the web console and see one consumer on the fail
> > over host ,as the application is having a consumer and got a message ,but
> > did not acknowledge (delaying it on purpose for a use case) during
> > failover.. In our use case, there will be messagse sent to the queue and
> we
> > do some processing ,but not acknowledging the messages ,unless we get a
> > condition satisfied ,which might take some time. So when a failover
> happens
> > within that time ,all such messages will be moved to DLQ?
> > Is there any way to  have them in the same state as before in  the fail
> > over host.
> >
> > Thank you,
> > Rajeswari
> >
> > -----Original Message-----
> > From: tbai...@gmail.com [mailto:tbai...@gmail.com] On Behalf Of Tim Bain
> > Sent: Thursday, April 07, 2016 5:41 AM
> > To: ActiveMQ Users <users@activemq.apache.org>
> > Subject: RE: MasterSlave config ActiveMQ
> >
> > Quoting from what I originally wrote you: "or if there's a consumer
> > on the failover host that tries and fails to consume them."  Consuming a
> > message but not acking it == failing to consume it.  The failover
> > functionality works, despite your apparent skepticism; retry your test
> with
> > no consumers if you don't believe me.
> >
> > Tim
> > On Apr 7, 2016 5:22 AM, "Natarajan, Rajeswari" <
> > rajeswari.natara...@sap.com>
> > wrote:
> >
> > > FYI using non-transactional session with
> > > ActiveMQSession.INDIVIDUAL_ACKNOWLEDGE
> > >
> > > Rajeswari
> > >
> > > -----Original Message-----
> > > From: Natarajan, Rajeswari [mailto:rajeswari.natara...@sap.com]
> > > Sent: Thursday, April 07, 2016 3:57 AM
> > > To: users@activemq.apache.org
> > > Subject: RE: MasterSlave config ActiveMQ
> > >
> > > Thank you. But in my case I am sure the messages have not reached
> > > JMSExpiration date.
> > >
> > > I assume there will be a consumer on the failover host ,once the
> failover
> > > happens. But when I tested, I made sure the messages will not be
> > > acknowledged . Still  I see consistently the pending/enqueued messages
> go
> > > DLQ upon failover and don't appear in the original Queue as enqueued.
> > > Am I missing something
> > >
> > > Rajeswari
> > >
> > > -----Original Message-----
> > > From: tbai...@gmail.com [mailto:tbai...@gmail.com] On Behalf Of Tim
> Bain
> > > Sent: Wednesday, April 06, 2016 10:26 PM
> > > To: ActiveMQ Users <users@activemq.apache.org>
> > > Subject: Re: MasterSlave config ActiveMQ
> > >
> > > Only if they had reached their JMSExpiration date, or if there's a
> > consumer
> > > on the failover host that tries and fails to consume them.  Otherwise,
> > they
> > > will continue to be available on the queue.
> > >
> > > On Wed, Apr 6, 2016 at 5:03 PM, Natarajan, Rajeswari <
> > > rajeswari.natara...@sap.com> wrote:
> > >
> > > > Hi,
> > > >
> > > > I am testing activemq master slave config using shared file system.
> > > >
> > > > 1) I issued 1 message to a queue and I saw that in both pending
> message
> > > > count and enqueued count.  The message was not dequeued.
> > > >
> > > > 2)Killed the master ,the secondary took over ,in secondary's
> > webconsole I
> > > > see that
> > > >
> > > > Messages dequeued as 1
> > > >
> > > > And in the ActiveMQ.DLQ  I see 1 pending message and 1 enqueued
> > message.
> > > >
> > > >
> > > > So in case of failover ,the pending/unacknowledged messages go to DLQ
> > and
> > > > never get processed ?
> > > >
> > > >
> > > > Thank you,
> > > > Rajeswari
> > > >
> > >
> >
>

Reply via email to