<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Ayende @ Rahien</title><link>http://ayende.com/blog/</link><description>Ayende @ Rahien</description><copyright>Copyright (C) Ayende Rahien  2004 - 2012 (c) 2012</copyright><ttl>60</ttl><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/ayende/coments" /><feedburner:info uri="ayende/coments" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><title>Justin commented on API Design: Sharding Status for failure scenarios&amp;ndash;explicit failure management</title><description>How is this any different than a stale index? Raven DB already has a way to communicate that your query results may be incomplete. The reason the results are incomplete is really secondary, either way you have incomplete results that can cause business logic issues.

Just use IsStale and WaitForNonStaleResults and add something to RavenQueryStatistics to describe the stale reason(still indexing or shard down or ...)

Think of it this way how should the application handle a down shard vs a long running index process? They both cause missing results for an indeterminate amount of time and the application should respond the same regardless by either waiting to see if the results become complete or failing the operation and notifying the user.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=e4J7Elybafk:HOrBOnGbzOU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=e4J7Elybafk:HOrBOnGbzOU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ayende/coments/~4/e4J7Elybafk" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ayende/coments/~3/e4J7Elybafk/api-design-sharding-status-for-failure-scenariosndash-explicit-failure-management</link><guid isPermaLink="false">http://ayende.com/blog/155873/api-design-sharding-status-for-failure-scenariosndash-explicit-failure-management#comment9</guid><pubDate>Wed, 30 May 2012 16:41:44 GMT</pubDate><feedburner:origLink>http://ayende.com/blog/155873/api-design-sharding-status-for-failure-scenariosndash-explicit-failure-management#comment9</feedburner:origLink></item><item><title>steve commented on API Design: Sharding Status for failure scenarios&amp;ndash;explicit failure management</title><description>Is there a possibility of taking some design ideas from a RAID and build the sharding out in a way that if a server goes down the remaining machines in the cluster can rebuild themselves to return full results if space allows?&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=rnUJg_qOLu8:byamzeRrZlA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=rnUJg_qOLu8:byamzeRrZlA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ayende/coments/~4/rnUJg_qOLu8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ayende/coments/~3/rnUJg_qOLu8/api-design-sharding-status-for-failure-scenariosndash-explicit-failure-management</link><guid isPermaLink="false">http://ayende.com/blog/155873/api-design-sharding-status-for-failure-scenariosndash-explicit-failure-management#comment8</guid><pubDate>Wed, 30 May 2012 15:48:15 GMT</pubDate><feedburner:origLink>http://ayende.com/blog/155873/api-design-sharding-status-for-failure-scenariosndash-explicit-failure-management#comment8</feedburner:origLink></item><item><title>Ju commented on API Design: Sharding Status for failure scenarios&amp;ndash;explicit failure management</title><description>What about a Maybe-like monad? I mean a session.ShardQuery method could return a enhanced type, so that the user must explicitely get the underlying collection by matching if it is partial or not. The strategy to apply next is up to him.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=7-nMhJaT0mM:v5jz7J-Hv1o:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=7-nMhJaT0mM:v5jz7J-Hv1o:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ayende/coments/~4/7-nMhJaT0mM" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ayende/coments/~3/7-nMhJaT0mM/api-design-sharding-status-for-failure-scenariosndash-explicit-failure-management</link><guid isPermaLink="false">http://ayende.com/blog/155873/api-design-sharding-status-for-failure-scenariosndash-explicit-failure-management#comment7</guid><pubDate>Wed, 30 May 2012 14:58:15 GMT</pubDate><feedburner:origLink>http://ayende.com/blog/155873/api-design-sharding-status-for-failure-scenariosndash-explicit-failure-management#comment7</feedburner:origLink></item><item><title>Scooletz commented on API Design: Sharding Status for failure scenarios&amp;ndash;explicit failure management</title><description>It's wrong if you want to make users use it always on per query basis. Raven should allow introducing a cross-cutting setting, registered once, to handle this situation (like in ISessionFactory, if there is one) and overriding when it's needed. Handling majority of cases in one way is what you should go for.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=47ZzWT_5cEI:FIQi_MrRHZU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=47ZzWT_5cEI:FIQi_MrRHZU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ayende/coments/~4/47ZzWT_5cEI" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ayende/coments/~3/47ZzWT_5cEI/api-design-sharding-status-for-failure-scenariosndash-explicit-failure-management</link><guid isPermaLink="false">http://ayende.com/blog/155873/api-design-sharding-status-for-failure-scenariosndash-explicit-failure-management#comment6</guid><pubDate>Wed, 30 May 2012 12:49:15 GMT</pubDate><feedburner:origLink>http://ayende.com/blog/155873/api-design-sharding-status-for-failure-scenariosndash-explicit-failure-management#comment6</feedburner:origLink></item><item><title>Rafal commented on API Design: Sharding Status for failure scenarios&amp;ndash;explicit failure management</title><description>update: wrong, the out parameter can't be used here because it needs to be returned after the query is executed, not before&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=17o1nqAze7E:8guu979dYDQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=17o1nqAze7E:8guu979dYDQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ayende/coments/~4/17o1nqAze7E" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ayende/coments/~3/17o1nqAze7E/api-design-sharding-status-for-failure-scenariosndash-explicit-failure-management</link><guid isPermaLink="false">http://ayende.com/blog/155873/api-design-sharding-status-for-failure-scenariosndash-explicit-failure-management#comment5</guid><pubDate>Wed, 30 May 2012 11:36:21 GMT</pubDate><feedburner:origLink>http://ayende.com/blog/155873/api-design-sharding-status-for-failure-scenariosndash-explicit-failure-management#comment5</feedburner:origLink></item><item><title>Rafal commented on API Design: Sharding Status for failure scenarios&amp;ndash;explicit failure management</title><description>The desired API depends on the application. Sometimes you'll want to silently ignore shard's failure and sometimes you'll explicitly handle it. But it's not an error, it's a normal situation that some shard may be unavailable, therefore Ravens API shouldn't throw an exception. This approach (with ShardingStatus out parameter) is better than an exception but it's not very elegant as it requires you to remember to call ShardingStatus method with each query and then to add some code for handling the status returned.
Besides, the out parameter is not so great for fluent interface because you don't know when it will be set. A callback function would be imho better.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=tjSQKkQF-7s:bW_8OPG54OE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=tjSQKkQF-7s:bW_8OPG54OE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ayende/coments/~4/tjSQKkQF-7s" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ayende/coments/~3/tjSQKkQF-7s/api-design-sharding-status-for-failure-scenariosndash-explicit-failure-management</link><guid isPermaLink="false">http://ayende.com/blog/155873/api-design-sharding-status-for-failure-scenariosndash-explicit-failure-management#comment4</guid><pubDate>Wed, 30 May 2012 10:19:16 GMT</pubDate><feedburner:origLink>http://ayende.com/blog/155873/api-design-sharding-status-for-failure-scenariosndash-explicit-failure-management#comment4</feedburner:origLink></item><item><title>Shaddix commented on API Design: Sharding Status for failure scenarios&amp;ndash;explicit failure management</title><description>I meant List&amp;lt;Error&amp;gt; (List of Error) but the parser broken my c# :)&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=5Ottr7bExI0:wmKw6XlSsHo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=5Ottr7bExI0:wmKw6XlSsHo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ayende/coments/~4/5Ottr7bExI0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ayende/coments/~3/5Ottr7bExI0/api-design-sharding-status-for-failure-scenariosndash-explicit-failure-management</link><guid isPermaLink="false">http://ayende.com/blog/155873/api-design-sharding-status-for-failure-scenariosndash-explicit-failure-management#comment3</guid><pubDate>Wed, 30 May 2012 10:06:52 GMT</pubDate><feedburner:origLink>http://ayende.com/blog/155873/api-design-sharding-status-for-failure-scenariosndash-explicit-failure-management#comment3</feedburner:origLink></item><item><title>Shaddix commented on API Design: Sharding Status for failure scenarios&amp;ndash;explicit failure management</title><description>One of the ways could be storing something like a List&lt;Error&gt; inside a session (or maybe even populating it to the Store), so every careful site-owner could display a big red cross on the top-right corner of the site, meaning that something bad happened :)

