Why Does Elliott User's PSQL Connection Stay Open Even If User Is Out of Elliott?

Why Does Elliott User's PSQL Connection Stay Open Even If User Is Out of Elliott?

Release Date: 05/09/2024
Version: All

Q - We are using Elliott 8.6 PowerSearch and Report Desk. We have a separate PSQL Report Engine for those Elliott activities. I see a user connected to our Report Engine server that is not actively logged into Elliott (per the Elliott user list), so does that mean that their sessions are not closing when they logout?  

The weird thing is that it's just one user that's having this issue.  Is there some kind of scenario that would keep the user in to the Report Engine even when logged out?  I don't see any other users with this happening.  Let me know your thoughts on this.

A - This is difficult to say. From my observation, let’s say Elliott crashes or a user uses Task Manager to terminate Elliott. I see PSQL has a way to terminate the connection between the client and the server. I don’t know how PSQL accomplishes that, nor do I know if PSQL can consistently terminate the connection in all similar scenarios. This remains an unknown mystery to me. My conclusion is that when the client side is terminated in a manner preventing communication with the server, then the connection might remain open. For instance, in the event of a power failure without UPS battery backup for the workstation, the client may be unable to communicate with the server to terminate the connection. PSQL (the report engine in this case) needs to maintain the connection and could interpret the client as being idle. Conversely, if Elliott crashes while the operating system is functioning, perhaps the OS oversees the TCP/IP connections and can signal to the server for termination. This is purely speculative on my part, and I cannot definitively explain how this operates.

I posted the following question to ChatGPT: 

When an application on a workstation crashes, does the TCP/IP connection to a server still remain open?

and here is the response:

When an application on a workstation crashes, it depends on various factors whether the TCP/IP connection to a server remains open:

1. Graceful Shutdown: If the application is able to gracefully shut down before crashing, it can properly close its TCP/IP connections, informing the server that the connection is being terminated. In this case, the TCP/IP connection will be closed, and the server will be aware of the termination.

2. Abrupt Termination: If the application crashes abruptly without being able to properly close its TCP/IP connections, the connection may remain open from the server's perspective. The server may not receive a notification that the connection has been terminated, and it may continue to hold resources associated with the connection.

3. Operating System Behavior: The behavior of the operating system also plays a role. In some cases, the operating system may handle the termination of TCP/IP connections initiated by applications. For example, the operating system may detect that an application has crashed and automatically close any associated network connections.

4. Timeout Mechanisms: Even if the TCP/IP connection remains open initially after the application crashes, many servers implement timeout mechanisms to close idle connections. If the server does not receive any activity from the client within a certain period of time, it may close the connection due to inactivity.

5. Server Configuration: The behavior of the server can also impact whether the TCP/IP connection remains open. Some servers may be configured to aggressively close idle connections to conserve resources, while others may keep connections open for longer periods.

Overall, whether the TCP/IP connection remains open after an application crash depends on the specific circumstances, including how the application handles the crash, the behavior of the operating system, and the configuration of the server.



EMK

    • Related Articles

    • Elliott 8.6 Database Convention & Report Desk/PowerSearch

      Release Date: 08/27/2021 Revision Date: 4/11/2022 Version: 8.6 Elliott 8.6 Database Naming Convention Elliott 8.6 now supports Report Desk and PowerSearch, features based on the PSQL relational database engine. Databases must be created for Report ...
    • PowerSearch: Setup and Configuration

      Release Date: 11/18/22 Version 8.6 and above PowerSearch provides a powerful developing environment for Netcellent to deliver modern searches with enhanced functionality. PowerSearch uses the PSQL relational engine to access the Elliott database. ...
    • Feature - Preloading PowerSearch and Report Desk for Faster Startup

      Release Date: 4/15/2024 Version: Elliott V8.6 and Above Background PowerSearch and Report Desk are powerful new features that bring additional capabilities to Elliott Business Software: PowerSearch gives customers the ability to use ...
    • How Do I Turn on PSQL Relational Engine Security?

      Q - I let my users use Crystal Report to access Elliott's data through ODBC. But they can access every single table in Elliott, including sensitive data in Payroll and General Ledger. How do I turn on PSQL's Relational Engine security so my users ...
    • Slow PSQL Relational Engine Performance

      Release Date: 12/15/2017 Many users encounter situations where a particular relational engine SQL query can sometimes be slow. This can be complicated to diagnose due to a lot of reasons. Sometimes it's because of a SQL SELECT statement that's not ...