Skip to content

Commit 7c3a0eb

Browse files
committed
CE-575 Fix Python error when raising an Exception with traceback.
PR URL: https://www.github.com/delphix/couchbase-plugin/pull/62
1 parent f29b0fd commit 7c3a0eb

File tree

3 files changed

+11
-15
lines changed

3 files changed

+11
-15
lines changed

src/operations/discovery.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
"""
99
##############################################################################
1010
import logging
11-
import sys
1211

1312
from controller import helper_lib
1413
from generated.definitions import RepositoryDefinition
@@ -59,7 +58,8 @@ def find_repos(source_connection):
5958

6059
return repositories
6160
except RepositoryDiscoveryError as err:
62-
raise err.to_user_error()(None).with_traceback(sys.exc_info()[2])
61+
logger.exception(err)
62+
raise err.to_user_error()
6363
except Exception as err:
6464
logger.debug("find_repos: Caught unexpected exception!" + str(err))
6565
raise
@@ -102,7 +102,8 @@ def find_source(source_connection, repository):
102102
# # Couchbase supports only 1 instance on server so that instance
103103
# on host should be managed by delphix
104104
except SourceConfigDiscoveryError as err:
105-
raise err.to_user_error()(None).with_traceback(sys.exc_info()[2])
105+
logger.exception(err)
106+
raise err.to_user_error()
106107
except Exception as err:
107108
logger.debug("find_source: Caught unexpected exception!" + str(err))
108109
raise

src/operations/linked.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
#############################################################################
77

88
import logging
9-
import sys
109

1110
import db_commands
1211
from controller import helper_lib
@@ -42,7 +41,8 @@ def resync(staged_source, repository, source_config, input_parameters):
4241
)
4342

4443
logger.debug("Completed resynchronization")
45-
except UserError:
44+
except UserError as ex_obj:
45+
logger.exception(ex_obj)
4646
raise
4747

4848
except Exception as ex_obj:
@@ -56,14 +56,13 @@ def resync(staged_source, repository, source_config, input_parameters):
5656
link_cbbkpmgr.unmount_file_system_in_error_case(
5757
staged_source, repository, source_config
5858
)
59+
logger.exception(ex_obj)
5960
if (
6061
isinstance(ex_obj, PluginException)
6162
or isinstance(ex_obj, DatabaseException)
6263
or isinstance(ex_obj, GenericUserError)
6364
):
64-
raise ex_obj.to_user_error()(None).with_traceback(
65-
sys.exc_info()[2],
66-
)
65+
raise ex_obj.to_user_error()
6766
raise
6867

6968

@@ -88,14 +87,13 @@ def pre_snapshot(staged_source, repository, source_config, input_parameters):
8887
link_cbbkpmgr.unmount_file_system_in_error_case(
8988
staged_source, repository, source_config
9089
)
90+
logger.exception(ex_obj)
9191
if (
9292
isinstance(ex_obj, PluginException)
9393
or isinstance(ex_obj, DatabaseException)
9494
or isinstance(ex_obj, GenericUserError)
9595
):
96-
raise ex_obj.to_user_error()(None).with_traceback(
97-
sys.exc_info()[2],
98-
)
96+
raise ex_obj.to_user_error()
9997
raise
10098

10199

src/operations/virtual.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010

1111
import json
1212
import logging
13-
import sys
1413
import time
1514

1615
from controller import helper_lib
@@ -466,9 +465,7 @@ def vdb_start(virtual_source, repository, source_config):
466465
)
467466
addnode.start_couchbase()
468467
except Exception:
469-
raise CouchbaseServicesError(" Start").to_user_error()(
470-
None
471-
).with_traceback(sys.exc_info()[2])
468+
raise CouchbaseServicesError(" Start").to_user_error()
472469

473470

474471
def vdb_stop(virtual_source, repository, source_config):

0 commit comments

Comments
 (0)