That requires no friction at every .Query() call, but will give a sensible information about an error with only one-time setup.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=-ZBAgfJ4Mfg:OddBtbdnAsU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=-ZBAgfJ4Mfg:OddBtbdnAsU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ayende/coments/~4/-ZBAgfJ4Mfg" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ayende/coments/~3/-ZBAgfJ4Mfg/api-design-sharding-status-for-failure-scenariosndash-explicit-failure-management</link><guid isPermaLink="false">http://ayende.com/blog/155873/api-design-sharding-status-for-failure-scenariosndash-explicit-failure-management#comment2</guid><pubDate>Wed, 30 May 2012 10:05:08 GMT</pubDate><feedburner:origLink>http://ayende.com/blog/155873/api-design-sharding-status-for-failure-scenariosndash-explicit-failure-management#comment2</feedburner:origLink></item><item><title>Knaģis commented on API Design: Sharding Status for failure scenarios&amp;ndash;explicit failure management</title><description>This approach could be ok, if omitting the method would cause an exception (a method name like AllowPartialResults() could be slightly better). It would be easier to implement than catching specific exception (where the partial results are in the exception details) - the solution that was proposed in the last post comments. But it would still ensure that the developer has to make a concious decision that the data he is retrieving is allowed to be incomplete (which is ok for blog posts, but is not ok when calculating financials). 

