<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: JVM restarts</title>
	<atom:link href="http://brian.pontarelli.com/2007/08/09/jvm-restarts/feed/" rel="self" type="application/rss+xml" />
	<link>http://brian.pontarelli.com/2007/08/09/jvm-restarts/</link>
	<description>Brian Pontarelli</description>
	<pubDate>Tue, 06 Jan 2009 14:08:38 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
		<item>
		<title>By: Brian Pontarelli</title>
		<link>http://brian.pontarelli.com/2007/08/09/jvm-restarts/#comment-4426</link>
		<dc:creator>Brian Pontarelli</dc:creator>
		<pubDate>Sun, 12 Aug 2007 03:00:39 +0000</pubDate>
		<guid isPermaLink="false">http://brian.pontarelli.com/2007/08/09/jvm-restarts/#comment-4426</guid>
		<description>I'm making a post about these.</description>
		<content:encoded><![CDATA[<p>I&#8217;m making a post about these.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andrew Rubalcaba</title>
		<link>http://brian.pontarelli.com/2007/08/09/jvm-restarts/#comment-4418</link>
		<dc:creator>Andrew Rubalcaba</dc:creator>
		<pubDate>Sat, 11 Aug 2007 03:15:59 +0000</pubDate>
		<guid isPermaLink="false">http://brian.pontarelli.com/2007/08/09/jvm-restarts/#comment-4418</guid>
		<description>Brian,

You mentioned earlier that there is are a number of JSRs in the works to specifically address requiring restarts for software updates.  Do you have any other info on these?  Like the JSR numbers?  Any links to more info on this would be greatly appreciated.</description>
		<content:encoded><![CDATA[<p>Brian,</p>
<p>You mentioned earlier that there is are a number of JSRs in the works to specifically address requiring restarts for software updates.  Do you have any other info on these?  Like the JSR numbers?  Any links to more info on this would be greatly appreciated.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian Pontarelli</title>
		<link>http://brian.pontarelli.com/2007/08/09/jvm-restarts/#comment-4415</link>
		<dc:creator>Brian Pontarelli</dc:creator>
		<pubDate>Fri, 10 Aug 2007 21:47:44 +0000</pubDate>
		<guid isPermaLink="false">http://brian.pontarelli.com/2007/08/09/jvm-restarts/#comment-4415</guid>
		<description>Mathias,

I'm not sure I follow you with changing the user.dir or classpath comment. Setting up a new classloader after the application starts up is pretty common. This is the root of J2EE containers. Most applications insulate themselves in this manner so I'm not sure how this impacts restarts. I've found in most cases that it actually helps to create classloaders after startup because it allows you to throw them out and recreate them if necessary.

As for the user.dir thing. I can kinda see this since system properties are JVM scoped. Is that what you are referring to?</description>
		<content:encoded><![CDATA[<p>Mathias,</p>
<p>I&#8217;m not sure I follow you with changing the user.dir or classpath comment. Setting up a new classloader after the application starts up is pretty common. This is the root of J2EE containers. Most applications insulate themselves in this manner so I&#8217;m not sure how this impacts restarts. I&#8217;ve found in most cases that it actually helps to create classloaders after startup because it allows you to throw them out and recreate them if necessary.</p>
<p>As for the user.dir thing. I can kinda see this since system properties are JVM scoped. Is that what you are referring to?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mathias Ricken</title>
		<link>http://brian.pontarelli.com/2007/08/09/jvm-restarts/#comment-4414</link>
		<dc:creator>Mathias Ricken</dc:creator>
		<pubDate>Fri, 10 Aug 2007 21:32:44 +0000</pubDate>
		<guid isPermaLink="false">http://brian.pontarelli.com/2007/08/09/jvm-restarts/#comment-4414</guid>
		<description>In some cases, it is necessary to restart the JVM. I agree that it should not be the usual path taken when a program becomes unstable, but as someone pointed out, it is hard to recover from an OutOfMemoryError. It's possible, but it takes a lot of care. It should also be noted that an OutOfMemoryError could arise because the user started the JVM with incorrect -Xm? arguments.

The situations where restarting the JVM is unavoidable, though, are when your program requires a different classpath than it has at startup, or when you want to change the value of the "user.dir" property. Changing either might seem like a rare thing, but it was necessary and caused quite a bit of headache during the development of DrJava, our open-source Java IDE (www.drjava.org).</description>
		<content:encoded><![CDATA[<p>In some cases, it is necessary to restart the JVM. I agree that it should not be the usual path taken when a program becomes unstable, but as someone pointed out, it is hard to recover from an OutOfMemoryError. It&#8217;s possible, but it takes a lot of care. It should also be noted that an OutOfMemoryError could arise because the user started the JVM with incorrect -Xm? arguments.</p>
<p>The situations where restarting the JVM is unavoidable, though, are when your program requires a different classpath than it has at startup, or when you want to change the value of the &#8220;user.dir&#8221; property. Changing either might seem like a rare thing, but it was necessary and caused quite a bit of headache during the development of DrJava, our open-source Java IDE (www.drjava.org).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian Pontarelli</title>
		<link>http://brian.pontarelli.com/2007/08/09/jvm-restarts/#comment-4412</link>
		<dc:creator>Brian Pontarelli</dc:creator>
		<pubDate>Fri, 10 Aug 2007 15:56:47 +0000</pubDate>
		<guid isPermaLink="false">http://brian.pontarelli.com/2007/08/09/jvm-restarts/#comment-4412</guid>
		<description>Vic, 

I've tried other JVMs in the past at Orbitz and they just couldn't handle the load and Jini gets really mad with JRockit. However, in many cases, you are probably correct.</description>
		<content:encoded><![CDATA[<p>Vic, </p>
<p>I&#8217;ve tried other JVMs in the past at Orbitz and they just couldn&#8217;t handle the load and Jini gets really mad with JRockit. However, in many cases, you are probably correct.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian Pontarelli</title>
		<link>http://brian.pontarelli.com/2007/08/09/jvm-restarts/#comment-4411</link>
		<dc:creator>Brian Pontarelli</dc:creator>
		<pubDate>Fri, 10 Aug 2007 15:55:10 +0000</pubDate>
		<guid isPermaLink="false">http://brian.pontarelli.com/2007/08/09/jvm-restarts/#comment-4411</guid>
		<description>Steve,

Good call!</description>
		<content:encoded><![CDATA[<p>Steve,</p>
<p>Good call!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian Pontarelli</title>
		<link>http://brian.pontarelli.com/2007/08/09/jvm-restarts/#comment-4410</link>
		<dc:creator>Brian Pontarelli</dc:creator>
		<pubDate>Fri, 10 Aug 2007 15:54:15 +0000</pubDate>
		<guid isPermaLink="false">http://brian.pontarelli.com/2007/08/09/jvm-restarts/#comment-4410</guid>
		<description>Tim Goeke,

I disagree that it is a fact of life. I know for a fact it isn't. You can build systems that don't need restarts. In fact, there are a number of JSRs in the works to specifically address requiring restarts for software updates. 

OutOfMemory errors are application bugs. Stuck threads and dead locks are also application bugs. Everything you've stated is essentially fixable. I say don't settle for restarting a JVM because the bug is hard to fix. Plus, I think you are talking about failure scenarios and not the scheduled restarts that Matt was referring to. And on that front you are correct. Restarts (currently) are required to fix a broken system. It's the only way to get your system up and running again. But, when crisis restarts turn into scheduled restarts, I get uneasy.</description>
		<content:encoded><![CDATA[<p>Tim Goeke,</p>
<p>I disagree that it is a fact of life. I know for a fact it isn&#8217;t. You can build systems that don&#8217;t need restarts. In fact, there are a number of JSRs in the works to specifically address requiring restarts for software updates. </p>
<p>OutOfMemory errors are application bugs. Stuck threads and dead locks are also application bugs. Everything you&#8217;ve stated is essentially fixable. I say don&#8217;t settle for restarting a JVM because the bug is hard to fix. Plus, I think you are talking about failure scenarios and not the scheduled restarts that Matt was referring to. And on that front you are correct. Restarts (currently) are required to fix a broken system. It&#8217;s the only way to get your system up and running again. But, when crisis restarts turn into scheduled restarts, I get uneasy.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian Pontarelli</title>
		<link>http://brian.pontarelli.com/2007/08/09/jvm-restarts/#comment-4409</link>
		<dc:creator>Brian Pontarelli</dc:creator>
		<pubDate>Fri, 10 Aug 2007 15:49:29 +0000</pubDate>
		<guid isPermaLink="false">http://brian.pontarelli.com/2007/08/09/jvm-restarts/#comment-4409</guid>
		<description>David O'Meara,

I have definitely been there with 24/7. But even with restarts you still get paged. I'd rather fix the problems so that so at least I'm only getting paged when the system is jacked and not when my restart cron has failed or worse the restarted box won't come back up.</description>
		<content:encoded><![CDATA[<p>David O&#8217;Meara,</p>
<p>I have definitely been there with 24/7. But even with restarts you still get paged. I&#8217;d rather fix the problems so that so at least I&#8217;m only getting paged when the system is jacked and not when my restart cron has failed or worse the restarted box won&#8217;t come back up.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian Pontarelli</title>
		<link>http://brian.pontarelli.com/2007/08/09/jvm-restarts/#comment-4408</link>
		<dc:creator>Brian Pontarelli</dc:creator>
		<pubDate>Fri, 10 Aug 2007 15:44:44 +0000</pubDate>
		<guid isPermaLink="false">http://brian.pontarelli.com/2007/08/09/jvm-restarts/#comment-4408</guid>
		<description>DK,

Hmmmmmmmm..... I guess my main concern is that system stability isn't as simple as JVM restarts. I mean you remember when a simple restart brings an entire system down. Or worse, a simple restart means the box doesn't ever come back up. I just tend to look at restarts dangerous and to be avoided. In most cases there are fixes. 

However, now that I own my own company, I can definitely understand the trade-off between correct the fix and the cost effective fix.

So, I guess I'm looking at the fence from my air conditioned living room and you guys are on the other side. ;) At least I know there is a fence. hehe</description>
		<content:encoded><![CDATA[<p>DK,</p>
<p>Hmmmmmmmm&#8230;.. I guess my main concern is that system stability isn&#8217;t as simple as JVM restarts. I mean you remember when a simple restart brings an entire system down. Or worse, a simple restart means the box doesn&#8217;t ever come back up. I just tend to look at restarts dangerous and to be avoided. In most cases there are fixes. </p>
<p>However, now that I own my own company, I can definitely understand the trade-off between correct the fix and the cost effective fix.</p>
<p>So, I guess I&#8217;m looking at the fence from my air conditioned living room and you guys are on the other side. ;) At least I know there is a fence. hehe</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jess Sightler</title>
		<link>http://brian.pontarelli.com/2007/08/09/jvm-restarts/#comment-4407</link>
		<dc:creator>Jess Sightler</dc:creator>
		<pubDate>Fri, 10 Aug 2007 14:55:47 +0000</pubDate>
		<guid isPermaLink="false">http://brian.pontarelli.com/2007/08/09/jvm-restarts/#comment-4407</guid>
		<description>I agree with Matt on the specific case.

I am not in favor of restarting due to instability problems overall, though.  If the crashing service is one in which you expect growth, it tends to only defer the problem.

A weekly restart can turn into a 6 day restart (and then 5... 4... so on) for exactly that reason.  And then when you do try to fix it, you find out that you've introduced a dozen other similar problems that you haven't noticed because you've been papering over all of them.

It's much better to deal with the problems as soon as possible.  Getting woken up at 3 in the morning a few times will get them fixed even faster.  :-)</description>
		<content:encoded><![CDATA[<p>I agree with Matt on the specific case.</p>
<p>I am not in favor of restarting due to instability problems overall, though.  If the crashing service is one in which you expect growth, it tends to only defer the problem.</p>
<p>A weekly restart can turn into a 6 day restart (and then 5&#8230; 4&#8230; so on) for exactly that reason.  And then when you do try to fix it, you find out that you&#8217;ve introduced a dozen other similar problems that you haven&#8217;t noticed because you&#8217;ve been papering over all of them.</p>
<p>It&#8217;s much better to deal with the problems as soon as possible.  Getting woken up at 3 in the morning a few times will get them fixed even faster.  :-)</p>
]]></content:encoded>
	</item>
</channel>
</rss>
