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

Extension exception message when "Update conflicts with concurrent update" [CORE3304] #3671

Closed
firebird-automations opened this issue Jan 9, 2011 · 3 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: Maxim Kuzmin (cybermax)

Now, when an update conflict, you receive the following exception:
"Unsuccessful execution caused by system error that does not preclude successful execution of subsequent statements.
Lock conflict on no wait transaction.
Deadlock.
Update conflicts with concurrent update.
Concurrent transaction number is 43131."

If the user - not SYSDBA (or not connected with role RDB$ADMIN), user can't find any information about this transaction and its user-owner. Therefore, additional information about a concurrent transaction can not be obtained and can not be shown in the program.
It is proposed to add in exception information about the user-owner transaction (username). Also, if possible, add remote address user-owner and timestamp start a transaction.

@firebird-automations
Copy link
Collaborator Author

Commented by: @dyemanov

I tend to object to this request. First of all, it allows a non-privileged connection to obtain a possibly sensitive information (user account, client IP address, etc) about another connections, and it looks like a security weak point. This is exactly the reason why non-DBO/DBA users don't see other connections in the MON$ tables. Second, extending the error message with possibly varying information (tomorrow you might need PID of the blocking process or its Windows logon name) doesn't look like a good idea at all.

That said, I believe that a better approach would be to grant a regular user abilities to see other connections in MON$ tables. This way you may explicitly decrease the security level to the threshold you need. And this is already planned for v3.0, see CORE2557.

@firebird-automations
Copy link
Collaborator Author

Modified by: @dyemanov

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

resolution: Won't Fix [ 2 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @pcisar

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

1 participant