It is common for operating systems to scan/repair the entire file system after a machine crash. Similarly, it may be possible/desirable for Derby to consistency-check conglomerates when a database is booted after coming down ungracefully. A couple issues are worth considering:
1) This could be an expensive operation on a large database.
2) Derby can't tell the difference between a machine crash and an application crash.
The behavior change would be noticeable for complex, crash-prone applications with large databases. That argues against making this the default behavior. Applications would need to opt into this extra consistency checking.
This enhancement request comes out of a discussion on DERBY-5221.