# Property file for unit test usage. Usually, all 
# unit tests should run w/out a je.properties file, so
# the test can have total control over its environment.
# It may be useful to use a property file when debugging.
# This file should always be checked in with all properties
# commented out.
# $Id$

#je.env.forcedYield=false

#java.util.logging.ConsoleHandler.on=true
#java.util.logging.FileHandler.on=true
#java.util.logging.level=INFO

#je.env.runINCompressor=true
#je.compressor.deadlockRetry=3
#je.compressor.lockTimeout=5000

#je.env.runEvictor=true
#je.maxMemory defaults to 93% of jdb.maxMemory unless specified
je.maxMemory=512
#je.evictor.nodeScanPercentage=25
#je.evictor.evictionBatchPercentage=25

#je.env.runCheckpointer=true
#je.checkpointer.deadlockRetry=3

#je.verify.tree.dump=true
#je.verify.inlist=true
#je.verify.throw=false

#je.env.runCleaner=true
#je.cleaner.deadlockRetry=3
#je.cleaner.lockTimeout=5000
#je.cleaner.expunge=false
