|
The left-over doc is due to a failure to rollback in the index catalog.
Log level 1:
2013-12-22T09:47:06.068-0500 [conn1] User Assertion: 10088:cannot index parallel arrays [b] [a]
|
2013-12-22T09:47:06.068-0500 [conn1] IndexCatalog::indexRecord rollback failed: 10088 cannot index parallel arrays [b] [a]
|
Both the index and rollback code try to generate a set of keys for the doc which results in the exception which blocks both. Not sure how this used to work, but it did in 2.4.8, so the catalog refactoring is most likely the introduction point of this bug.
I'm happy to look into this more but it will require a bit of work. Just looking at the code paths it seems like this can be solved in the following ways:
- don't throw assertion and use status all the way up to rollback point with cleaner logic, which will not require unindexing rollback since no indexes were touched
- return any index keys recorded/generated from _indexRecord so _unindexRecord knows exactly what to clean up – a more general cleanup process
|