Re: [pgAdmin][RM4818] Unable to handle loss of connection to server - Mailing list pgadmin-hackers

From Akshay Joshi
Subject Re: [pgAdmin][RM4818] Unable to handle loss of connection to server
Date
Msg-id CANxoLDeNuNdwQm3bVW0PHkjmQnb5Y64LtFRGYN2PoGirW3_26A@mail.gmail.com
Whole thread Raw
In response to Re: [pgAdmin][RM4818] Unable to handle loss of connection to server  (Aditya Toshniwal <aditya.toshniwal@enterprisedb.com>)
List pgadmin-hackers
Thanks, patch applied.

On Mon, Nov 25, 2019 at 12:37 PM Aditya Toshniwal <aditya.toshniwal@enterprisedb.com> wrote:
Hi Hackers,

Attached is the updated patch to fix the review comments.

On Thu, Nov 21, 2019 at 4:48 PM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Hi Aditya

Following are the review comments:

  • Update the timeout in the comment section from 30 seconds to 10 seconds in aff1436e3c8c_.py. 
  • Asking for the database server password even if it is saved. Reproduction steps:
    • Connect to the database server, saved the password.
    • Disabled the network. Try to connect to the database server.
    • Enable the network, try to connect to the database server.
  • No error/spinner visible on GUI when the database server is connected using SSH Tunnel. Reproduction steps:
    • Connect to the database server with SSH Tunnel, saved both the password.
    • Disabled the network and Reset the Layout.
    • Expand the Servers node and try to connect the same database server. 

On Thu, Nov 21, 2019 at 11:58 AM Aditya Toshniwal <aditya.toshniwal@enterprisedb.com> wrote:
Hi,

I forgot to mention, I've also changed the dashboard code. The dashboard was sending graph data requests, but when the server lost connection the requests remains pending for longer time. Because of this the server gets flooded with lot of pending request and in turn slowing down the entire application.
Code is changed so that only a certain number of requests remain pending (currently 3), above which the request won't be sent.

On Thu, Nov 21, 2019 at 11:50 AM Aditya Toshniwal <aditya.toshniwal@enterprisedb.com> wrote:
Hi Hackers,

Attached is the updated patch to fix the review comments.
Please note, there is some problem with psycopg2/libpq where it hangs when network is lost - https://github.com/psycopg/psycopg2/issues/561
I've also changed the code to make connections after the "Servers" node is expanded to fix - RM4933, so that the servers are listed first.

Kindly review.

On Fri, Nov 15, 2019 at 2:34 PM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Hi Aditya

Following are the review comments:
  1. The default connection timeout should be 10 seconds.
  2. In case the network is disabled and when we expand the "Servers" node the database server(for which network is disabled) should be shown in the disconnected state.
  3.  For the above case when you try to connect to the server and at the same time trying to fetch the properties of the valid database server, it takes long time to fetch it.
  4.  Case when the network is disabled, the database servers password is saved and pgAdmin4 tries to connect the server, after connection timeout, there is no message to the user, only spinner gets disappeared. We should show a message.
  5. We should improve the error messages "timeout expired" and "Connection to the servers has been lost." to the more meaningful messages like "Check the network settings, check the firewall status."
  6. Install database server on Windows and Enable Windows Firewall. Try to connect to the same database server. Spinner is not showing, as a user I am not able to understand is there any action started at the backend or not. As a user, I'll keep trying to connect multiple times and after the connection timeout of each request dialog pops up.

On Thu, Nov 14, 2019 at 12:15 PM Aditya Toshniwal <aditya.toshniwal@enterprisedb.com> wrote:
Hi Hackers,

Attached is the workaround patch to set the default connection timeout to 30 seconds instead of the current value of infinite - 0, zero. The input is present in the server properties dialogs advanced tab. The workaround applies to the RM4724 as well.
The permanent solution would be to expand the nodes asynchronously - https://redmine.postgresql.org/issues/4933

Also fixed a bug where sql editor is not closing if the server is disconnected in between.

Kindly review.

--
Thanks and Regards,
Aditya Toshniwal
Sr. Software Engineer | EnterpriseDB India | Pune
"Don't Complain about Heat, Plant a TREE"


--
Thanks & Regards
Akshay Joshi
Sr. Software Architect
EnterpriseDB Software India Private Limited
Mobile: +91 976-788-8246


--
Thanks and Regards,
Aditya Toshniwal
Sr. Software Engineer | EnterpriseDB India | Pune
"Don't Complain about Heat, Plant a TREE"


--
Thanks and Regards,
Aditya Toshniwal
Sr. Software Engineer | EnterpriseDB India | Pune
"Don't Complain about Heat, Plant a TREE"


--
Thanks & Regards
Akshay Joshi
Sr. Software Architect
EnterpriseDB Software India Private Limited
Mobile: +91 976-788-8246


--
Thanks and Regards,
Aditya Toshniwal
Sr. Software Engineer | EnterpriseDB India | Pune
"Don't Complain about Heat, Plant a TREE"


--
Thanks & Regards
Akshay Joshi
Sr. Software Architect
EnterpriseDB Software India Private Limited
Mobile: +91 976-788-8246

pgadmin-hackers by date:

Previous
From: Akshay Joshi
Date:
Subject: pgAdmin 4 commit: 1) Fix network disconnect issue while establishing th
Next
From: Akshay Joshi
Date:
Subject: [pgAdmin][RM4938] Code refactoring of 'Columns' node