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
Timeout parameters [CORE985] #1392
Comments
Modified by: @pcisarWorkflow: jira [ 11296 ] => Firebird [ 15329 ] |
Modified by: @dyemanovassignee: Dmitry Yemanov [ dimitr ] |
Modified by: @dyemanovFix Version: 3.0 Alpha 1 [ 10331 ] |
Modified by: @dyemanovassignee: Dmitry Yemanov [ dimitr ] => Vlad Khorsun [ hvlad ] Fix Version: 3.0 Beta 1 [ 10332 ] => |
Modified by: @dyemanovFix Version: 4.0 Alpha 1 [ 10731 ] |
Commented by: PizzaProgram Ltd. (szakilaci) This is THE feature we are waiting for since FB1.0 :) The Timeout parameters should be in milliseconds (int64)* please. * or we could use DOUBLE. (0.5 = half sec.) Would be nice, if AUTONOMOUS TRANSACTION would have a TIMEOUT parameter too. |
Commented by: PizzaProgram Ltd. (szakilaci) A possible implementation for this: 1.) There would be a LinkedList* resident in the memory of the FB engine: 2.) This List would be sorted/indexed by <event_ends> value. (Ascending) 3.) It's enough always to check the beginning of this list, if the first item in the list is past current time. 4.) This check would run every 50ms once. 5.) Commands would look like this: ... Maybe the format "WITH TIMEOUT" would be more elegant... also WITH LOCK WITH TIMEOUT() 6.) By a connection-timeout method even a Backup could be time-maximized! 7.) Hierarchy: 8.) I'm not sure if [Connection Idle Timeout] is necessary. I'm afraid it would cause more harm than good. |
Commented by: PizzaProgram Ltd. (szakilaci) There should be 3x3 different error codes for each of these timeout-kinds: timeout_db_def <Database connection timeout set in config file @1 ms> timeout_tr_def <A rollback performed by transaction timeout, set in config file @1 ms> timeout_sql_def <SQL command timeout, set in config file @1 ms> ... so a developers can see the difference. (Much easier to test and debug.) |
Commented by: @hvlad The feature is almost finished and already committed into separate branch (for review and testing). You may found it there It lacks documentation so far, the more-or-less close description could be found there |
Modified by: @pcisarstatus: Resolved [ 5 ] => Closed [ 6 ] |
Submitted by: ohenri (ohenri)
Is related to CORE658
Relate to CORE4238
Jira_subtask_outward CORE5466
Is replaced by CORE5488
Votes: 3
Actually the two paramters "ConnectionTimeout" and "DummyPacketInterval" do not fit all requirements, and "DummyPacketInterval" seems not to work in 2.0 as it does 1.5.3.
I suggest to change the managament of such things as follows.
Timeout parameters, basically stored in the conf file:
- ConnectionTimeout - same as today.
- Command Timeout - new - does specify how long a command may run until it is cancelled (and naturally rolled back) by the engine itself.
- Transaction Timeout - new - does specify how long a transaction may be open until it is rolled back by the engine itself.
- Idle Timeout - new - does specify the time to wait until a silent (no running commands) connection is dropped.
CommandTimeout, TransactionTimout and IdleTimeout shall be changeable from the client for the own connection (before a long running task, for example).
The text was updated successfully, but these errors were encountered: