<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: CreateUUID() : Friendly Function or Server Killer?</title>
	<atom:link href="http://www.webapper.com/blog/index.php/2009/05/05/createuuid_friendly_function_or_server_killer/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.webapper.com/blog/index.php/2009/05/05/createuuid_friendly_function_or_server_killer/</link>
	<description>Web Application Engineers</description>
	<lastBuildDate>Mon, 05 Dec 2011 17:24:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Charlie Arehart</title>
		<link>http://www.webapper.com/blog/index.php/2009/05/05/createuuid_friendly_function_or_server_killer/comment-page-1/#comment-23271</link>
		<dc:creator>Charlie Arehart</dc:creator>
		<pubDate>Wed, 14 Jul 2010 21:16:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.webapper.com/blog/?p=1071#comment-23271</guid>
		<description>Just an update to all this, since discussions here over a year ago: we should note that this problem has been addressed in CF9, which significantly increased the performance of createUUID.

If anyone from webapper sees this, it would be even more helpful to add a mention of this at the top of the entry, for future readers (some of whom may not wade through all the comments to get to this one). Since it was written in the CF 8 timeframe (3 months before 9 came out), there&#039;s nothing in it to clarify that, so some readers may go away thinking it applies as well to CF9, discouraging them needlessly. 

Here are some additional references for those interested:
http://www.petefreitag.com/item/742.cfm
http://www.coldfusionjedi.com/index.cfm/2009/8/31/createUUID-speeded-up-in-ColdFusion-9</description>
		<content:encoded><![CDATA[<p>Just an update to all this, since discussions here over a year ago: we should note that this problem has been addressed in CF9, which significantly increased the performance of createUUID.</p>
<p>If anyone from webapper sees this, it would be even more helpful to add a mention of this at the top of the entry, for future readers (some of whom may not wade through all the comments to get to this one). Since it was written in the CF 8 timeframe (3 months before 9 came out), there&#8217;s nothing in it to clarify that, so some readers may go away thinking it applies as well to CF9, discouraging them needlessly. </p>
<p>Here are some additional references for those interested:<br />
<a href="http://www.petefreitag.com/item/742.cfm" rel="nofollow">http://www.petefreitag.com/item/742.cfm</a><br />
<a href="http://www.coldfusionjedi.com/index.cfm/2009/8/31/createUUID-speeded-up-in-ColdFusion-9" rel="nofollow">http://www.coldfusionjedi.com/index.cfm/2009/8/31/createUUID-speeded-up-in-ColdFusion-9</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tyson Vanek</title>
		<link>http://www.webapper.com/blog/index.php/2009/05/05/createuuid_friendly_function_or_server_killer/comment-page-1/#comment-4588</link>
		<dc:creator>Tyson Vanek</dc:creator>
		<pubDate>Thu, 04 Jun 2009 19:56:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.webapper.com/blog/?p=1071#comment-4588</guid>
		<description>@Sarge: Hey man, great to see you getting involved.  =)  Do I remember PA&amp;T?  Geesh, that&#039;s a silly question.  Aside from the fact that I spent many a week sleeping on temperature controlled server room floors during weeks on site with Allaire customers, I&#039;m actually still performing similar sorts of &quot;PA&amp;T&quot; engagements for customers in my present day work.  As we all know, it&#039;s one thing to develop and write a good ColdFusion application; another thing entirely to engineer for stability, scalability, concurrency, etc.

But, back to your question.  I have not, in fact, tested with the &lt;em&gt;XX:+ForceTimeHighResolution&lt;/em&gt; JVM flag enabled.  In looking at the Sun bug detail cited by that Adobe TechNote, it seems there&#039;s an open related issue to that original bug that was thought to be resolved.  The open related issue seems to indicate that the behavior is still a problem.

Fact is, I sort of had limited accessibility to the customer environment in which we originally diagnosed this issue so I wasn&#039;t able to go so far as altering the JVM config and experiment with adding the flag.  And in my own local environments, I&#039;m not even running ColdFusion on a Windows platform anymore.  I&#039;ve happily followed in the footsteps of many before me who have made the conversion over to Mac.  I&#039;m still running a Windows XP virtual instance that I suppose I could leverage for some testing.  But my primary development configuration of ColdFusion is installed within my Mac OS.

Keep me apprised if you or someone you know manage to produce evidence that the JVM flag resolves this issue under the same configuration.  I&#039;ll be sure to update the blog posting appropriately with such finds.</description>
		<content:encoded><![CDATA[<p>@Sarge: Hey man, great to see you getting involved.  =)  Do I remember PA&amp;T?  Geesh, that&#8217;s a silly question.  Aside from the fact that I spent many a week sleeping on temperature controlled server room floors during weeks on site with Allaire customers, I&#8217;m actually still performing similar sorts of &#8220;PA&amp;T&#8221; engagements for customers in my present day work.  As we all know, it&#8217;s one thing to develop and write a good ColdFusion application; another thing entirely to engineer for stability, scalability, concurrency, etc.</p>
<p>But, back to your question.  I have not, in fact, tested with the <em>XX:+ForceTimeHighResolution</em> JVM flag enabled.  In looking at the Sun bug detail cited by that Adobe TechNote, it seems there&#8217;s an open related issue to that original bug that was thought to be resolved.  The open related issue seems to indicate that the behavior is still a problem.</p>
<p>Fact is, I sort of had limited accessibility to the customer environment in which we originally diagnosed this issue so I wasn&#8217;t able to go so far as altering the JVM config and experiment with adding the flag.  And in my own local environments, I&#8217;m not even running ColdFusion on a Windows platform anymore.  I&#8217;ve happily followed in the footsteps of many before me who have made the conversion over to Mac.  I&#8217;m still running a Windows XP virtual instance that I suppose I could leverage for some testing.  But my primary development configuration of ColdFusion is installed within my Mac OS.</p>
<p>Keep me apprised if you or someone you know manage to produce evidence that the JVM flag resolves this issue under the same configuration.  I&#8217;ll be sure to update the blog posting appropriately with such finds.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sarge</title>
		<link>http://www.webapper.com/blog/index.php/2009/05/05/createuuid_friendly_function_or_server_killer/comment-page-1/#comment-4122</link>
		<dc:creator>Sarge</dc:creator>
		<pubDate>Thu, 28 May 2009 15:53:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.webapper.com/blog/?p=1071#comment-4122</guid>
		<description>Nice catch Tyson. Talking about coming back to bite you. I believe I wrote that technote back in 2006 after a customer pointed it out to me during a PA&amp;T (you guys remember those?) This thing gets even more complicated when you use time synch software. We did the same loop test and literally watched the second hand spin with each iteration.

Long story short, the technote is really old and hasn&#039;t been updated. The new technote system doesn&#039;t seem to display the product version but this was back in the 6.0.x days. Since I don&#039;t support CF anymore I hadn&#039;t looked into this with CF8 but looks like I&#039;ll have to get the team on it. Ron&#039;s question still remains -- has anyone tried the XX:+ForceTimeHighResolution JVM flag to prevent this with their chosen Sun JVM version &amp; CF8?</description>
		<content:encoded><![CDATA[<p>Nice catch Tyson. Talking about coming back to bite you. I believe I wrote that technote back in 2006 after a customer pointed it out to me during a PA&amp;T (you guys remember those?) This thing gets even more complicated when you use time synch software. We did the same loop test and literally watched the second hand spin with each iteration.</p>
<p>Long story short, the technote is really old and hasn&#8217;t been updated. The new technote system doesn&#8217;t seem to display the product version but this was back in the 6.0.x days. Since I don&#8217;t support CF anymore I hadn&#8217;t looked into this with CF8 but looks like I&#8217;ll have to get the team on it. Ron&#8217;s question still remains &#8212; has anyone tried the XX:+ForceTimeHighResolution JVM flag to prevent this with their chosen Sun JVM version &amp; CF8?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andy Sandefer</title>
		<link>http://www.webapper.com/blog/index.php/2009/05/05/createuuid_friendly_function_or_server_killer/comment-page-1/#comment-3179</link>
		<dc:creator>Andy Sandefer</dc:creator>
		<pubDate>Wed, 13 May 2009 21:21:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.webapper.com/blog/?p=1071#comment-3179</guid>
		<description>This is great information to have.  Bookmarking for sure.
Thanks!</description>
		<content:encoded><![CDATA[<p>This is great information to have.  Bookmarking for sure.<br />
Thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tyson Vanek</title>
		<link>http://www.webapper.com/blog/index.php/2009/05/05/createuuid_friendly_function_or_server_killer/comment-page-1/#comment-2930</link>
		<dc:creator>Tyson Vanek</dc:creator>
		<pubDate>Fri, 08 May 2009 20:40:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.webapper.com/blog/?p=1071#comment-2930</guid>
		<description>@Ron:  The Adobe TechNote references this behavior as being specific to 1.3.x and 1.4.x JVMs.  However, I encountered this problem with a customer on a new install of CFMX 8 on JVM 1.6.0_13.  This sort of makes sense to me since the original JVM bug 4500388 is listed with a status of &quot;Fix Delivered&quot;, but a subsequent JVM bug 6435126 which I believe still contributes to this behavior is listed with a status of &quot;Cause Known&quot;.  The customer that I mentioned in the article did, in fact, nod their head in acknowledgement that they had seen their system clock running a bit fast on the server in question - a direct result of &lt;em&gt;createUUID()&lt;/em&gt; being called on a near continual basis in their application with a frequency of twice very 50ms.

As far as I&#039;m concerned, this problem is not specific to any single JVM version and should be planned for and treated as such.</description>
		<content:encoded><![CDATA[<p>@Ron:  The Adobe TechNote references this behavior as being specific to 1.3.x and 1.4.x JVMs.  However, I encountered this problem with a customer on a new install of CFMX 8 on JVM 1.6.0_13.  This sort of makes sense to me since the original JVM bug 4500388 is listed with a status of &#8220;Fix Delivered&#8221;, but a subsequent JVM bug 6435126 which I believe still contributes to this behavior is listed with a status of &#8220;Cause Known&#8221;.  The customer that I mentioned in the article did, in fact, nod their head in acknowledgement that they had seen their system clock running a bit fast on the server in question &#8211; a direct result of <em>createUUID()</em> being called on a near continual basis in their application with a frequency of twice very 50ms.</p>
<p>As far as I&#8217;m concerned, this problem is not specific to any single JVM version and should be planned for and treated as such.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ron Stewart</title>
		<link>http://www.webapper.com/blog/index.php/2009/05/05/createuuid_friendly_function_or_server_killer/comment-page-1/#comment-2817</link>
		<dc:creator>Ron Stewart</dc:creator>
		<pubDate>Wed, 06 May 2009 11:47:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.webapper.com/blog/?p=1071#comment-2817</guid>
		<description>Tyson: thanks for a great post! Quick question: the TechNote you reference mentions a JVM switch recommended by Sun as a fix; did you (or Charlie, given that he indicated he had burned by this, too) try that fix as a possible means of resolving this? Looking at the TechNote and the Sun bug report referenced within the TechNote, it seems like this is present for at least some people in fairly broad range of JVM versions, too.</description>
		<content:encoded><![CDATA[<p>Tyson: thanks for a great post! Quick question: the TechNote you reference mentions a JVM switch recommended by Sun as a fix; did you (or Charlie, given that he indicated he had burned by this, too) try that fix as a possible means of resolving this? Looking at the TechNote and the Sun bug report referenced within the TechNote, it seems like this is present for at least some people in fairly broad range of JVM versions, too.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: charlie arehart</title>
		<link>http://www.webapper.com/blog/index.php/2009/05/05/createuuid_friendly_function_or_server_killer/comment-page-1/#comment-2796</link>
		<dc:creator>charlie arehart</dc:creator>
		<pubDate>Tue, 05 May 2009 22:27:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.webapper.com/blog/?p=1071#comment-2796</guid>
		<description>Just an update to something I wrote before: I referred to a&quot;&#039;slide 12&quot; where I said I mentioned both FR and SF. My bad: I was referring to the wrong talk (my CF911 talk). In this &quot;Clients and Sessions an d Crashes: Oh My&quot; talk, I didn&#039;t have much content on the slides and did most of my talking off the cuff. I may well still have referred to FR at some point but I do think/hope that when I first mentioned monitors I&#039;d have mentioned all three, unless I was speaking of something I thought was unique to one of them.</description>
		<content:encoded><![CDATA[<p>Just an update to something I wrote before: I referred to a&#8221;&#8217;slide 12&#8243; where I said I mentioned both FR and SF. My bad: I was referring to the wrong talk (my CF911 talk). In this &#8220;Clients and Sessions an d Crashes: Oh My&#8221; talk, I didn&#8217;t have much content on the slides and did most of my talking off the cuff. I may well still have referred to FR at some point but I do think/hope that when I first mentioned monitors I&#8217;d have mentioned all three, unless I was speaking of something I thought was unique to one of them.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: charlie arehart</title>
		<link>http://www.webapper.com/blog/index.php/2009/05/05/createuuid_friendly_function_or_server_killer/comment-page-1/#comment-2795</link>
		<dc:creator>charlie arehart</dc:creator>
		<pubDate>Tue, 05 May 2009 22:20:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.webapper.com/blog/?p=1071#comment-2795</guid>
		<description>@Tyson, thanks and no worries. And yes, it&#039;s a great point we should draw out, that the monitors (all three) can monitor the DSN to track queries (read/update/insert/delete) against any DSN set to be client variable repository. It&#039;s another great way to see the impact of the issues we&#039;re talking about.

Separately, are you guys aware that when we submit this form we&#039;re taken to a blank page? Is that intentional? It just makes it appear that the comment didn&#039;t take, and it seems that you&#039;re doing comment moderation as a refresh of the entry doesn&#039;t show such a submission showing up immediately. Even if it needs to be a new page, how about at least saying &quot;we got your comment. It will not await approval&quot;, rather than a blank page? Somehow I think this blank page is unexpected behavior. Or do you see it, too?

Finally, I&#039;m not getting email notifications of new comments. Is that to be expected? I realize you have no box offering it as an option, but since the form requires an email address, it seemed we should expect notification by default. Has this concern been raised and addressed elsewhere, perhaps in the comments of another entry, if you guys may not want to revisit the discussion here? Yes, I do see the RSS feed option. I just am surprised by the lack of an email option and wanted to ask if the lack of an email notification is indeed intentional.</description>
		<content:encoded><![CDATA[<p>@Tyson, thanks and no worries. And yes, it&#8217;s a great point we should draw out, that the monitors (all three) can monitor the DSN to track queries (read/update/insert/delete) against any DSN set to be client variable repository. It&#8217;s another great way to see the impact of the issues we&#8217;re talking about.</p>
<p>Separately, are you guys aware that when we submit this form we&#8217;re taken to a blank page? Is that intentional? It just makes it appear that the comment didn&#8217;t take, and it seems that you&#8217;re doing comment moderation as a refresh of the entry doesn&#8217;t show such a submission showing up immediately. Even if it needs to be a new page, how about at least saying &#8220;we got your comment. It will not await approval&#8221;, rather than a blank page? Somehow I think this blank page is unexpected behavior. Or do you see it, too?</p>
<p>Finally, I&#8217;m not getting email notifications of new comments. Is that to be expected? I realize you have no box offering it as an option, but since the form requires an email address, it seemed we should expect notification by default. Has this concern been raised and addressed elsewhere, perhaps in the comments of another entry, if you guys may not want to revisit the discussion here? Yes, I do see the RSS feed option. I just am surprised by the lack of an email option and wanted to ask if the lack of an email notification is indeed intentional.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tyson Vanek</title>
		<link>http://www.webapper.com/blog/index.php/2009/05/05/createuuid_friendly_function_or_server_killer/comment-page-1/#comment-2793</link>
		<dc:creator>Tyson Vanek</dc:creator>
		<pubDate>Tue, 05 May 2009 21:57:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.webapper.com/blog/?p=1071#comment-2793</guid>
		<description>@John:  Thanks for the comment.  Yes, it&#039;s good to point out that the result of a &lt;em&gt;createUUID()&lt;/em&gt; call is more of a calculated unique value than a truly random value.  And yes, I agree that integer-based CFTOKEN values pose a threat in the category of client/session hijacking.  I should point out that unchecking the &quot;&lt;em&gt;Use UUID for CFTOKEN&lt;/em&gt;&quot; option was just our first pass at solving this issue.  I did, in fact, have a follow-up call with the customer and discuss strategies for re-structuring both their load-balancer HTTP probe calls and web service invoked CFCs in such a way that they did not incorporate the larger client/session reliant application context.  And the official plan is to re-enable the &quot;&lt;em&gt;Use UUID for CFTOKEN&lt;/em&gt;&quot; option once they&#039;ve restructured their application code as we&#039;ve suggested.</description>
		<content:encoded><![CDATA[<p>@John:  Thanks for the comment.  Yes, it&#8217;s good to point out that the result of a <em>createUUID()</em> call is more of a calculated unique value than a truly random value.  And yes, I agree that integer-based CFTOKEN values pose a threat in the category of client/session hijacking.  I should point out that unchecking the &#8220;<em>Use UUID for CFTOKEN</em>&#8221; option was just our first pass at solving this issue.  I did, in fact, have a follow-up call with the customer and discuss strategies for re-structuring both their load-balancer HTTP probe calls and web service invoked CFCs in such a way that they did not incorporate the larger client/session reliant application context.  And the official plan is to re-enable the &#8220;<em>Use UUID for CFTOKEN</em>&#8221; option once they&#8217;ve restructured their application code as we&#8217;ve suggested.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John Mason</title>
		<link>http://www.webapper.com/blog/index.php/2009/05/05/createuuid_friendly_function_or_server_killer/comment-page-1/#comment-2791</link>
		<dc:creator>John Mason</dc:creator>
		<pubDate>Tue, 05 May 2009 21:01:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.webapper.com/blog/?p=1071#comment-2791</guid>
		<description>Great discussion and always important to note as createUUID() gets more popular to use. Just a few points to make. First, that createUUID() is not truly random in a mathematical sense, nor was it design to be. It&#039;s design to always be unique. You pretty much showed that in the way UUID is constructed. Just wanted to make sure that point was also made here. Second, CreateUUID is a great function to use and certainly vital in use with CFToken. Developer(s) need to use it. At the same time, this is a great example shows how things can easily go wrong if the developer(s) aren&#039;t sensitive to its nature. Unchecking UUID for cftoken wouldn&#039;t be my first choice here for the reasons Pete stated. It fixed your problem, but at a hugh cost in possible session hijacking. The design of the webservice calls to CFCs with the client management in the way would need to be alter instead. Not fun for the developer(s), but it&#039;s the right way to go here.</description>
		<content:encoded><![CDATA[<p>Great discussion and always important to note as createUUID() gets more popular to use. Just a few points to make. First, that createUUID() is not truly random in a mathematical sense, nor was it design to be. It&#8217;s design to always be unique. You pretty much showed that in the way UUID is constructed. Just wanted to make sure that point was also made here. Second, CreateUUID is a great function to use and certainly vital in use with CFToken. Developer(s) need to use it. At the same time, this is a great example shows how things can easily go wrong if the developer(s) aren&#8217;t sensitive to its nature. Unchecking UUID for cftoken wouldn&#8217;t be my first choice here for the reasons Pete stated. It fixed your problem, but at a hugh cost in possible session hijacking. The design of the webservice calls to CFCs with the client management in the way would need to be alter instead. Not fun for the developer(s), but it&#8217;s the right way to go here.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

