pgadmin-org / pgadmin4

pgAdmin is the most popular and feature rich Open Source administration and development platform for PostgreSQL, the most advanced Open Source database in the world.
https://www.pgadmin.org
Other
2.43k stars 637 forks source link

Runtime connection retry loop timeout (RM #2556) #1269

Closed dpage closed 2 years ago

dpage commented 7 years ago

Issue migrated from Redmine: https://redmine.postgresql.org/issues/2556 Originally created by Dave Page at 2017-07-12 11:37:31 UTC.

We should change the runtimes connection retry loop timeout so that it's time based rather than count based. This is because some connection failures can be near instant (connection actively refused) whilst others can take time. Per a brief discussion with Ashesh:

dpage commented 7 years ago

Comment migrated from Redmine: https://redmine.postgresql.org/issues/2556#note-1 Originally created by Ashesh Vashi at 2017-07-13 14:16:36 UTC.

Removing Neel as assignee, as he is already having some cases assigned to him.

Redmine ticket header update:

Name Old Value New Value
Assigned To changed Neel Patel
dpage commented 7 years ago

Comment migrated from Redmine: https://redmine.postgresql.org/issues/2556#note-2 Originally created by Khushboo Vashi at 2017-07-14 05:51:25 UTC.

Redmine ticket header update:

Name Old Value New Value
Assigned To changed Khushboo Vashi
dpage commented 7 years ago

Comment migrated from Redmine: https://redmine.postgresql.org/issues/2556#note-3 Originally created by Khushboo Vashi at 2017-07-17 08:24:30 UTC.

Redmine ticket header update:

Name Old Value New Value
Status changed New In Progress
dpage commented 7 years ago

Comment migrated from Redmine: https://redmine.postgresql.org/issues/2556#note-4 Originally created by Khushboo Vashi at 2017-07-17 09:50:11 UTC.

Hi Dave,

Thanks, Khushboo

Redmine ticket header update:

Name Old Value New Value
Assigned To changed Khushboo Vashi Dave Page
dpage commented 7 years ago

Comment migrated from Redmine: https://redmine.postgresql.org/issues/2556#note-5 Originally created by Dave Page at 2017-07-17 10:08:26 UTC.

Khushboo Vashi wrote:

Hi Dave,

  • Ensure we retry at least once once the timeout has elapsed. This means after 30 seconds, one more try to ping the server, is this correct? If yes then why we need to retry as we have already try for 30 seconds in a loop?

We retry in a loop so that we can start as quickly as possible. The last attempt (outside the loop) is to ensure that if there was a long network timeout whilst we were looping that resulted in only the initial attempt being made, we can still recover from that.

  • Make the timeout a config option (not in the UI, just the registry/config file). My understanding is, at first time update the registry with the timeout parameter and then use that every time.

No, just attempt to read the registry, but have a default value. For example:

int timeout = settings.value("ConnectionTimeout", 30).toInt();

But if no UI, then do we need to intimate the user on failure that the connection timeout can be changed through the registry?

No - but we probably should add a doc page containing all the configuration settings and what they are. We have 3 or 4 now.

Redmine ticket header update:

Name Old Value New Value
Assigned To changed Dave Page Khushboo Vashi
dpage commented 7 years ago

Comment migrated from Redmine: https://redmine.postgresql.org/issues/2556#note-6 Originally created by Khushboo Vashi at 2017-07-17 12:54:49 UTC.

The patch submitted.

https://www.postgresql.org/message-id/CAFOhELe_KWkFbjQzEufnQLW=FCcbYaoQ9g_Vdz=nKoMtTKECmQ@mail.gmail.com

dpage commented 7 years ago

Comment migrated from Redmine: https://redmine.postgresql.org/issues/2556#note-7 Originally created by Khushboo Vashi at 2017-07-17 14:18:03 UTC.

Applied in changeset commit:c5461827894bc99a9d4909c078397a30a53dfee5.

Redmine ticket header update:

Name Old Value New Value
Status changed In Progress In Testing
Done Ratio changed 0 90
dpage commented 7 years ago

Comment migrated from Redmine: https://redmine.postgresql.org/issues/2556#note-8 Originally created by Fahar Abbas at 2017-09-08 11:10:05 UTC.

This is resolved in Desktop Runtime installer on MAC and Windows.

Redmine ticket header update:

Name Old Value New Value
Status changed In Testing Resolved
dpage commented 6 years ago

Comment migrated from Redmine: https://redmine.postgresql.org/issues/2556#note-9 Originally created by Fahar Abbas at 2018-01-09 05:52:13 UTC.

Redmine ticket header update:

Name Old Value New Value
Done Ratio changed 90 100
dpage commented 2 years ago

Issue closed on Redmine.