Skip to Main Content

Berkeley DB Family

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

How to deletes reserved log files manually

mayoNov 14 2018 — edited Nov 14 2018

Hi all,

we use bdb je  in replicated environments with 10 billion records per day ,and  met some problem about reclaim log files and delete reserved log files.

As descipted in `Getting Started with High Availability Applications` :

"For replicated environments, JE hangs on to log files as long as possible in case they are needed to bring a replica up to date. Log files that have been cleaned but then saved due because of replication are in a reserved state. All such files are retained until the disk usage thresholds as defined by EnvironmentConfig.MAX_DISK and EnvironmentConfig.FREE_DISK are exceeded. At that point, JE deletes reserved log files."

In out project , write operations are increasing quickly sometimes. And if the disk usage thresholds are approaching , the replicated environment throws DiskLimitException and write operations are prohibited  because of the speed of delete file cannot match the speed of write data .  So I'm really want to know if there is a way to delete reserved  files manually instead of dependent on the the disk usage thresholds .

we use je.properties to config out HA environment and content is like :

je.log.fileMax=1073741824

je.lock.timeout=3000000

je.sharedCache=true

je.maxMemoryPercent=50

je.rep.txnRollbackLimit=1000

je.rep.replicaReceiveBufferSize=4194304

je.rep.feederBatchNs=10000000

je.rep.feederBatchBuffKb=256

je.rep.commitToNetwork=false

je.rep.replicaMessageQueueSize=10000

je.rep.insufficientReplicasTimeout=5000 ms

je.rep.replicaAckTimeout=10000 ms

je.cleaner.minUtilization=50

je.rep.replayFreeDiskPercent=50

je.env.runCleaner=false

je.rep.designatedPrimary=false

je.env.backgroundReadLimit=20

je.cleaner.readSize=33554432

je.cleaner.detailMaxMemoryPercentage=5

je.cleaner.lookAheadCacheSize=32768

In our project , we use ReplicatedEnvironment.cleanLogFile() telling je to clean file , and use ReplicatedEnvironment.removeDatabase(null, "persist#" + storeName + "#com.sleepycat.persist.formats") to declare one EntityStore can be cleaned.

Any advise will be appreciated.

Comments

Answer

That's a bug we'll get that sorted, thanks Mike!

Marked as Answer by Mike Kutz · Mar 2 2025
1 - 1

Post Details

Added on Nov 14 2018
0 comments
365 views