This approach could also enable certain entities to specify this automatically when the Query&lt;T&gt; is called so that the decision making is left to the author of the model instead of the consumer.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=-6RJ1ULAEVA:tHxk-FXZpOo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=-6RJ1ULAEVA:tHxk-FXZpOo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ayende/coments/~4/-6RJ1ULAEVA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ayende/coments/~3/-6RJ1ULAEVA/api-design-sharding-status-for-failure-scenariosndash-explicit-failure-management</link><guid isPermaLink="false">http://ayende.com/blog/155873/api-design-sharding-status-for-failure-scenariosndash-explicit-failure-management#comment1</guid><pubDate>Wed, 30 May 2012 09:49:56 GMT</pubDate><feedburner:origLink>http://ayende.com/blog/155873/api-design-sharding-status-for-failure-scenariosndash-explicit-failure-management#comment1</feedburner:origLink></item><item><title>Pop Catalin commented on API Design: Sharding Status for failure scenarios&amp;ndash;ignore and move on</title><description>Either way can be the "only" good way for a certain type of applications/

Therefore how about, add the possibility to set the default globally and allow overriding locally.

But please go with the safe default ;). Those that want unsafe should opt in, not out out.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=q2RcmLDqMeo:d0j3SJjRaHM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=q2RcmLDqMeo:d0j3SJjRaHM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ayende/coments/~4/q2RcmLDqMeo" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ayende/coments/~3/q2RcmLDqMeo/api-design-sharding-status-for-failure-scenariosndash-ignore-and-move-on</link><guid isPermaLink="false">http://ayende.com/blog/155841/api-design-sharding-status-for-failure-scenariosndash-ignore-and-move-on#comment10</guid><pubDate>Tue, 29 May 2012 19:45:04 GMT</pubDate><feedburner:origLink>http://ayende.com/blog/155841/api-design-sharding-status-for-failure-scenariosndash-ignore-and-move-on#comment10</feedburner:origLink></item><item><title>Chris Wright commented on API Design: Sharding Status for failure scenarios&amp;ndash;ignore and move on</title><description>As a user of ravendb, I want some way I can check the global health of my database without mucking about with exception handling. I want to be able to look in my session at the end of a request and see: was there anything that might have impacted correctness?

If so, I'll throw up an alert message at the top of the page: "We might not be showing you all available data."

