Replica reads for Couchbase AspNet?

I’ve started to play around with this (replica reads), and it doesn’t seem to be as trivial as I thought. Rather than permitting the web page to fast-fail, the timeouts come into play and if there’s multiple read attempts per page, it can really hurt page load times. This is easily exposed by the test application included with the AspNet; for each page, there are 4 read requests.

When the node is first turned off, it takes only a few seconds for the Get to return a Timeout. After a while, they get ridiculously long. I do not yet know why, but the Get takes minutes to timeout for each request to timeout. In my most recent timing, it was 4 minutes. The page, however, does not come back to query for a while. Also, note this seems to affect reads after a little while with the non-modified client as well. All I do is have a 2 node cluster running and shut down one of the nodes. I’d guess there are some other issues too, since exclusive access is off…

In our testing, the Couchbase AspNet appears to be performing pretty well compared to our existing solution. We did, however, need to up the Disk I/O Optimization on the bucket to high. For frequently trafficed sites, that might be a good recommendation.

In CouchbaseSessionStateProvider.cs / Save(), I noticed:
> // Now save the data

  ....
  // Attempt to save the data and fail if the CAS fails

But, there is no failure handling in that case.

Finally, is there an ETA date for a non-beta / GA library?