Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
10.8.2.2, 10.9.1.0
-
None
-
Red Hat Enterprise Linux Server release 6.1 (Santiago) -x86_64
and
OpenSuse 11.3 -x86_64
-
Normal
-
High Value Fix
Description
I'm trying to load a large database. After about 18 million inserts I always get the following error:
Exception: java.sql.BatchUpdateException: Limitation: Record of a btree secondary index cannot be updated or inserted due to lack of space on the page. Use the parameters derby.storage.pageSize and/or derby.storage.pageReservedSpace to work around this limitation.
Error Code: 20000
I'm already using the maximum pageSize as stated in the documentation (32768) and I've bumped up the reserved space to 25%. I've also gotten rid of every non-essential index for loading so this is probably related to a primary key index (I had to leave most of them around). Our loading process is very non-trivial and batched so I'm not even sure which insert/index is causing the problem.
Problems:
1. The error message doesn't give any information about which tables/columns/indexes are causing this problem so I have no way of knowing if i can work around this problem somehow.
2.The database shouldn't die saying to adjust some magic numbers with no guidance on how to adjust them and by how much. Even if I do adjust them, what is to guarantee I won't get the same error at a later date...maybe even sometime during production which would be extremely bad. I believe an automated correction to this limitation needs to be created.