That way, my customer support people can see that and give people the benefit of the doubt. They have the most information I can still provide, and also know that they don't have all the information they should.

I don't necessarily need to know this for each query; that might be useful, but it's way too granular for most of what I need to do. I just need to know whether to put up the alert box or not.

In a different context, I might want more granular options. Maybe I want to fail right away, or just check at one or two critical points if I have missing data.

I think the two ways of handling I want are:
 - Fail immediately always, by throwing an exception.
 - Give me the best results possible always, and record on Session whether there are any failures. That should be a property available for me to check at any time, though if I'm using some sort of batching, I may have started an operation that is doomed and will not be reflected there.

I'm not sure of anything else that would be useful.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=uC24CmSmp3I:I-uA2Y6J3nc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=uC24CmSmp3I:I-uA2Y6J3nc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ayende/coments/~4/uC24CmSmp3I" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ayende/coments/~3/uC24CmSmp3I/api-design-sharding-status-for-failure-scenariosndash-ignore-and-move-on</link><guid isPermaLink="false">http://ayende.com/blog/155841/api-design-sharding-status-for-failure-scenariosndash-ignore-and-move-on#comment9</guid><pubDate>Tue, 29 May 2012 18:32:11 GMT</pubDate><feedburner:origLink>http://ayende.com/blog/155841/api-design-sharding-status-for-failure-scenariosndash-ignore-and-move-on#comment9</feedburner:origLink></item><item><title>Bundermuft commented on API Design: Sharding Status for failure scenarios&amp;ndash;ignore and move on</title><description>Just an alternative view would be using additional passive mirroring as, for example Greenplum offers. I.e. you have A B C nodes, B mirrors A, C mirrors B and A mirrors C. So if one of the nodes goes offline, system can continue to work (with integrity).

At the API level this should come as additional metadata of the session and it should be controlled by initializing the session (fails with exception, does not fail with the exception). 99% of the time I can imagine, app should not know about the node down, rather than sysadmin should get the alarm shower.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=pso2FbOpSpU:SRquetTm0SE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=pso2FbOpSpU:SRquetTm0SE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ayende/coments/~4/pso2FbOpSpU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ayende/coments/~3/pso2FbOpSpU/api-design-sharding-status-for-failure-scenariosndash-ignore-and-move-on</link><guid isPermaLink="false">http://ayende.com/blog/155841/api-design-sharding-status-for-failure-scenariosndash-ignore-and-move-on#comment8</guid><pubDate>Tue, 29 May 2012 13:31:07 GMT</pubDate><feedburner:origLink>http://ayende.com/blog/155841/api-design-sharding-status-for-failure-scenariosndash-ignore-and-move-on#comment8</feedburner:origLink></item><item><title>Ayende Rahien commented on API Design: Sharding Status for failure scenarios&amp;ndash;ignore and move on</title><description>Jonty,
Either options doesn't work. It is too big a tool, turn it on/off globally isn't helpful&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=ulEdPSNHEhU:4xv-q9-3i1U:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=ulEdPSNHEhU:4xv-q9-3i1U:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ayende/coments/~4/ulEdPSNHEhU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ayende/coments/~3/ulEdPSNHEhU/api-design-sharding-status-for-failure-scenariosndash-ignore-and-move-on</link><guid isPermaLink="false">http://ayende.com/blog/155841/api-design-sharding-status-for-failure-scenariosndash-ignore-and-move-on#comment7</guid><pubDate>Tue, 29 May 2012 12:33:13 GMT</pubDate><feedburner:origLink>http://ayende.com/blog/155841/api-design-sharding-status-for-failure-scenariosndash-ignore-and-move-on#comment7</feedburner:origLink></item><item><title>Jonty commented on API Design: Sharding Status for failure scenarios&amp;ndash;ignore and move on</title><description>Why not make it configurable? Safe by default would probably mean throw the exception (with the results), but give the option to change that behaviour.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=W_rcKd09agY:qgG6uJxklZk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=W_rcKd09agY:qgG6uJxklZk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ayende/coments/~4/W_rcKd09agY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ayende/coments/~3/W_rcKd09agY/api-design-sharding-status-for-failure-scenariosndash-ignore-and-move-on</link><guid isPermaLink="false">http://ayende.com/blog/155841/api-design-sharding-status-for-failure-scenariosndash-ignore-and-move-on#comment6</guid><pubDate>Tue, 29 May 2012 12:05:37 GMT</pubDate><feedburner:origLink>http://ayende.com/blog/155841/api-design-sharding-status-for-failure-scenariosndash-ignore-and-move-on#comment6</feedburner:origLink></item><item><title>Giedrius commented on API Design: Sharding Status for failure scenarios&amp;ndash;ignore and move on</title><description>Hm, what about classic saving all relevant data in single shard? In such case client and all his orders/payments/etc would go to single shard and either he would get everything, either nothing, but other clients would still be able to access system.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=mM0IUm3sz00:_4m6ilH38Cg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=mM0IUm3sz00:_4m6ilH38Cg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ayende/coments/~4/mM0IUm3sz00" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ayende/coments/~3/mM0IUm3sz00/api-design-sharding-status-for-failure-scenariosndash-ignore-and-move-on</link><guid isPermaLink="false">http://ayende.com/blog/155841/api-design-sharding-status-for-failure-scenariosndash-ignore-and-move-on#comment5</guid><pubDate>Tue, 29 May 2012 10:09:28 GMT</pubDate><feedburner:origLink>http://ayende.com/blog/155841/api-design-sharding-status-for-failure-scenariosndash-ignore-and-move-on#comment5</feedburner:origLink></item><item><title>Thomas Krause commented on API Design: Sharding Status for failure scenarios&amp;ndash;ignore and move on</title><description>Yes, that is the downside. The alternative would be to return a result always but include some error details in the result. But this makes it very easy to silently ignore the error.

