-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: APIs
-
Storage Engines - Foundations
-
None
-
None
Currently we record errors in a per-session err_info struct, that is reset upon each new API call. The issue is that this system does not handle the case of nested API calls, e.g. a cursor API call inside a session API call. Any cursor API calls will reset the stored error struct, and set the stored error struct even if it is located within a WT_ERR_ERROR_OK block.
This ticket is to make sure that the API_CALL and API_END macros only set/reset the error struct at the top level API call, i.e. when the session->api_call_counter == 1.