PC Review


Reply
Thread Tools Rate Thread

"Data Loss" due to Jet Engine Cache?

 
 
al
Guest
Posts: n/a
 
      17th Apr 2009
Hi All,

my problem is that data is stored into databases by background modules, but
at some point in time the data may be inaccessible because it is stored in
some kind of buffer or cache. Data can be read until this point, but after
this point simply no data is stored in the table (no error reported to the
clients). Once I shut down the Storage Module, the data is somehow flushed
into the database. There are multiple similar databases to which data is
stored by the Storage Module, but only one or two may be affected. The
problem seems to occur at random.

I suspect that the data is written into the buffer of the Jet Engine.
According to http://office.microsoft.com/en-us/ac...321611033.aspx the
MaxBufferSize may be calculated to 500MB! Workaround would be to reduce the
buffer, but I want to know what causes the Jet Engine to switch to the buffer
and not go back to normal operation.

Sidenote: I noticed in one case that after a couple of days, ~16000 Records
were flushed to the database without me shutting down the Storage Module. So
maybe the MaxBuffer limit was reached and a flush initiated. After this
flush, data was stored into the buffer again, new data didn't appear in the
DB until I shut down the Storage Module (which initiated another flush).

Background information:
I have a system that consists of several VC++ 6 modules running as a Windows
Service and accessing data from an Access Database using DAO. The Storage
Module opens the database upon startup, stores data every few seconds into
one table and closes it only upon shutdown. The Logging Module opens a
different table on demand (e.g. every hour) and stores values to it. No data
is deleted The databases are bound to a running production process, for each
process a new database is created. The databases are opened by client modules
via UNC from the network (however UNC is only used for reading. Writing is
done locally, no UNC). Transactions are not used for writing. While the
caching error occurred, I noticed that the Logging Module received an error
while writing to the table "Table could not update. Currently locked by user
xyz". However nobody else except the Logging Module itself is writing to this
table.

Also note that there is an AntiVirues running on the system, I currently
don't know whether this has on-access scanning capabilities or whether the
MDBs are ignored by the scanner.

Anybody ever had this problem? How can I determine the reason for Jet
switching to the cache as storage? How can I prevent this? Any ideas for
further debugging this issue (tools etc.)?

Is this even the correct group?

thanks
alex
 
Reply With Quote
 
 
 
 
Stefan Hoffmann
Guest
Posts: n/a
 
      17th Apr 2009
hi Al,

al wrote:
> Once I shut down the Storage Module, the data is somehow flushed
> into the database. There are multiple similar databases to which data is
> stored by the Storage Module, but only one or two may be affected. The
> problem seems to occur at random.

Shutdown, Storage Module?

> I have a system that consists of several VC++ 6 modules running as a Windows
> Service and accessing data from an Access Database using DAO. The Storage
> Module opens the database upon startup, stores data every few seconds into
> one table and closes it only upon shutdown.

I suspect the service shutdown is what are you referring to? This may be
the problem, if you don't have implemented it correctly.

While you're in a service I would try setting FlushTransaction Timeout
to Zero.

> Transactions are not used for writing.

And use tranactions.

> Also note that there is an AntiVirues running on the system, I currently
> don't know whether this has on-access scanning capabilities or whether the
> MDBs are ignored by the scanner.

Some AV can cause troubles, so turning it of for some tests or excluding
*.mdb/*.mde files makes sense.

I have seen some failing services, which where all poorly implemented.
But, I'm not a VC++ guy, so you should discuss the design of a service
in an more appropriate newsgroup.

The most important part for these services to fail was the poor
threading behavior.


mfG
--> stefan <--
 
Reply With Quote
Reply

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Run as Admin option causes data "loss" Randy Windows Vista General Discussion 4 5th Mar 2009 08:11 PM
another "to prevent possible loss of data, Microsoft Excel cannotshift nonblank cells off the worksheet." david.j.winfield@gmail.com Microsoft Excel Programming 3 1st Mar 2008 04:11 PM
"Defense manouver" caused me data loss. =?Utf-8?B?Sm95IEs0MjdC?= Windows XP General 3 4th Jan 2006 12:43 AM
sudden "loss"of user data B Windows XP New Users 3 1st Aug 2004 09:21 PM
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE"> not working mohan Windows XP Internet Explorer 1 28th Jan 2004 02:46 PM


Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 07:36 AM.