It probably depends on the application which scenario is more desirable.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=51SwkS38B_g:2UcvHVTI0tA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=51SwkS38B_g:2UcvHVTI0tA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ayende/coments/~4/51SwkS38B_g" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ayende/coments/~3/51SwkS38B_g/api-design-sharding-status-for-failure-scenariosndash-ignore-and-move-on</link><guid isPermaLink="false">http://ayende.com/blog/155841/api-design-sharding-status-for-failure-scenariosndash-ignore-and-move-on#comment4</guid><pubDate>Tue, 29 May 2012 10:01:42 GMT</pubDate><feedburner:origLink>http://ayende.com/blog/155841/api-design-sharding-status-for-failure-scenariosndash-ignore-and-move-on#comment4</feedburner:origLink></item><item><title>alexidsa commented on API Design: Sharding Status for failure scenarios&amp;ndash;ignore and move on</title><description>What if put "AllNodesAreOnline" flat into statistics? In this we could find out whether query was executed correctly similar to how we get total results count for paging (http://old.ravendb.net/faq/total-results-in-paged-data-set)&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=kGJMtp_Fy68:KYZAerRHpvY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=kGJMtp_Fy68:KYZAerRHpvY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ayende/coments/~4/kGJMtp_Fy68" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ayende/coments/~3/kGJMtp_Fy68/api-design-sharding-status-for-failure-scenariosndash-ignore-and-move-on</link><guid isPermaLink="false">http://ayende.com/blog/155841/api-design-sharding-status-for-failure-scenariosndash-ignore-and-move-on#comment3</guid><pubDate>Tue, 29 May 2012 09:56:51 GMT</pubDate><feedburner:origLink>http://ayende.com/blog/155841/api-design-sharding-status-for-failure-scenariosndash-ignore-and-move-on#comment3</feedburner:origLink></item><item><title>Ayende Rahien commented on API Design: Sharding Status for failure scenarios&amp;ndash;ignore and move on</title><description>Thomas,
Wow!
That is something that I would have never though of.
Interesting approach, and something that I might well utilize in the future. It nicely handle the scenario of getting the data and not avoiding the error, but it doesn't actually work in practice.
It means that you have to be very careful about what you are doing, and that a single place where you forgot to do this would result in your site being effectivley down.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=nQP8x_k8DxQ:JV9z9ZC7Viw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=nQP8x_k8DxQ:JV9z9ZC7Viw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ayende/coments/~4/nQP8x_k8DxQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ayende/coments/~3/nQP8x_k8DxQ/api-design-sharding-status-for-failure-scenariosndash-ignore-and-move-on</link><guid isPermaLink="false">http://ayende.com/blog/155841/api-design-sharding-status-for-failure-scenariosndash-ignore-and-move-on#comment2</guid><pubDate>Tue, 29 May 2012 09:53:03 GMT</pubDate><feedburner:origLink>http://ayende.com/blog/155841/api-design-sharding-status-for-failure-scenariosndash-ignore-and-move-on#comment2</feedburner:origLink></item><item><title>Thomas Krause commented on API Design: Sharding Status for failure scenarios&amp;ndash;ignore and move on</title><description>How about throwing an exception but including the partial results in the exception details?

