Closed AndrewLevin closed 4 years ago
Are there any other places that we need to add protection for DB exceptions? Might be safer to find the places where the
connect
method is actually called, and just protect those
I think the connect
method is only called in one place in dbutils
, but I think similar exceptions could be throw in other interactions with the db, such as querying the db after we connect.
cx_Oracle
throws exceptions objects that cannot be pickled, which is a problem for our multithreading framework, so this pull requests rethrows exceptions that cannot be pickled.Description
In the function
getVFAT3CalInfo
, a try-catch block is added around the call togetVFAT3ProdSumView
. When an exception is caught, it tries to pickle the exception, and checks whether aTypeError
exception is throw by the pickler. If there is noTypeError
, the original exception is rethrown. If there is aTypeError
, then a new exception is created which records the type and the message of the original exception.Types of changes
Motivation and Context
Partially resolves https://github.com/cms-gem-daq-project/gem-plotting-tools/issues/250. The underlying cause of the exception reported in that issue is not understood.
How Has This Been Tested?
Yes:
Screenshots (if appropriate):
Checklist: