Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reimplement signalling of (connection) errors in FBManagedConnection [JDBC360] #402

Closed
firebird-automations opened this issue Jul 11, 2014 · 6 comments

Comments

@firebird-automations
Copy link

Submitted by: @mrotteveel

The protocol implementation rewrite has (potentially) broken connection error signalling in FBManagedConnection. Previously some methods were routed through GDSHelper which wrapped them in a try-catch to signal (connection) errors to FBManagedConnection.

Due to refactoring and (currently partial) removal of GDSHelper this signalling is now missing in some areas. We need to handle this in the http://gds.ng implementation classes.

@firebird-automations
Copy link
Author

Modified by: @mrotteveel

Fix Version: Jaybird 3.0 [ 10440 ]

@firebird-automations
Copy link
Author

Modified by: @mrotteveel

priority: Major [ 3 ] => Critical [ 2 ]

@firebird-automations
Copy link
Author

Commented by: @mrotteveel

Solutions to investigate: proxies or wrappers around the http://gds.ng interfaces that catch and forward the exceptions.

@firebird-automations
Copy link
Author

Commented by: @mrotteveel

Wrapped all public methods in try-catch that signal listeners and rethrow the exception. Chose this over proxies, compile-time rewriting, or bytecode manipulation to give the least surprise; the downside is that this requires manual code, and implementations of the interfaces need to be careful to add this.

@firebird-automations
Copy link
Author

Modified by: @mrotteveel

status: Open [ 1 ] => Resolved [ 5 ]

resolution: Fixed [ 1 ]

@firebird-automations
Copy link
Author

Modified by: @mrotteveel

status: Resolved [ 5 ] => Closed [ 6 ]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants