On 10/09/18 17:33, Mitch Claborn wrote:
> Further information and questions.
> 
> I created my own interceptor based on ThroughputInterceptor so that I
> could log the timing of specific sessions to correlate them with the
> failures in my health check program.  I was surprised to find that in
> those instances where the health check reported a failure, the
> interceptor reported that the session send was accomplished in < 5 ms,
> while the health check app is waiting a full 1000 ms between calls to
> the different tomcat instances. So now I'm more confused than ever.
> 
> Anyone have any ideas?
> 
> In a ChannelInterceptor, does when getNext().sendMessage(destination,
> msg, payload) returns, does that mean that the message has been sent AND
> received by the recipient member, or does that only indicate a send?

You are using:
channelSendOptions="8"

That means that, as far as the sender is concerned, the message is sent
as soon as it has been placed in the queue on the sender for
transmission to the other nodes.

If you use async sending, the options to enable ACKS don't offer very
much - if anything.

If you configure
channelSendOptions="2"
the the sender will block the completion of the current request until
all of the receiving nodes have acknowledged that they have received the
message.

If you configure
channelSendOptions="6"
the the sender will block the completion of the current request until
all of the receiving nodes have acknowledged that they have received and
processed the message.

There is a trade-off here between throughput on the sender vs
reliability of replication if the sender fails.

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to