Hang when doing quick paging #220

Closed
ottob opened this Issue May 18, 2016 · 3 comments

Comments

Projects
None yet
2 participants
@ottob

ottob commented May 18, 2016

Trying to page through a table quickly on a remote server accessed through ssh. Its not visible in the capture but I get the spinning beachball of death and then have to force quit postico.

It does not happen if I page slowly so it can update each load before I go to the next step.

remote_paging_hang.zip

@jakob

This comment has been minimized.

Show comment
Hide comment
@jakob

jakob May 18, 2016

Owner

I can't reproduce this on my machine. If you can reliably reproduce this issue, it would be really great if you could email me a sample of Postico, so I can see where it hangs.

To create a sample, open Activity Monitor, select Postico, click the "Info" button in the toolbar, then click the "Sample" button in the lower left corner of the info window. Save the sample and send me the file as an attachment to jakob@eggerapps.at

Owner

jakob commented May 18, 2016

I can't reproduce this on my machine. If you can reliably reproduce this issue, it would be really great if you could email me a sample of Postico, so I can see where it hangs.

To create a sample, open Activity Monitor, select Postico, click the "Info" button in the toolbar, then click the "Sample" button in the lower left corner of the info window. Save the sample and send me the file as an attachment to jakob@eggerapps.at

@jakob

This comment has been minimized.

Show comment
Hide comment
@jakob

jakob May 19, 2016

Owner

Hi Otto,

thanks for the sample! I have discovered the cause of the issue. Postico was hanging while it was waiting for the server to acknowledge the "cancel" command (the server acknowledges by closing a TCP connection). Presumably your connection was saturated by the download of the data, so that the TCP close packet can't get through quickly.

Postico now no longer blocks the UI while waiting for the "cancel" command to go through. However, Postico will still wait for the cancel command to complete before sending the next query (otherwise the cancel command might kill the wrong query).

So while the beachball should be gone now, you might see a "cancelling" message in the status display for some time now. If this happens, since the UI is responsive now, you can use the shortcut Cmd-Option-Period to forcefully disconnect the connection. Postico will then open a new connection.

Here's a build with the fix I described:
https://eggerapps-downloads.s3-eu-west-1.amazonaws.com/postico-1421.zip

Thanks for reporting the issue!

Jakob

Owner

jakob commented May 19, 2016

Hi Otto,

thanks for the sample! I have discovered the cause of the issue. Postico was hanging while it was waiting for the server to acknowledge the "cancel" command (the server acknowledges by closing a TCP connection). Presumably your connection was saturated by the download of the data, so that the TCP close packet can't get through quickly.

Postico now no longer blocks the UI while waiting for the "cancel" command to go through. However, Postico will still wait for the cancel command to complete before sending the next query (otherwise the cancel command might kill the wrong query).

So while the beachball should be gone now, you might see a "cancelling" message in the status display for some time now. If this happens, since the UI is responsive now, you can use the shortcut Cmd-Option-Period to forcefully disconnect the connection. Postico will then open a new connection.

Here's a build with the fix I described:
https://eggerapps-downloads.s3-eu-west-1.amazonaws.com/postico-1421.zip

Thanks for reporting the issue!

Jakob

@ottob

This comment has been minimized.

Show comment
Hide comment
@ottob

ottob May 19, 2016

Fixed build works great. Thanks!

ottob commented May 19, 2016

Fixed build works great. Thanks!

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