Yeah, I mean exception denotes some abnormal behavior which may caught up by 
log watcher or smtp appender as error and raise false alerts to monitoring 
systems. Weekly restart of host is usual where application may get killed 
forcefully.

As per me, to log warn statement you suggested makes more sense indicating 
about client depart event from distributed system.

Thanks & Regards,
Dharam

From: Kirk Lund [mailto:[email protected]]
Sent: Tuesday, December 13, 2016 4:35 AM
To: [email protected]
Subject: Re: How to handle clients leaving distributed system

Hi Dharam,

Are you saying you'd prefer to see the IOException get caught by Geode server 
code and then log a statement instead of a stack trace?

Example:

[warn 2016/12/12 11:46:35.072 IST <ServerConnection on port 40404 Thread 0> 
tid=0x54] Server lost connection from client 
[identity(XXXXX(6448:loner):56455:d9bea2f1,connection=1; port=56455]

-Kirk


On Sun, Dec 11, 2016 at 10:22 PM, Thacker, Dharam 
<[email protected]<mailto:[email protected]>> wrote:
Hi Team,

Is there any better way to handle client leaving distributed 
system/crashing/manual kill due to some unexpected error? I am seeing following 
in server’s logs,

[warn 2016/12/12 11:46:35.072 IST <ServerConnection on port 40404 Thread 0> 
tid=0x54] Server connection from 
[identity(XXXXX(6448:loner):56455:d9bea2f1,connection=1; port=56455]: 
Unexpected IOException:
java.net.SocketException: Connection reset
       at java.net.SocketInputStream.read(SocketInputStream.java:209)
       at java.net.SocketInputStream.read(SocketInputStream.java:141)
       at 
org.apache.geode.internal.cache.tier.sockets.Message.fetchHeader(Message.java:693)
       at 
org.apache.geode.internal.cache.tier.sockets.Message.readHeaderAndPayload(Message.java:710)
       at 
org.apache.geode.internal.cache.tier.sockets.Message.read(Message.java:661)
       at 
org.apache.geode.internal.cache.tier.sockets.Message.recv(Message.java:1103)
       at 
org.apache.geode.internal.cache.tier.sockets.Message.recv(Message.java:1116)
       at 
org.apache.geode.internal.cache.tier.sockets.BaseCommand.readRequest(BaseCommand.java:904)
       at 
org.apache.geode.internal.cache.tier.sockets.ServerConnection.doNormalMsg(ServerConnection.java:726)
       at 
org.apache.geode.internal.cache.tier.sockets.ServerConnection.doOneMessage(ServerConnection.java:913)
       at 
org.apache.geode.internal.cache.tier.sockets.ServerConnection.run(ServerConnection.java:1180)
       at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
       at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
       at 
org.apache.geode.internal.cache.tier.sockets.AcceptorImpl$1$1.run(AcceptorImpl.java:546)
       at java.lang.Thread.run(Thread.java:745)

Thanks & Regards,
Dharam

This email is confidential and subject to important disclaimers and conditions 
including on offers for the purchase or sale of securities, accuracy and 
completeness of information, viruses, confidentiality, legal privilege, and 
legal entity disclaimers, available at 
http://www.jpmorgan.com/pages/disclosures/email


This email is confidential and subject to important disclaimers and conditions 
including on offers for the purchase or sale of securities, accuracy and 
completeness of information,  viruses, confidentiality, legal privilege, and 
legal entity disclaimers, available at 
http://www.jpmorgan.com/pages/disclosures/email

Reply via email to