| N.B. the need for the ErrorHandler was primarily caused by the fact that the indexing work would often happen in a different thread than the application, making it hard to co-relate a failure to a business operation. All operations which happen in the user thread - within the transaction - would not need this. Building the "Document" is something that we've always done within the same read transaction for consistency reasons - we might want to be more flexible about this in the future but remember we'd have to re-read the whole state to respect isolation and ordering. I agree that there might be people preferring to ignore errors during "document build", but what kind of errors could those be? I can only think of bugs in the custom user bridges or bugs in Search - e.g. a silly NPE - not sure we should have infrastructure to catch and ignore those, I'd rather have them reported brutally by bubbling up a runtime exception and killing the transaction. |