Like this you force the calling code to handle this scenario. It can then show a message to the user ("due to technical problems some information may be missing") along with the partial results.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=XhyRhd-IQko:RnFMP0AOE84:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=XhyRhd-IQko:RnFMP0AOE84:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ayende/coments/~4/XhyRhd-IQko" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ayende/coments/~3/XhyRhd-IQko/api-design-sharding-status-for-failure-scenariosndash-ignore-and-move-on</link><guid isPermaLink="false">http://ayende.com/blog/155841/api-design-sharding-status-for-failure-scenariosndash-ignore-and-move-on#comment1</guid><pubDate>Tue, 29 May 2012 09:48:33 GMT</pubDate><feedburner:origLink>http://ayende.com/blog/155841/api-design-sharding-status-for-failure-scenariosndash-ignore-and-move-on#comment1</feedburner:origLink></item><item><title>Ayende Rahien commented on API Design: Sharding Status for failure scenarios</title><description>Steve,
Now what happens when you do a Load instead of Query?&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=Pe7gXFqhRrk:phtaacP73dc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=Pe7gXFqhRrk:phtaacP73dc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ayende/coments/~4/Pe7gXFqhRrk" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ayende/coments/~3/Pe7gXFqhRrk/api-design-sharding-status-for-failure-scenarios</link><guid isPermaLink="false">http://ayende.com/blog/155809/api-design-sharding-status-for-failure-scenarios#comment7</guid><pubDate>Wed, 30 May 2012 07:33:07 GMT</pubDate><feedburner:origLink>http://ayende.com/blog/155809/api-design-sharding-status-for-failure-scenarios#comment7</feedburner:origLink></item><item><title>Steve Py commented on API Design: Sharding Status for failure scenarios</title><description>To throw something out there: I'm assuming that session.Query() returns IEnumerable. Extend IEnumerable into something like IIncompleteEnumerable which includes a Reason and/or Exception. Consumers should use methods to consume the results by either IIncompleteEnumerable or IEnumerable with the former handing off to the later once it takes action with the reason. (prompt the user, fire off an e-mail, what-have-you)

