Allow WebApplicationExceptions in VertexResource#367
Open
dalaro wants to merge 1 commit intotinkerpop:masterfrom
Open
Allow WebApplicationExceptions in VertexResource#367dalaro wants to merge 1 commit intotinkerpop:masterfrom
dalaro wants to merge 1 commit intotinkerpop:masterfrom
Conversation
Several WebApplicationExceptions thrown inside VertexResource methods seemed to be unintentionally swallowed by enclosing catch clauses with low specificity (e.g. Exception). These catchall clauses generally swallow the WAE's status code and replace it with a generic 500 internal server error. This commit changes the catch clauses at the bottom of three request methods to allow a WAE to propagate up the stack instead of converting it into a generic 500. This commit also introduces a try-catch with exception logging around the RexsterApplicationGraph.tryRollback call made inside several of these catch clauses. The point of this change is to make exceptions encountered during rollback get logged and to allow the remainder of the catch clause to attempt to execute even if rollback failed. I ran into failing rollbacks when testing Titan 0.5.1-SNAPSHOT against Rexster 2.6.0 without defining Features.supportsThreadIsolatedTransactions, but I was blind to that cause for a while because the exception message and trace were suppressed.
Member
|
Thanks dan...will merge as soon as we bump to snapshot. I'll go through the other resources as well and make them consistent given your changes. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR covers thinkaurelius/titan#728.
Several WebApplicationExceptions thrown inside VertexResource methods
seemed to be unintentionally swallowed by enclosing catch clauses with
low specificity (e.g. Exception). These catchall clauses generally
swallow the WAE's status code and replace it with a generic 500
internal server error. This commit changes the catch clauses at the
bottom of three request methods to allow a WAE to propagate up the
stack instead of converting it into a generic 500.
This commit also introduces a try-catch with exception logging around
the RexsterApplicationGraph.tryRollback call made inside several of
these catch clauses. The point of this change is to make exceptions
encountered during rollback get logged and to allow the remainder of
the catch clause to attempt to execute even if rollback failed. I ran
into failing rollbacks when testing Titan 0.5.1-SNAPSHOT against
Rexster 2.6.0 without defining
Features.supportsThreadIsolatedTransactions, but I was blind to that
cause for a while because the exception message and trace were
suppressed.