db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Suresh Thalamati <suresh.thalam...@gmail.com>
Subject Re: Two questions on derby checkpointing
Date Thu, 16 Feb 2006 09:11:48 GMT
Raymond Raymond wrote:
> I have some questions about derby checkpointing. Someone can
> help me to make it clear? ^_^.
> 1. I want to summarize what events will trigger a checkpoint?
> On the derby website :
> http://db.apache.org/derby/papers/logformats.html
> I found such comments:
> -------------------------------------------------------------------------------------------------------------------------------------------

> With the default values, a new log file is created (this is known as log 
> switch) when a log file grows beyond 1MB and a checkpoint happens when 
> the amount of log written is 10MB or more from the last checkpoint.
> RawStore exposes a checkpoint method which clients can call, or a 
> checkpoint is taken automatically by the RawStore when:
> 1. The log file grows beyond a certain size (configurable, default 1MB)
> 2. RawStore is shutdown and a checkpoint hasn't been done "for a while"

To my knowledge shutdown always does a checkpoint.

> 3. RawStore is recovered and a checkpoint hasn't been done "for a while"

if there is an undo work or if we redo a log worth > 1000 bytes a
checkpoint is requested.  See the check in LogToFile.java:recover() 
method with following comment:

// if we can figure out there there is very little in the
// log (less than 1000 bytes),we haven't done any
// rollbacks, then don't checkpoint. Otherwise checkpoint.

> -------------------------------------------------------------------------------------------------------------------------------------------

> I am no very clear about what " for a while " means in the second and 
> the third comments.
> I also want to know are there any other events will trigger a checkpoint 
> besides these?

1) Online Backup will trigger a checkpoint
2) Backup related calls freeze , unfreeze that allows users to backup 
a dataabase using OS copy also will trigger a checkpoint.

3) Inplace commress triggers a checkpoint when doing a truncate of the 

That's all I can remeber offhand.

> 2. As what we discussed in the "incremental checkpointing issue" before,
> I need to monitor the data reads and log writes, to gather some runtime
> disk I/O information. So far, I found the basic classes to do data reads 
> are :
> org.apache.derby.impl.store.raw.data.RAFContainer.java
> org.apache.derby.impl.store.raw.data.InputStreamContainer.java
> the basic class to do log writes is :
> org.apache.derby.impl.store.raw.log.LogAccessFile.java
> Are there any other classes is involved in data reads and log writes 
> directly?

I also think those are the three classes make the actual I/O 
read/write calls.

hope that helps

View raw message