1
votes

We use RavenDB inside NServiceBus. I try to update RavenDB from 2.0 to 3.0. Following the documentation, it should be very easy: 1. Stop the service 2. Copy the binaries 3. Start the service.

I did all that. I copied the binaries (Raven.Database.Dll, Raven.Abstractions.dll, Raven.server.exe) from the Server-Folder to "\C:\Program Files\NServiceBus.Persistence.v4".

When I try to start the service again it just stops immediately. The file permissions seem to be ok. Are there any logfiles where I can possibly get more informations?

[Update] The Eventlog shows:

Application: Raven.Server.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: System.IO.FileLoadException Stack: at Raven.Server.Program.Main(System.String[])

What is weird, cause Framework 4.5 is installed (and used by other applications)

2

2 Answers

0
votes

Ok. The first eventlog led into the COMPLETE wrong direction. :) Seemed to be a followup-error. The Eventlog also had an older error-message:

RavenDB service failed to start because of an error
System.InvalidOperationException: Could not open transactional storage: C:\Program Files\NServiceBus.Persistence.v4\Database\System\Data ---> System.InvalidOperationException: Could not read db details from disk. It is likely that there is a version difference between the library and the db on the disk.
You need to migrate the disk version to the library version, alternatively, if the data isn't important, you can delete the file and it will be re-created (with no data) with the library version. ---> System.InvalidOperationException: The version on disk (5.1) is different that the version supported by this library: 4.5

Quite clear what to do. Thanks.

0
votes

NB NOTE - my solution below is not for your primary NServiceBus database. DO NOT DELETE YOUR DATA. This solution is for ServiceControl where the data being stored is less important.

I had this problem recently with ServiceControl - one of the monitoring tools that comes with NServiceBus. It keeps messages in a local DB located at C:\ProgramData\Particular\ServiceControl%-33333\Data

Turns out that the hard disk was full. Had to delete the folder containing the Data file mentioned in the exception in order to make room (it was 11GB). Then I added the following app settings to ServiceControl.exe.config in order to limit the amount of messages it keeps:

<add key="ServiceControl/ExpirationProcessTimerInSeconds" value="900" />
<add key="ServiceControl/HoursToKeepMessagesBeforeExpiring" value="168" />

See http://docs.particular.net/servicecontrol/how-purge-expired-data

ServiceControl will recreate the folder when it starts up.