This content has been marked as final. Show 2 replies
It is not advisable to disable checkpointing for BDB JE. Like most transactional database systems, checkpoints are needed to make it possible to recover, or restart an environment.You may find it useful to look up a general description of checkpoints in database systems on the web, to get some context on what purpose they serve, and that may help you understand how best to tune them. BDB
The exception that you ran into usually only occurs if an environment crashes within the first few moments of its initial creation and there are only a few hundred bytes in the first .jdb file. I'm surprised that it happened for you, since the first checkpoint in a system is usually mandatory, but perhaps your configuration settings actually disabled it. I don't think we should investigate that very much, because it's not really the direction you want to go in.
Instead of disabling checkpoints, it would be best to investigate how to make them less frequent, and/or more efficient. One starting point is to try setting EnvironmentConfig.CLEANER_LAZY_MIGRATION to false, which helps make checkpointing faster, at the expense of log cleaning. Other options are to change the checkpoint interval, or the ENV_BACKGROUND_WRITE_LIMIT. Our next release, JE 5, does have some enhancements for making checkpoints more efficient, but unfortunately is not available yet. Take a look at EnvironmentConfig, and see the different options you could try.