Unfortunately I believe you will always run into the case where such a scenario will either be "in your face" in the sense of blocking the application, or easily ignored by accident. Can you have your cake and eat it too?&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=UY7GXS_kzFw:B4dOVRWYbtQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=UY7GXS_kzFw:B4dOVRWYbtQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ayende/coments/~4/UY7GXS_kzFw" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ayende/coments/~3/UY7GXS_kzFw/api-design-sharding-status-for-failure-scenarios</link><guid isPermaLink="false">http://ayende.com/blog/155809/api-design-sharding-status-for-failure-scenarios#comment6</guid><pubDate>Tue, 29 May 2012 22:27:16 GMT</pubDate><feedburner:origLink>http://ayende.com/blog/155809/api-design-sharding-status-for-failure-scenarios#comment6</feedburner:origLink></item><item><title>Andrew Armstrong commented on API Design: Sharding Status for failure scenarios</title><description>I'd imagine for some results you could do with a missing shard server (eg, no specific order or limit), however I assume you may need to indicate to RavenDB that inconsistent results are permitted.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=0dnvw-vP1M8:ZkAeohv2sVI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=0dnvw-vP1M8:ZkAeohv2sVI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ayende/coments/~4/0dnvw-vP1M8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ayende/coments/~3/0dnvw-vP1M8/api-design-sharding-status-for-failure-scenarios</link><guid isPermaLink="false">http://ayende.com/blog/155809/api-design-sharding-status-for-failure-scenarios#comment5</guid><pubDate>Tue, 29 May 2012 06:50:58 GMT</pubDate><feedburner:origLink>http://ayende.com/blog/155809/api-design-sharding-status-for-failure-scenarios#comment5</feedburner:origLink></item><item><title>Christopher Wright commented on API Design: Sharding Status for failure scenarios</title><description>If a third of the data isn't available, you return the top 20 results of what you still have.

In order to implement a query like this with an unknown shard strategy, each server needs to return 20 results. If you try getting clever, you either need to be really clever (and probably lose out in efficiency in the end, unless you precompute appreciably), or you end up returning stuff in the wrong order sometimes.

If you're using a shard strategy which lines up with your query ordering, and have been since the beginning of time with the same number of nodes (or you rebalanced recently), you can actually query ceil(Take / #nodes) from each node. This doesn't come into play here in any case; PublishedAt is not related to insertion order. It also doesn't matter much if you have a small number of not terribly huge documents -- though here, if you have a very popular blog, you might get several hundred comments per post, so it might be worthwhile.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=ywQAdJ5MvYU:W3kswJLwRuo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=ywQAdJ5MvYU:W3kswJLwRuo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ayende/coments/~4/ywQAdJ5MvYU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ayende/coments/~3/ywQAdJ5MvYU/api-design-sharding-status-for-failure-scenarios</link><guid isPermaLink="false">http://ayende.com/blog/155809/api-design-sharding-status-for-failure-scenarios#comment4</guid><pubDate>Mon, 28 May 2012 14:44:18 GMT</pubDate><feedburner:origLink>http://ayende.com/blog/155809/api-design-sharding-status-for-failure-scenarios#comment4</feedburner:origLink></item><item><title>Paul Stovell commented on API Design: Sharding Status for failure scenarios</title><description>@Simon, since RavenDB uses HTTP you can probably achieve that monitoring using any HTTP monitoring solution.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=0mKFucNQc_g:KPhQ_MxgVPk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=0mKFucNQc_g:KPhQ_MxgVPk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ayende/coments/~4/0mKFucNQc_g" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ayende/coments/~3/0mKFucNQc_g/api-design-sharding-status-for-failure-scenarios</link><guid isPermaLink="false">http://ayende.com/blog/155809/api-design-sharding-status-for-failure-scenarios#comment3</guid><pubDate>Mon, 28 May 2012 10:38:08 GMT</pubDate><feedburner:origLink>http://ayende.com/blog/155809/api-design-sharding-status-for-failure-scenarios#comment3</feedburner:origLink></item><item><title>Simon Hughes commented on API Design: Sharding Status for failure scenarios</title><description>This should be configurable IMHO. Either:
* Return what you can for the above select, or
* Return nothing.
There should be some sort of DB and Shard monitor that checks to make sure its online and working ok, and warn admins if its off-line via SMS/Email/etc.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=u-IAeITFvBA:Cj8mpN6kH1k:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=u-IAeITFvBA:Cj8mpN6kH1k:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ayende/coments/~4/u-IAeITFvBA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ayende/coments/~3/u-IAeITFvBA/api-design-sharding-status-for-failure-scenarios</link><guid isPermaLink="false">http://ayende.com/blog/155809/api-design-sharding-status-for-failure-scenarios#comment2</guid><pubDate>Mon, 28 May 2012 09:26:44 GMT</pubDate><feedburner:origLink>http://ayende.com/blog/155809/api-design-sharding-status-for-failure-scenarios#comment2</feedburner:origLink></item><item><title>Phillip Haydon commented on API Design: Sharding Status for failure scenarios</title><description>:( Sometimes I wish your blog posts weren't broken up into 15 posts, by the time it get's to the good stuff I've forgotten the rest and/or lost interest.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=9HhUSwaaz1I:BqIK-fx9G8Q:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=9HhUSwaaz1I:BqIK-fx9G8Q:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ayende/coments/~4/9HhUSwaaz1I" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ayende/coments/~3/9HhUSwaaz1I/api-design-sharding-status-for-failure-scenarios</link><guid isPermaLink="false">http://ayende.com/blog/155809/api-design-sharding-status-for-failure-scenarios#comment1</guid><pubDate>Mon, 28 May 2012 09:16:16 GMT</pubDate><feedburner:origLink>http://ayende.com/blog/155809/api-design-sharding-status-for-failure-scenarios#comment1</feedburner:origLink></item><item><title>Ayende Rahien commented on And this is Ironic</title><description>Rob,
Actually, we do have a customer that is running RavenDB as the backend for a messaging system with &gt; 30,000 users.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=76aea4p4GtU:QmVRhUa7TyY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=76aea4p4GtU:QmVRhUa7TyY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ayende/coments/~4/76aea4p4GtU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ayende/coments/~3/76aea4p4GtU/and-this-is-ironic</link><guid isPermaLink="false">http://ayende.com/blog/155777/and-this-is-ironic#comment4</guid><pubDate>Sat, 26 May 2012 07:23:06 GMT</pubDate><feedburner:origLink>http://ayende.com/blog/155777/and-this-is-ironic#comment4</feedburner:origLink></item><item><title>Rob White commented on And this is Ironic</title><description>How would a ravendb backed email client cope, presumably much quicker. It might be an interesting use-case.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=q80sSF_PDJM:NovgC-H_MaI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=q80sSF_PDJM:NovgC-H_MaI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ayende/coments/~4/q80sSF_PDJM" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ayende/coments/~3/q80sSF_PDJM/and-this-is-ironic</link><guid isPermaLink="false">http://ayende.com/blog/155777/and-this-is-ironic#comment3</guid><pubDate>Fri, 25 May 2012 13:54:01 GMT</pubDate><feedburner:origLink>http://ayende.com/blog/155777/and-this-is-ironic#comment3</feedburner:origLink></item><item><title>Gene Hughson commented on And this is Ironic</title><description>"We have received no reports of errors" ;-)

