Sometimes users may experience unexpected slowness when attempting to log in or work in the database. It may be that someone is running a very large search, or taking out a new version on a very large item structure and it is affecting other users. To see if this is the case, one can look in the TcpSubServer log. 


Prerequisites

  • An installation of the SystemWeaver Explorer client (swExplorer)
  • An installation of SystemWeaver version R41 or later (Note that R43 is required for long read calls in process.)
  • Notepad++, EmEditor or other text editor that can handle large files


Searching for Long Call in Process

  1. Take a copy of the TcpSubServer log that is currently being written to.
  2. Open the copy in a text editor.
  3. Run a search for "Long call in process".

Example search results


Long read calls that return a list of handles have call: "QGetItems". These are General searches across the entire database. In the above example, a user with xID xE000000001E1718 has a long query in process starting at 13:59 which is about the time that the reports of slowness began to be reported.


Note the user xID(s) for the long calls that you find for the time period you are investigating. Because the call is in process and not completed yet, it is not possible to know what the search is.  We recommend contacting the user to find out what the search was. See How to View User xIDs to look up the user. Suggest that they refine their search by adding additional criteria, e.g., Item Type, specific Attribute (instead of searching across all Attributes in the entire database), etc. Alternatively, they can chose to run their search outside of peak work hours if that is a possibility.


Let it Run or Restart the Server?

These long calls cannot be killed. The options are to let it proceed until it is finished, or restart the server. 

If it is a long read call, e.g., QGetItems, we recommend letting it run, but of course, if that is not feasible because others cannot work, you can restart the server. If the call is a long write call, e.g., Item_NewVersion, we do NOT recommend stopping the server. Let the write operation complete. If you are unsure if a long call in process is a read or write operation, you can contact us at support@systemweaver.