Subject Re: Error code -901 'conv_out_blob_materialized.isc_open_blob2: BLOB not found'
Author Svein Erling
> Ann,
>You were right. I checked my code and discovered a possibility of
> concurrent record deletion.
>
>So the solution would be to start a READ_ONLY transaction instead
>of a READ_ONLY + READ_COMMITTED.
>The reason for which I used that mode is because I read somewhere
>(perhaps in Helen Borrie's book) that when you are planning only
>to read records it is more efficient to start a transaction in
>READ_ONLY + READ_COMMITTED mode.
>
>Is there any efficiency loss, or some penalty, if you open a
>transaction in READ_ONLY mode instead of READ_ONLY + READ_COMMITTED ?

READ ONLY + READ COMMITTED doesn't block garbage collection. That's the reason for your error, but also the bonus of using that combination (blocking garbage collection means that the server has to keep old record versions when changing something).

If it is a reasonably short transaction, then there's probably not much of a penalty in using a different combination, if it is an extremely long-running transaction on a very active system that has lots of updates and deletes, then it can make the system very slow (though the speed will probably return once the transaction terminates).

Set