Dear Mozilla:  Paging is your friend&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=QAGG6RAmyqk:Y5C5XV1YpCU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=QAGG6RAmyqk:Y5C5XV1YpCU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ayende/coments/~4/QAGG6RAmyqk" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ayende/coments/~3/QAGG6RAmyqk/and-this-is-ironic</link><guid isPermaLink="false">http://ayende.com/blog/155777/and-this-is-ironic#comment2</guid><pubDate>Fri, 25 May 2012 13:43:20 GMT</pubDate><feedburner:origLink>http://ayende.com/blog/155777/and-this-is-ironic#comment2</feedburner:origLink></item><item><title>Rippo commented on And this is Ironic</title><description>Always nice to have message asking to report performance, and from a support technician perspective even better not to be able to get it ;)&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=sGz_vglb938:0S_ROzwrmP4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/ayende/coments?a=sGz_vglb938:0S_ROzwrmP4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/ayende/coments?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ayende/coments/~4/sGz_vglb938" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ayende/coments/~3/sGz_vglb938/and-this-is-ironic</link><guid isPermaLink="false">http://ayende.com/blog/155777/and-this-is-ironic#comment1</guid><pubDate>Fri, 25 May 2012 09:23:43 GMT</pubDate><feedburner:origLink>http://ayende.com/blog/155777/and-this-is-ironic#comment1</feedburner:origLink></item></channel></rss>

