2017 07 23 - $readme-for-patch-Foxhound4-4729-008-ping-only-monitor-status.txt This patch is for installed copies of Foxhound 4 build 4729. If you experience any problems or challenges with this patch, or with your copy of Foxhound 4 in general, please contact breck.carter@gmail.com. Many issues can be resolved quickly. ************************************************ ***** SCROLL DOWN FOR INSTRUCTIONS ***** ************************************************ ----------------------------------------------------------------------- ******************************************** ***** DESCRIPTION OF THE FIXES ***** ******************************************** This patch changes the Monitor Database part of Foxhound 4 to fix these problems with Ping-Only Sampling and the way Foxhound handles High Availability (HA) arbiter servers: (1) Foxhound appears unresponsive when an (incorrect) attempt is made to start a full sampling session for the utility database on an arbiter server, rather than (correctly) using ping-only sampling. Note that the utility database isn't a real database, and doesn't support the SQL statements Foxhound uses to gather a full set of sample data. Depending on the history of the arbiter server (running, stopped, restarted) the Monitor page may display a variety of misleading messages: Sampling Running (not connected yet) Sampling starting... Database server not found The Display Diagnostics button on the Foxhound Options page may show that a pair of "Permission denied" exceptions are appearing every 10 seconds: 122 - 2017-07-22 15:33:37.759 Full Build 4729a 1000000095 204.b5(204eh-d7) SQLCODE = -660, SQLSTATE = WO005, ERRORMSG() = Server 'p001': [Sybase] [ODBC Driver][SQL Anywhere]Permission denied: you do not have permission to execute a statement of this type [1-arbiter_demo] 121 - 2017-07-22 15:33:37.758 Full Build 4729a 1000000095 240a1a(240eh1) SQLCODE = -660, SQLSTATE = WO005, ERRORMSG() = Server 'p001': [Sybase] [ODBC Driver][SQL Anywhere]Permission denied: you do not have permission to execute a statement of this type [1-arbiter_demo] After this patch is applied, the "Permission denied" message is prominently displayed on the Monitor page so you know why Foxhound isn't responding. Also, the Display Diagnostics button no longer shows a never-ending list of "Permission denied" exceptions. With or without this patch, however, you still have to use ping-only sampling if only the utility database is available on the arbiter server: Check Perform Ping-Only Sampling in section 16. Ping Settings of the Monitor Options page. (2) When ping-only sampling is used to monitor a target database, and the target database is stopped and restarted, Foxhound continues to (incorrectly) display "Database server not found" or "Specified database not found" in the Monitor Status fields on the Monitor Foxhound Menu pages. This happens even though the Monitor page (correctly) shows "Ping-only sampling -- Ping OK", as well as correctly showing "All Clear - Alert #1" if the target database had been down long enough for Alert #1 to appear. This problem is very common with HA arbiter servers because ping-only sampling is the only way Foxhound can connect to the utility database. Without this patch, the workaround is to manually click Stop Sampling, then Start Sampling to clear the bogus error message. After this patch is applied, you no longer have to stop and start sampling: "Ping OK" appears in the Monitor Status fields as soon as Foxhound is able to restart ping-only sampling. This patch can be applied independently from other patches. ----------------------------------------------------------------------- ******************************* ***** INSTRUCTIONS ***** ******************************* 1. Shut down Foxhound 4, if it's running. 2. If desired, make a backup copy the Foxhound 4 folder: C:\ProgramData\RisingRoad\Foxhound4 3. Unzip this file: zipped-patch-Foxhound4-4729-008-ping-only-monitor-status.zip into this folder: C:\ProgramData\RisingRoad\Foxhound4 It will create this file: patch-Foxhound4-4729-008-ping-only-monitor-status.patch 4. Start Foxhound 4; it will automatically apply the patch. 5. Wait a few seconds for Foxhound 4 to shut down automatically; you won't see it in the browser, but you will see the Windows process disappear. 6. Start Foxhound 4 again, to continue work. 7. Optional: Verify the patch was applied OK. Scroll to the bottom of this text file: C:\ProgramData\RisingRoad\Foxhound3\foxhound4_debug.txt ===== I. 07/23 13:43:36. --------------------------------------- I. 07/23 13:43:36. Foxhound Version 4.0 by RisingRoad - Extended Edition 4.0.4729a built at 2016 10 04 07:08 in a SQL Anywhere 16.0.0.2127 database created at 2016 10 04 07:07 I. 07/23 13:43:36. --------------------------------------- I. 07/23 13:43:37. The patch file is being applied to the Foxhound database: "patch-Foxhound4-4729-008-ping-only-monitor-status.patch" I. 07/23 13:43:37. DIAG 2017-07-23 13:43:37.126 Starting patch-Foxhound4-4729-008-ping-only-monitor-status.txt I. 07/23 13:43:37. DIAG 2017-07-23 13:43:37.128 DROP EVENT fire_once I. 07/23 13:43:37. DIAG 2017-07-23 13:43:37.131 CREATE EVENT fire_once I. 07/23 13:43:37. DIAG 2017-07-23 13:43:37.157 @sql = ALTER EVENT fire_once ADD SCHEDULE START TIME '2017-07-23 13:43:47.157' I. 07/23 13:43:37. DIAG 2017-07-23 13:43:37.161 ALTER EVENT fire_once ENABLE I. 07/23 13:43:37. The patch file was executed: "patch-Foxhound4-4729-008-ping-only-monitor-status.patch" I. 07/23 13:43:47. DIAG 2017-07-23 13:43:47.207 STOP ENGINE UNCONDITIONALLY I. 07/23 13:43:48. Database server shutdown requested by STOP ENGINE statement W. 07/23 13:43:50. TCPIP listener on IP address (::):49157 is exiting W. 07/23 13:43:50. TCPIP listener on IP address 0.0.0.0:49157 is exiting W. 07/23 13:43:50. HTTP listener on IP address (::):80 is exiting W. 07/23 13:43:50. HTTP listener on IP address 0.0.0.0:80 is exiting I. 07/23 13:43:50. Starting checkpoint of "f" (foxhound4.db) at Sun Jul 23 2017 13:43 I. 07/23 13:43:51. Finished checkpoint of "f" (foxhound4.db) at Sun Jul 23 2017 13:43 I. 07/23 13:43:51. Database server stopped at Sun Jul 23 2017 13:43 ===== 8. Optional: Check patch history. Use All Programs - Foxhound4 - Tools - Adhoc Query Foxhound Database via ISQL SELECT * FROM applied_patch; file_name,applied_to_build_number,inserted_at,updated_at,status 'patch-Foxhound4-4729-008-ping-only-monitor-status.patch',4729,'2017-07-23 13:43:37.049','2017-07-23 13:43:37.169', The patch file was executed: "patch-Foxhound4-4729-008-ping-only-monitor-status.patch" -- end --