Forum Stats

  • 3,741,750 Users
  • 2,248,473 Discussions
  • 7,861,976 Comments

Discussions

How to deletes reserved log files manually

mayo
mayo Member Posts: 4 Red Ribbon
edited Nov 14, 2018 8:50AM in Berkeley DB Java Edition

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.

Sign In or Register to comment.