<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ramraje.com &#187; socket write error</title>
	<atom:link href="http://www.ramraje.com/tag/socket-write-error/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ramraje.com</link>
	<description>Software Programming Blog</description>
	<lastBuildDate>Fri, 28 May 2010 17:03:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>java.net.SocketException: Connection reset by peer, socket write error</title>
		<link>http://www.ramraje.com/java-errors-solutions/javanetsocketexception-connection-reset-by-peer-socket-write-error/</link>
		<comments>http://www.ramraje.com/java-errors-solutions/javanetsocketexception-connection-reset-by-peer-socket-write-error/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 17:22:17 +0000</pubDate>
		<dc:creator>Ramraj Edagutti</dc:creator>
				<category><![CDATA[Java Errors/Solutions]]></category>
		<category><![CDATA[Connection closed by peer]]></category>
		<category><![CDATA[java socket error]]></category>
		<category><![CDATA[socket write error]]></category>
		<category><![CDATA[SocketException]]></category>

		<guid isPermaLink="false">http://www.ramraje.com/?p=241</guid>
		<description><![CDATA[I am getting this socket connection error in my java web application, which was working very well for long time. I did see this behaviour when I ran huge batch of database insertions/updates. Below is the java stacktrace of this error.]]></description>
			<content:encoded><![CDATA[<p>I am getting this socket connection error in my java web application, which was working very well for long time. I did see this behaviour when I ran huge batch of database insertions/updates. Below is the java stacktrace of this error.<span id="more-241"></span></p>
<div class="geshi no java">
<div class="head">ClientAbortException:  java.net.SocketException: Connection reset by peer: socket write error</div>
<ol>
<li class="li1">
<div class="de1">&nbsp;at org.<span class="me1">apache</span>.<span class="me1">catalina</span>.<span class="me1">connector</span>.<span class="me1">OutputBuffer</span>.<span class="me1">doFlush</span><span class="br0">&#40;</span>OutputBuffer.<span class="me1">java</span>:<span class="nu0">327</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;at org.<span class="me1">apache</span>.<span class="me1">catalina</span>.<span class="me1">connector</span>.<span class="me1">OutputBuffer</span>.<span class="me1">flush</span><span class="br0">&#40;</span>OutputBuffer.<span class="me1">java</span>:<span class="nu0">293</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;at org.<span class="me1">apache</span>.<span class="me1">catalina</span>.<span class="me1">connector</span>.<span class="me1">Response</span>.<span class="me1">flushBuffer</span><span class="br0">&#40;</span>Response.<span class="me1">java</span>:<span class="nu0">545</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;at org.<span class="me1">apache</span>.<span class="me1">catalina</span>.<span class="me1">core</span>.<span class="me1">StandardHostValve</span>.<span class="me1">status</span><span class="br0">&#40;</span>StandardHostValve.<span class="me1">java</span>:<span class="nu0">287</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;at org.<span class="me1">apache</span>.<span class="me1">catalina</span>.<span class="me1">core</span>.<span class="me1">StandardHostValve</span>.<span class="me1">invoke</span><span class="br0">&#40;</span>StandardHostValve.<span class="me1">java</span>:<span class="nu0">137</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;at org.<span class="me1">apache</span>.<span class="me1">catalina</span>.<span class="me1">valves</span>.<span class="me1">ErrorReportValve</span>.<span class="me1">invoke</span><span class="br0">&#40;</span>ErrorReportValve.<span class="me1">java</span>:<span class="nu0">117</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;at org.<span class="me1">apache</span>.<span class="me1">catalina</span>.<span class="me1">core</span>.<span class="me1">StandardEngineValve</span>.<span class="me1">invoke</span><span class="br0">&#40;</span>StandardEngineValve.<span class="me1">java</span>:<span class="nu0">108</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;at org.<span class="me1">apache</span>.<span class="me1">catalina</span>.<span class="me1">connector</span>.<span class="me1">CoyoteAdapter</span>.<span class="me1">service</span><span class="br0">&#40;</span>CoyoteAdapter.<span class="me1">java</span>:<span class="nu0">174</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;at org.<span class="me1">apache</span>.<span class="me1">coyote</span>.<span class="me1">http11</span>.<span class="me1">Http11Processor</span>.<span class="me1">process</span><span class="br0">&#40;</span>Http11Processor.<span class="me1">java</span>:<span class="nu0">874</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;at org.<span class="me1">apache</span>.<span class="me1">coyote</span>.<span class="me1">http11</span>.<span class="me1">Http11BaseProtocol</span>$Http11ConnectionHandler.<span class="me1">processConnection</span><span class="br0">&#40;</span>Http11BaseProtocol.<span class="me1">java</span>:<span class="nu0">665</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;at org.<span class="me1">apache</span>.<span class="me1">tomcat</span>.<span class="me1">util</span>.<span class="me1">net</span>.<span class="me1">PoolTcpEndpoint</span>.<span class="me1">processSocket</span><span class="br0">&#40;</span>PoolTcpEndpoint.<span class="me1">java</span>:<span class="nu0">528</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;at org.<span class="me1">apache</span>.<span class="me1">tomcat</span>.<span class="me1">util</span>.<span class="me1">net</span>.<span class="me1">LeaderFollowerWorkerThread</span>.<span class="me1">runIt</span><span class="br0">&#40;</span>LeaderFollowerWorkerThread.<span class="me1">java</span>:<span class="nu0">81</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;at org.<span class="me1">apache</span>.<span class="me1">tomcat</span>.<span class="me1">util</span>.<span class="me1">threads</span>.<span class="me1">ThreadPool</span>$ControlRunnable.<span class="me1">run</span><span class="br0">&#40;</span>ThreadPool.<span class="me1">java</span>:<span class="nu0">689</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;at java.<span class="me1">lang</span>.<span class="kw3">Thread</span>.<span class="me1">run</span><span class="br0">&#40;</span><span class="kw3">Thread</span>.<span class="me1">java</span>:<span class="nu0">595</span><span class="br0">&#41;</span></div>
</li>
</ol>
</div>
<p>Usually, this kind of behaviour occurs when one of the following happens</p>
<ol>
<li>When user make a request, and suddenly browser get closed by user accidentally or due to browser crash</li>
<li>When user make a request, and browser closes the http connection automatically due to exceeded content length size</li>
<li>When user make a request, and presses the stop button</li>
</ol>
<p>But surprisingly, there is one more reason which may cause this  problem. This is more unpredictable and very difficult to identify as well, that is problem with firewall.  When<a href="http://archives.postgresql.org/pgsql-jdbc/2004-12/msg00007.php" target="_blank"> googled</a>, I founded people complaining about firewall closing database connection automatically.  On top of this I am also not getting proper java exception stacktrace to track the error and fix.</p>
<p>To elaborate more on firewall issue, the error is more TCP/IP connection level error where database is closed by the firewall after database connection are idle for certain time or certain db connection length. Possibility is that there is a statefull firewall which is closing database connections after certain time limit. I am still in the process of identifying what could be the real problem. Once I found real probelm and solution, I will post it in here. If any one know the solutions, please post it in the comments section. Thank you.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ramraje.com/java-errors-solutions/javanetsocketexception-connection-reset-by-peer-socket-write-error/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
