Ayende @ Rahien

It's a girl

RavenDB 1.0 Hot Fix release

In has been a while since we released the last 1.0 build (960). In the meantime, we had done a lot of work on RavenDB to get it ready to 2.0.

But we also maintained, fixed bugs and in general learned a lot from things that happened for people in production. Just before we release 2.0, we decided to create a hot fix release, which contains a lot of the bug fixes that went into the product as a result of actual production experience for our existing 1.0 customers.

The bloody JSON.NET problem. The new hot fix build (992) uses Newtonsoft.Json 4.0.8. If you need to use the 4.5 version, you will need to either keep using build 975 or move to 2.0 (which resolved the problem completely). I am sorry about this, but there is really very little that we can do about it at this point.

Update: We had a problem in the studio in 990, so we fixed that in 992, please upgrade to that.

Changes:

  • Transactions:
    • Will only try to delete transactions from my resource manager
    • Allowing multiple concurrent startups
    • Fixing transaction rollback error
    • Avoiding recovering transactions when EnlistInDistributedTransactions= false
    • Making sure we use the appropriate database, whatever it is the default one or not
    • Making sure that we can use the proper database when we recover from a failure using DTC
    • RavenDB-620 Ensure dealing with recovered transactions properly
    • Notify DTC about recovery completed AFTER we finish processing all the failed transactions
    • Moving the way we are handling storage of the recovery information Instead of storing and recovering on the server, we store / recover locally
    • Making sure that creating a transaction in parallel isn't going to cause issues
    • RavenDB-529 NonAuthoritativeInformation does not consider the transaction timeout
    • Fixing an issue with local transaction identifier always being thought of as the same
  • Replication:
    • Avoiding NRE during conflict resolution
    • Proper cleanup of the transactions
    • Making it possible to disable compression for replication (using Raven/Replication/DisableCompression config option). Useful if you need to replicate to an older version of RavenDB
  • Database:
    • Making sure that deletes are properly atomic in multi threading scenarios
    • Making sure that we can get an error on optimistic concurrency delete inside transaction using munin
    • Moving Munin to Snapshot isolation mode
    • Making sure that all of Munin operations run withing a Read context
    • Better safety using Munin
    • Proper handling of disposing of the database tasks Will handle failed dbs nicely
    • Make sure that we have safe shutdown sequence for transactional storage
    • Making sure that we will cleanup the write marker after we did the complete index cleanup
  • IIS:
    • Database initialization is not happening on a separate thread, so a request timeout should not cause it to die mid way
    • More robust disposal sequence
    • More robust init sequence, will force disposal of the resources created during the db ctor
    • Making sure that we play more nicely with the way ASP.Net calls us during app domain shut down
    • Making sure that we register to the TenantDatabaseModified.Occured from ASP.Net as well
    • Make sure that the idle timeout and the shutdown timeout were reasonable values for what we need during shutdowns

Baring hot fixes for additional critical bugs, this is the last RavenDB 1.0 build

Tags:

Posted By: Ayende Rahien

Published at

Originally posted at

Comments

Igor Tamashchuk
12/07/2012 01:37 PM by
Igor Tamashchuk

As I understand, client #960 is compatable with server #990? As this json.net crap makes me nuts

Johannes
12/07/2012 02:38 PM by
Johannes

It would be nice to have the release notes separated into client changes and server changes. They seem to be released separately anyway (there is a previous build 980 of the client, but no release notes on that AFAIK).

Right now it is difficult to know whether I should upgrade only the server or the client or both...

Josh Close
12/07/2012 03:24 PM by
Josh Close

When is 2.0 being released? Will RavenHQ be updated to 2.0 right away?

Wouter Smit
12/07/2012 07:19 PM by
Wouter Smit

I'm getting an error in Raven Studio:

Error: The licensee or license key that was entered is invalid. Please contact Actipro Software for assistance.

Ayende Rahien
12/09/2012 12:21 PM by
Ayende Rahien

Wouter, Thanks, I'll refresh the build in a few minutes to resolve this issue.

Ayende Rahien
12/09/2012 12:22 PM by
Ayende Rahien

Josh, a) This month. b) We will have a beta there for a while, first.

Ayende Rahien
12/09/2012 12:22 PM by
Ayende Rahien

Johannes, You want to upgrade both. We generally don't do separate client releases.

Ayende Rahien
12/09/2012 12:22 PM by
Ayende Rahien

Igor, Yes, 960 & 990 are cross compatible.

Comments have been closed on this topic.