Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Recurring Service Error: Out of database page buffers [Service encountered a critical error] #2

Open
phinett opened this issue Dec 24, 2015 · 5 comments

Comments

@phinett
Copy link

phinett commented Dec 24, 2015

This is happening twice per day currently.

I do have 32GB Memory, but my database server can ramp up to use up to 98% at times. But still i don't think the service should crash out like this.

Other than this it's great at what it does!

@BrianMullin
Copy link

The Revalee service stores a copy of each task on disk using the built-in ESE (JET Blue) database engine that comes with Windows. This on-disk database is used to recover the list of pending tasks on a service restart (e.g., following a reboot).

It sounds like the ESE database engine is having problems de-fragmenting the stored tasks. This is certainly not normal behavior. We run the service in production continuously without any database problems.

How many tasks are you scheduling within a 24 hour period?

Some people fixed the Out of database page buffers error by increasing the Windows paging file size. With 32GB RAM, the automatic maintenance processing within the ESE engine may require extra swap space, since your database server is under 98% memory load.

You can also peek at the tasks stored within the ESE engine by executing:

   Revalee.Service.exe -export

@alanlit
Copy link

alanlit commented Jan 22, 2016

I just had the same error ("Out of database page buffers") supporting one or two tasks that reschedule themselves at the rate of once per hour or so. After restarting the service I ran Revalee.Service.exe -export as per your recommendation and got

"WARNING: Exporting tasks is not available, because there is no configured task persistence provider."

Which doesn't sound right :) Up until now Revalee had been running fine for a couple of months.

This is running on Windows 7 with 32G of Ram and not a lot else going on on the machine.

@BrianMullin
Copy link

Have you tried to increase your swap file size to eliminate the "Out of database page buffers" error? It's curious that the ESE engine is having difficulties with memory on high RAM machines.

Regarding the export command, does your Revalee.Service.config file contain the following connection string?

<connectionStrings>
    <add name="TaskPersistence" connectionString="" providerName="Microsoft.Isam.Esent" />
</connectionStrings>

@alanlit
Copy link

alanlit commented Jan 22, 2016

I upped swap space before restarting it so we shall see. On the –export side of things my Config file does have the connectionString definition. Now, however, when I try to –export things are worse:

F:\usr\revalee>Revalee.Service.exe -export

Unhandled Exception: Microsoft.Isam.Esent.Interop.EsentFileAccessDeniedException
: Cannot access file, the file is locked or in use
at Microsoft.Isam.Esent.Interop.Api.Check(Int32 err)
at Microsoft.Isam.Esent.Interop.Instance.Init(InitGrbit grbit)
at Revalee.Service.EsePersistence.EseTaskPersistenceProvider.Open(String connectionString)
at Revalee.Service.TaskExporter.DumpToConsole()
at Revalee.Service.Revalee.Main()

Tnx
Alan

@BrianMullin
Copy link

The export command cannot run while the service is actively running. Try stopping the service before running Revalee.Service.exe -export.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants