Help for Foxhound 5.0.5516a
Table of Contents [RisingRoad]
search engine by freefind | advanced |
What's New in Foxhound 5
Windows Start Menu Running Foxhound as a Service Offline Foxhound Sampling Service (OFSS) 5. The Connection History Page
New Feature: The Foxhound purge process is now fast enough to keep up with database growth. Top
The Foxhound Purge has been completely rewritten to be faster and more aggressive in its approach to deleting old data.
New Feature: Connection Flags have been implemented to highlight connection-level performance issues. Top
Connection Flags are a lightweight mechanism for highlighting traits and behaviors that may be worth looking at.Flags are displayed in the connection sections of the Monitor, History and Connection History pages:
New Feature: "Active Alerts" drop-down list boxes have been added to the Monitor and History pages. Top
One or more Alerts may still be active even if they don't appear on the Monitor or History page.The new "Active Alerts" drop-down on the Monitor page shows which ones are still active, and it lets you click on them to open new History pages that are scrolled to those Alerts.
The "Active Alerts" drop-down on the History page shows which ones were still active when the top most row in the "Samples and Messages" section was recorded, and it lets you click on them to scroll the current History page to those Alerts.
New Feature: SQL Anywhere server messages are stored and displayed on the Monitor and History pages. Top
Foxhound now gathers and stores the data returned by the sa_server_messages() stored procedure, and displays the messages on the Monitor and Sample History pages.You can now code adhoc queries to merge server messages with Foxhound Alerts and display them all in date/time order; here's an example.
New Feature: The Offline Foxhound Sampling Service (OFSS) has been added. Top
The Offline Foxhound Sampling Service (OFSS) provides an alternative method for Foxhound to gather and display performance statistics from a subject database when Foxhound cannot establish a direct client server connection to that database.
New Feature: The Mini-Backup process automatically backs up recent changes to Foxhound options and settings. Top
The Mini-Backup process automatically protects your "intellectual property" by backing up all the changes you make to Foxhound options and settings:
- A new Mini-Backup file is automatically created by Foxhound shortly after you make any changes to the activation, options and settings tables.
- Mini-Backup files are small... they are tiny when compared with a full backup of the Foxhound database... they don't take long to create, and they don't take long to restore.
- Old Mini-Backup files are automatically deleted when new files are created.
New Feature: The Mini-Restore process restores your Foxhound options and settings from a Mini-Backup file into an empty copy of foxhound5.db. Top
Only a Full Backup will protect your Foxhound sample data, but if all you care about is your "intellectual property" (the Foxhound options and settings) then restoring from a Mini-Backup file is all you need.For more information see the Mini-Restore process.
The good news is, you don't have to do anything to create Mini-Backup files, they're created automatically every time you change something.
All you have to do is pick which Mini-Backup file to restore from; the Mini-Restore will then
- stop and rename the current foxhound5.db file (which you can delete later on),
- create an empty foxhound5.db file that uses much less space,
- restore all your Foxhound options and settings (which is why it's called "Mini-Restore"), and
- restart all your Monitor sampling sessions that were running.
New Feature: Context-sensitive Gear links have been added to Alert and other messages. Top
Gearlinks go to where you can change settings, as opposed to Help
links that go to where you read about them.
New Feature: The ADHOC user id can create procedures, functions, tables, indexes and views. Top
If you like running adhoc queries on the Foxhound database, you'll love being able to CREATE your own procedures... and tables, and views, and functions.For more information see What kind of adhoc queries can I write?
New Feature: The new Administrator Authentication feature implements "Read-Only" versus "Administrator" modes for the Foxhound GUI. Top
Administrator Authentication is an optional feature that enables two modes of operation:
- Read-Only mode allows multiple web browser users to see all the data, options and settings but not change any of the options and settings.
- Administrator mode allows one web browser user at a time to provide a Foxhound GUI user id and password to gain update access to those options and settings.
For more information see the Introduction to Administrator Authentication.
New Feature: The Attach files to emails: checkbox has been added to Email Setup section of the Monitor Options page. Top
HTML sample data can now be sent via email attachments to people who don't have direct access to Foxhound.For more information see Email Setup.
Enhancement: Alert #30 Database read-only and Alert #31 Database updatable are automatically cleared after a specified interval. Top
Previously, Alert #30 Database read-only and Alert #31 Database updatable were less-than-useful for the following reason:Once an Alert #30 Database read-only was issued it remained in effect until the database switched back to accepting updates, at which point Alert #31 Database updatable was issued, and vice versa.In other words, once one of these alerts was issued, one or the other would be in effect forever.
This behavior has been changed by the introduction of limits (by default 10 samples) on how long each of these Alerts remains in effect before an All Clear is issued.
Enhancement: LIKE wildcard characters are allowed in the Do-Not-AutoDrop Connection Name List. Top
Here's how the AutoDrop wildcards work on some actual connection names:
FINCEN%; AnaDarko%Analysis; Hello\_World Actual Connection Name autodrop? ------------------------- --------------- app OK to autodrop FINCEN047 do NOT autodrop AnaDarko 254 Analysis do NOT autodrop Hello_World do NOT autodrop Hello1World OK to autodropSee Monitor Options - Do-Not-AutoDrop Connection Name List.
Enhancement: Foxhound now keeps track of the cumulative total transaction running time for each connection. Top
A new column Total Transaction Time has been added to the connection sections of the Monitor, Sample History and Connection History pages.
Enhancement: Conn Flags Count columns have been added to the Monitor, History, Connection History and Foxhound Menu pages. Top
The number of connection flags set for each connection is shown on the connections sections of the Monitor, History and Connection History pages.The total for all connections is also shown on the Monitor, History and Connection History pages, as well as on the Monitor tab of the Foxhound Menu.
Enhancement: AutoDrop Notice emails have been enhanced to show connection-level sample data for the dropped connections. Top
Some might call this a "bug fix" because an AutoDrop Notice is dedicated to a single connection so of course it should show data about that connection :)
Enhancement: The new adhoc CREATE VIEW active_alert_range shows exactly when an Alert was issued followed by the subsequent All Clear or Cancelled. Top
SELECT * FROM active_alert_range ORDER BY active_locator_number DESC;
Enhancement: Several new adhoc query examples have been added or updated in the Help. Top
See the whole list at Adhoc Queries - Examples of Adhoc Queries.
Enhancement: Intra-query parallelism has been enabled within some CPU-intensive Foxhound services that display sample data. Top
Previously intra-query parallelism was disabled for all internal Foxhound processes.That has been changed to improve Foxhound performance by allowing limited intra-query parallelism when the SQL Anywhere server running Foxhound is using 4 or more logical processors.
This only affects the Foxhound HTML services that query and display sample data on the Monitor, History and Connection History pages.
Enhancement: String de-duplication has reduced the size of the Foxhound database file. Top
Previously many duplicate LONG VARCHAR values would be stored in the sample_connection.LastStatement and LastPlanText columns when a complex query ran for a long time on a target database and was recorded in multiple Foxhound samples.A separate table has now been introduced to hold single copies of these LONG VARCHAR values, and the original columns have been changed to UNSIGNED INTEGER references to the new table.
Note that the Adhoc Query sample_connection view includes the string values via INNER JOIN clauses:
create VIEW sample_connection AS SELECT rroad_group_2_property_pivot.sampling_id, rroad_group_2_property_pivot.sample_set_number, -- PRIMARY KEY rroad_group_2_property_pivot.connection_number, -- PRIMARY KEY ... rroad_LastStatement.long_varchar AS LastStatement, rroad_LastPlanText.long_varchar AS LastPlanText, ... FROM rroad_group_2_property_pivot INNER JOIN ( SELECT * FROM rroad_long_varchar ) AS rroad_LastStatement ON rroad_LastStatement.long_varchar_id = rroad_group_2_property_pivot.LastStatement_id INNER JOIN ( SELECT * FROM rroad_long_varchar ) AS rroad_LastPlanText ON rroad_LastPlanText.long_varchar_id = rroad_group_2_property_pivot.LastPlanText_id ...The good news is, the string de-duplication process saves a lot of disk space (up to 45%) and doesn't add much overhead to the sampling process.
The bad news is, it can take a long time to upgrade large Foxhound Version 3 and 4 databases to Foxhound 5. If you don't need the old sample data, use FOXHOUND5UPGRADE=OPTIONS, yyyymmdd or nnn when upgrading.
Enhancement: Display performance of the History page has been improved. Top
Historically the menu section of the History page has had its share of performance problems.It's getting better, however, with query optimizations and the addition of a new index.
Enhancement: UNLOAD statements can now be used as part of the Adhoc Query feature. Top
The dbsrv17 -gl all option has been added to all command files that start the Foxhound database to allow UNLOAD statements on all adhoc query views.
UNLOAD SELECT * FROM alert TO 'c:\\temp\\alert.txt';Note that it was always possible for you to add dbsrv17 -gl yourself, so this change is a minor convenience... it's more of a revelation than an enhancement :)
For more information see What kind of adhoc queries can I write?.
Enhancement: Adhoc queries can now call the internal Foxhound function rroad_f_limit_string_length_with_ellipsis(). Top
This function strips some line break and tab characters and then limits the length of a character string by replacing excess characters with an ellipsis "..." in the center of the string or at the right end (the default).
SELECT rroad_f_limit_string_length_with_ellipsis ( 'The quick brown fox jumped over the lazy dog.', 20, 'center' ) AS limited; limited ---------------------- The quick...azy dog.For more information see Adhoc Functions.
Enhancement: Adhoc queries can now call the internal Foxhound function rroad_f_decimal_with_commas(). Top
This function inserts commas in large numbers, replaces zero with a dash, limits the precision of fractional numbers, reduces tiny fractions to zero, and returns the result as a string.Foxhound uses this function for some displayed values like Disk/Cache: Internal Index, Leaf, Table.
SELECT rroad_f_decimal_with_commas ( 123456789.12345 ) AS formatted; formatted '123,456,789'For more information see Adhoc Functions.
Enhancement: The size of the Foxhound transaction log is automatically limited by the dbsrv17 -m truncate log on checkpoint option. Top
This answers the Number One complaint about Foxhound: "The transaction log is too big!".The bad news is, it comes with a Behavior Change: The transaction log is no longer available for restoring recent changes after restoring an old database backup.
The good news is, you can return to the previous backup behavior by removing the dbsrv17 -m option, and start running $backup_foxhound5_log.bat in the scripts subfolder.
For more information see Transaction Log Backup.
Enhancement: The Go to: field on the History page now allows two integers 9999,9 for scrolling directly to a server message row. Top
Server message rows require two numbers to identify them in the Go to: field: the sample_set_number (locator_number) and the server_message.insert_order value.When a server message appears at the top of the Monitor or History page, the "inserted order" will appear as the third number in the list of Adhoc Reporting Primary Keys:
Samples and Messages [14,43562,3925] 10:18:33 AM -- I. Finished checkpoint of "ddd" (ddd. db) at Fri Jul 12 2019 10:18 Help (239ms)For more information see the Monitor Database Page - [9,9999,99] Adhoc Reporting Primary Keys.
Enhancement: Remote Consulting is supported by the unload_samples procedure and a Help topic describing how to use the script. Top
See Foxhound Introduction and Setup - Support and Consulting.
Enhancement: The Disposition and Fav? columns have been added to the Monitor dashboard. Top
The Monitor tab of the Foxhound Menu page has effectively become the "Monitor Dashboard" and now it has two new columns:Disposition, a condensed version of the Database Disposition string that appears on the Monitor and History pages.
Fav?, short for Favorable?, the three YYY / NNN settings appear on the Monitor and History pages:Primary - high availability updatable primary database Secondary - high availability read-only secondary (mirror) database Copy - read-only scale-out copy database Read-only - read-only empty - none of the above; updatable or unknown
Y/N - RememberLastPlan to display Last Plan Text values, Y/N - RememberLastStatement to display Last Statement and Blocked Statement values, and Y/N - RequestTiming to display Throughput... Req, Waiting Time and Busy, Wait, Idle values.
Enhancement: Adhoc queries can now merge and display alerts and server messages from multiple High Availability target databases. Top
SQL Anywhere server messages contain a wealth of diagnostic information about High Availability databases, and Foxhound now captures and stores those messages via calls to sa_server_messages().You can now code adhoc queries to merge server messages with Foxhound Alerts and display them all in date/time order; here's an example.
Enhancement: Context-sensitive Help links have been added to Alert and other messages. Top
These newHelp links take you directly to the corresponding Alert, Server Message and Connection Flag topics in various Foxhound Help pages.
Enhancement: Diagnosis of email errors has been improved. Top
Previously, the Foxhound documentation incorrectly described email status codes according to the SQL Anywhere 11 documentation.That has changed to use the SQL Anywhere 17 Help topic "Status codes for MAPI and SMTP system procedures".
Also, the extended error diagnostic procedures xp_get_mail_error_code() and xp_get_mail_error_text() are called for all status codes, not just the ones the Help says are applicable.
For more information see the Send Test Alert Email button.
Enhancement: Context-sensitive Help links have been added to Monitor Messages like "Database server not found". Top
These newlinks have been added to messages displayed on the Monitor and History pages, and they take you to individual Monitor Messages descriptions in the Help.
Enhancement: A procedure to recalculate the connection flags can be run via ISQL. Top
The rroad_recalculate_flags procedure was a last-minute addition to Foxhound Version 5. It lets you change the Connection Flag Settings on the Monitor Options page and then put those settings into effect for all the samples that have already been gathered.For more information see Recalculate Connection Flags.
Enhancement: A procedure to recalculate the "Peaks since" row can be run via ISQL. Top
Have you ever regretted clicking on Reset Peaks?If so, you'll love the rroad_recalculate_peaks() procedure; see Recalculate Peaks.
Usability Improvement: Caution notes have been added to the Help for server-level statistics. Top
Several performance statistics shown at the target database level are actually accumulated at the SQL Anywhere server level: Active Req, Max Req, Unsch Req, CPU time, processor count and Cache Panics.For example, an idle database may show high CPU usage because some other database on the same server is busy.
Because this can cause confusion, Caution: notes now state that these "values may appear inflated if there is more than one database running on the same SQL Anywhere server".
Usability Improvement: Most internal Foxhound exception handlers no longer record SQLSTATE 00000 and 57014 exceptions. Top
SQLSTATE 00000 means "No error or warning" and 57014 means "Statement interrupted by user".Neither of these exceptions have any diagnostic value so they are no longer displayed in section 7 Diagnostics of the Foxhound Options page.
Usability Improvement: Most internal Foxhound exception handlers now check SQLSTATE rather than ERRORMSG. Top
Several of Foxhound's internal exception handlers have been changed to check the language-independent SQLSTATE value rather than the ERRORMSG() function.One exception is SQLSTATE WO005 which is a catch-all code that encompasses many different remote server errors, some of which should be ignored and others that should not.
In this case the corresponding ERRORMSG() value is checked against English values "Server [name]:[error]" to determine if the exception should be ignored.This only works properly for English-language target servers; for other targets all WO005 exceptions will be displayed in section 7 Diagnostics of the Foxhound Options page.
Usability Improvement: A new warning is displayed when Force Default Settings On All Targets will turn Ping-Only Sampling off. Top
Pressing the Force Default Settings button on may have unintended consequences for certain target databases.For example, Foxhound can't perform full sampling for a High Availability arbiter server that doesn't have a database, so it will issue an Alert #1 Database unavailable even though the arbiter server is OK.For this reason a new banner warning is displayed on the Monitor Options page "This action will turn Ping-Only Sampling off for 1 target database. (see 16. Ping Settings)."
Usability Improvement: Many improvements have been made to Performance Tips in Help topics. Top
The Performance Tips are how Foxhound provides free performance and tuning advice, and they're getting better with each new version.
Usability Improvement: AutoDropped connection messages on the Monitor and History pages now contain links to Connection History pages for those connections. Top
The first question anyone has about an AutoDropped message is "What was the connection doing?".
Usability Improvement: The connection section on the Monitor or History page is no longer empty when an Alert or other message is displayed at the top of the samples section. Top
One of the earliest Foxhound design decisions was that the Top Sample section should show "the most recent successful sample" even if that sample is quite old.If you accept that decision, you will probably also accept this change to show the corresponding (also possibly quite old) connection data in the connections section at the bottom of the Monitor and History pages.
Usability Improvement: The same section titles are now used the Monitor and History pages: "Top Sample" and "Samples and Messages" Top
The Monitor and History pages are different, but that's no reason for the section titles to be artificially different.
Usability Improvement: The Status Area has been rearranged on the Monitor and History pages. Top
The optional GlobalDBID field has been moved down to the third line, underneath the Software: and DB File: versions, to make room for the new "Active Alerts:" drop down list box.The column titles "DBSpace Size Used Frags Avail File" have been underlined to match the formatting style used for other column titles
Usability Improvement: The timestamp at the top of the Connections section of the Monitor and History page is now a link to the History Page. Top
The data shown in the Top Sample and Connections sections of the Monitor and History pages might be out of date when compared with the rows shown in Samples and Messages; in fact, it might not even be visible in the Samples and Messages section.That can happen when the successful sample shown in the Top Sample section is followed chronologically by so many messages and unsuccessful samples (e.g., Database not found) that it doesn't appear on-screen in the Samples and Messages section.
The title of the Connections section "3 connections at 7:16:00 AM..." contains the timestamp of the successful sample, and it is now a link you can click on to open/scroll the History page so that sample appears at the top of the Samples and Messages section, as well as continuing to appear in the Top Sample and Connections sections.
Usability Improvement: Column titles are no longer suppressed in the Samples and Messages section if there are no successful samples to be displayed. Top
Previously, when the Samples and Messages section on the Monitor or History page was filled with messages (Alert #1, Sampling stopped, etc.), no column titles were displayed at all.The reasoning was this: If no successful samples are displayed, there's no need for the column titles because there are no data values in those columns.
The effect, however, was disconcerting: Suddenly the column titles would disappear, along with the section title "Samples and Messages".
This behavior has been eliminated; now, some of the column titles are always displayed.
Usability Improvement: Display clutter has been reduced by replacing table borders with line separators on the on the Monitor and History pages. Top
Previously, different sections of data on the Monitor, Sample History and Connection History pages were surrounded by black borders.These borders did not contribute to visual clarity, and they have been replaced by horizontal lines that are less intrusive.
Usability Improvement: A Help icon has been added to the "Top Sample Old Age" field on the Monitor and History pages. Top
Unlike other modern software products, everything displayed by Foxhound is described in the Help.Most display items also have their own context-sensitive
Help icons... and every item deserves one, especially items which don't have titles like this one.
Usability Improvement: Long Last Statement strings that don't contain line breaks are now wrapped so they don't make the browser page very wide. Top
Previously very long SQL statements in the Last Statement field on the History and Connection History pages caused display problems.In particular, if the statements didn't contain line breaks to force the text to wrap, the browser page would grow horizontally to accommodate the value.
This has been fixed by forcing the Last Statement value to wrap when it grows as wide as the other data on the page.
The same change has been made for the Last Plan Text field, for very long lines in the plan that are wider than the other data on the page.
Usability Improvement: A list of SQL statements that have checkpoint operations as a side-effect has been added to the Help topic for the Checkpoints column. Top
See the "Performance Tip: If you see an "storm" of checkpoint operations..." in this Help topic.
Usability Improvement: Zero heartbeat and sample time measurements are now displayed as dashes '-' instead of 0ms. Top
Zero response time values are significant; they should be easy to tell apart from non-zero values.
Usability Improvement: The suffix "(Connection String)" no longer clutters up the drop-down list boxes. Top
The suffix "(DSN)" indicates that an ODBC DSN is used by Foxhound to establish a connection, and "(offline)" indicates an OFSS subject database that doesn't have a direct connection from Foxhound at all.Previously, the suffix "(Connection String)" indicated that Foxhound used a named connection string entered on the String tab of the Foxhound Menu page, but that just cluttered up the display.
So now, if you don't see (DSN) or (offline) that means a connection string is being used.
Usability Improvement: The Back to Menu and New Menu links all go directly to the Monitor tab of the Foxhound Menu page if it's not empty. Top
Previously the Back to Menu and New Menu links on the Monitor, History and other pages would go to the DSN or String tabs on the Foxhound Menu page.However, after one or more Monitor sessions have been started most navigation involves the Monitor tab, not the DSN or String tabs, so that tab is now the default destination of Back to Menu and New Menu.
Usability Improvement: Two internal tables have been made public via adhoc views: alert_title and autodrop_title. Top
These "code tables" will may adhoc query results more readable.
SELECT * FROM alert_title ORDER BY alert_number; SELECT * FROM autodrop_title ORDER BY autodrop_number; alert_number alert_title ------------ ---------------------- 1 Database unresponsive 2 Long heartbeat ... autodrop_number autodrop_title --------------- ----------------- 1 Blocking others 2 Blocked by other ...
Usability Improvement: The sampling id has been added as a prefix in the drop-down lists of target databases. Top
The sampling id is useful when coding adhoc queries, and it can also be helpful when you're trying to keep track of many different but similarly-named target databases in Foxhound.
Usability Improvement: The Delete link on the Foxhound Menu page now asks for confirmation "Continue with Delete? OK / Cancel". Top
Generally speaking Foxhound doesn't nag you with endless "OK / Cancel" popups, but this is an important exception: it's just too easy to accidentally delete millions of samples by clicking on the wrong link.
Usability Improvement: Hypertext links have been changed to use blue text on a grey background with no underlining. Top
If you don't like this change, tell me what you do want to see.Except pink. Pink is never coming back :)
Usability Improvement: Column value highlighting has been changed to white-on-dark-grey for medium values and white-on-black for extreme values. Top
The previous combination (black-on-medium-grey was used for medium values, and white-on-black for extreme values) didn't look right, possibly because the foreground colors were different.Now, the foreground color is the same (white, for "this is a highlighted value") and the background color changes (medium grey for "this is a medium value" versus black for "this is an extreme value").
Note that shades of light grey are reserved for row and menu item highlighting.
Usability Improvement: The About page now displays a list of the patches that have been applied. Top
Previously you had to run an adhoc query to see which patches (if any) had been applied to your copy of Foxhound; now you just have to open the About page.
Usability Improvement: Banner warnings are displayed when the Do-Not-AutoDrop lists are filled in but not enabled. Top
Banner warnings are displayed in the Do-Not-AutoDrop Lists section of the Monitor Options page whenever the lists are filled in but not checked as enabled:
This Do-Not-AutoDrop User Id List has not been enabled so it will not have any effect.This Do-Not-AutoDrop Connection Name List has not been enabled so it will not have any effect.
Usability Improvement: PRIMARY KEY comments have been added to Adhoc CREATE VIEW definitions. Top
Previously the Adhoc Schema view definitions showed all the column names and data types, but if you wanted to see the primary keys you had find the base table.New "-- PRIMARY KEY" comments have now been added next to the FROM clauses in the CREATE VIEW statements, like this:
-- CREATE VIEW dba.alert ( -- alert_occurrence, -- UNSIGNED BIGINT -- sampling_id, -- UNSIGNED INT -- sample_set_number, -- UNSIGNED BIGINT -- alert_number, -- INTEGER -- alert_in_effect_at, -- TIMESTAMP -- alert_description, -- LONG VARCHAR -- email_status, -- LONG VARCHAR -- alert_is_clear_or_cancelled ) -- VARCHAR ( 1 ) create VIEW alert AS SELECT * FROM rroad_alert -- PRIMARY KEY ( alert_occurrence ) ;
Usability Improvement: Separate "Help" links have been (re-)added to all the menus. Top
Once upon a time all the menus had a Help link to the Table of Contents.For some reason, those links were removed, so the only way to reach the Table of Contents was to click on one of the context-sensitive
icons to open the Help frame, and then click on Table of Contents.
Time passes . . . the Foxhound Help has become a book about performance and tuning, and
links aren't always what you need.
Sometimes you want to read about other subjects entirely, and for that you need the Table of Contents.
So . . . the Help links are back on all the menus.
Usability Improvement: Email failures are no longer recorded as "Info: Email failed:" exceptions. Top
Now that well-documented email failure messages are displayed on the Monitor and History pages, there is no longer a need for "Info: Email failed:" exceptions in the Diagnostics section of the Foxhound Options page.
Usability Improvement: The Alert 2 Long heartbeat minimum threshold has been reduced from 100ms to 1ms. Top
The default value is still 1s, which makes sense as a default... but there's no reason to forbid any value smaller than 100ms.To put it another way, Foxhound ain't your nanny :)
Usability Improvement: The ODBC Administrator button is disabled when Foxhound is running as a service. Top
Previously, the ODBC Administrator button could be pressed but it didn't do anything if Foxhound was running as a service.
(It's a Windows thing: the ODBC Administrator is not allowed to display a GUI when it is run by a service.)The ODBC Administrator button is now disabled when Foxhound is running as a service.
Usability Improvement: Long ASACIS connection names are abbreviated with embedded ellipsis ... characters. Top
This helps keep the connection sections from growing too wide:
Full Connection Names Abbreviations --------------------------------------------- --------------------- ASACIS_574694a664844efca19f15175018a043_45770 ASACIS_57469..._45770 ASACIS_1e12b0c8deda4692ae97a27972122008_14981 ASACIS_1e12b..._14981
Usability Improvement: The Idle Conns and Max Req columns are no longer highlighted on the Monitor and other pages. Top
High values of Idle Conns and Max Req do not directly represent or contribute to performance bottlenecks, so they are no long color highlighted with white-on-dark-grey or white-on-black.
Usability Improvement: Some "Performance Tip:" labels in the Help have been changed to "Administrative Tip:". Top
There's a big difference between database performance (latency, throughput, CPU usage, etc) and your performance (debugging, ease of use, best practices, etc).The Foxhound Help contains many tips on both subjects, and now they have their own labels: Performance Tip: versus Administrative Tip:
Usability Improvement: More "Save" buttons have been added to long sections the Monitor Options page. Top
It's hard enough to remember to "Click Save!", you shouldn't have to scroll up and down to find a Save button.
Usability Improvement: The Google custom search engine (CSE) has been replaced by the FreeFind.com search service. Top
The Google CSE was difficult to maintain and it never worked very well.
Usability Improvement: The About page now shows the Foxhound SERVER name as well as the DBFOLDER to help tell multiple Foxhound engines apart. Top
Foxhound database folder (DBFOLDER): C:\ProgramData\RisingRoad\Foxhound5 Foxhound server name (SERVER): foxhound5
Usability Improvement: All Foxhound pages now display the current timestamp plus the Foxhound version. Top
This stuff helps when screenshots are used for documentation and troubleshooting.
Usability Improvement: The message "Duplicate Foxhound sampling sessions" is not displayed for HA primary and secondary (mirror) servers. Top
It is a frequent practice to have separate Foxhound sampling sessions for up to 5 servers in a basic High Availability setup: arbiter, partner 1, partner 2, primary and secondary (mirror).Previously, the Monitor pages for four of those targets would display this banner message:
Duplicate Foxhound sampling sessions. There is more than one Foxhound connection to this target database.Thant message is now suppressed if the database disposition contains either of these substrings:
Updatable primary database.
Read-only secondary (mirror) database.The reason is, it's probably not a mistake to monitor pairs of HA servers (partner and primary, partner and secondary) that share the same target databases.
Usability Improvement: Adhoc query examples are arranged alphabetically by title. Top
For more information see Examples of Adhoc Queries.
Usability Improvement: The HTML page TITLEs now start with the sampling id to make it clear which browser tab is showing which target database. Top
Here's the format now used:
[ID] - [Target Database] [(DSN)] - Monitor Database - Foxhound5 [ID] - [Target Database] [(DSN)] - Sample History - Foxhound5 [ID] - [Target Database] [(DSN)] - Connection History - Foxhound5 [ID] - [Target Database] [(DSN)] - Monitor Options - Foxhound5
Usability Improvement: Direct menu links to the Monitor and Sample History pages have been added to the Monitor Options page. Top
It's important to be able to navigate Foxhound with the fewest clicks possible.
Usability Improvement: A template for supporting HTTPS has been added to all the shortcut command files that start the Foxhound database. Top
These comments
REM For HTTPS protocol... REM -xs https(identity="C:\Users\Public\Documents\SQL Anywhere 17\Samples\Certificates\rsaserver.id";identity_password=test;port=443;maxsize=0;to=600;kto=600)^have been added to these command files
$start_foxhound5_default_browser.bat $start_foxhound5_default_browser_debug.bat $start_foxhound5_engine.bat
Usability Improvement: Patches are stored in the database to be automatically re-applied when the setup is re-executed. Top
When you install one or more patches to a particular build of Foxhound, those patches are stored in the database as well as being applied.Later, if you re-run the setup to reinstall the same build of Foxhound, those patches are automatically re-applied as part of the post-setup process; you don't have find the patch files or restart Foxhound to apply them.
Note that each patch can only be applied (and re-applied) to the exact same Foxhound build for which the patch was provided.
Behavior Change: To avoid conflicts the Starting Multiple Copies of Foxhound port numbers 49xxx have been changed to 50xxx. Top
Previously the HTTP port number range 49xxx suggested by the Starting Multiple Copies of Foxhound Help topic could cause conflicts with other processes. The suggested range has been changed to 50xxx.
Behavior Change: The "Purge uninteresting connection data" feature has been removed. Top
This feature was omitted when the Foxhound Purge process was completely rewritten.The Purge process is no longer able to delete some connection-level sample data without deleting the entire sample; i.e. all the connection, database and server-level data.
Behavior Change: The Purge process no longer forces extra checkpoints while it is running. Top
This feature was omitted when the Foxhound Purge process was completely rewritten.Because of this change, up-to-date Before/After/Change row count values could no longer be displayed in the Purge Run Report, and they have been replaced by the Rows Deleted column.
Behavior Change: Some sample Foxhound scripts have been moved to a separate scripts subfolder. Top
The new C:\ProgramData\RisingRoad\Foxhound5\scripts subfolder now contains these files:$backup_foxhound5_log.bat $create_SQL_Anywhere_17_bin64_service.bat $run_most_recent_mini_restore.bat OFSS_1_setup.sql OFSS_2_run_the_OFSS_monitor.sql OFSS_3_load_OFSS_batches_into_Foxhound.sql
Behavior Change: Schema changes have been made to the views used for adhoc queries. Top
To see all the changes, go to Adhoc Views and click on "(Show The Changes Made To Adhoc Views In Foxhound 5)".
Behavior Change: By default the Purge process starts once an hour, on the hour. Top
Is this a Behavior Change, or a New Feature? . . .Previously, the purge process ran every 20 minutes, or not at all.
Now, there's a 24 x 7 schedule under your control, with the default set to run the purge every hour on the hour.
Behavior Change: Only generated OFSS connection string names are allowed to end with "(offline)". Top
Foxhound now uses the trailing substring "(offline)" to identify OFSS connection strings, so you can't name your own connection strings that way.For more information see OFSS Connection String Names.
Behavior Change: The new inserted_order column now appears in the list of Adhoc Reporting Primary Keys associated with a server message. Top
When a server message appears at the top of the Monitor or History page, the "inserted order" will appear as the third number in the list of Adhoc Reporting Primary Keys:
Samples and Messages [14,43562,3925] 10:18:33 AM -- I. Finished checkpoint of "ddd" (ddd. db) at Fri Jul 12 2019 10:18 Help (239ms)For more information see the Monitor Database Page - [9,9999,99] Adhoc Reporting Primary Keys.
Behavior Change: The purge process no longer puts "Older samples purged at" eyecatcher messages in the Sample History page. Top
This feature was omitted when the Foxhound Purge process was completely rewritten.
Behavior Change: Foxhound no longer requires a non-authenticated (non-OEM) copy of SQL Anywhere to run its own database. Top
Foxhound no longer displays this error message: Foxhound itself cannot be run using the OEM or AUTHENTICATED editions of SQL Anywhere.
Behavior Change: Historical diagnostic exception data is no longer copied from an old Foxhound database to a new one. Top
Old exception data has sometimes been confusing, but never helpful, when displayed by the Diagnostics section of the Foxhound Options page.This change applies to both the Mini-Restore process and to the Foxhound setup process when you are upgrading to a new version or build or re-installing the same build.
It does not apply to a full database restore; old diagnostic data is restored along with everything else.
Behavior Change: The Purge process may now delete all samples from a stopped sampling session. Top
Previously, if the Foxhound Options - Purge "after [nnn] days" setting included all the remaining samples for a sample session (i.e., the sample session was stopped more than [nnn] days ago), the Purge process would automatically preserve a few of the most recent samples.The Foxhound Purge process has been streamlined, and it will now delete all the samples from a session that was stopped more than [nnn] days ago.
Behavior Change: The transaction log is no longer available for restoring recent changes after restoring an old database backup. Top
This is a side-effect of an Enhancement: The size of the Foxhound transaction log is automatically limited by the dbsrv17 -m truncate log on checkpoint option.The good news is, you can return to the previous backup behavior by removing the dbsrv17 -m option, and start running $backup_foxhound5_log.bat in the scripts subfolder.
For more information see Transaction Log Backup.
Behavior Change: All the "demo" ODBC connection strings on the Foxhound Menu page now specify DRIVER=SQL Anywhere Native. Top
This may or may not be an example of "best practices" because DRIVER=SQL Anywhere Native doesn't always work properly.In particular, when connecting to a target database running on an earlier and/or 32-bit version of SQL Anywhere, you might have better luck with an explicit setting like SQL Anywhere 16.
Behavior Change: ADHOC / SQL are now the credentials for displaying the Adhoc Schema database. Top
The Adhoc Schema database is a separate SQL Anywhere database delivered with Foxhound for documentation purposes only.For more information see How do I see the schema for adhoc reporting?
Previously the login credentials were DBA / SQL, but since there's no reason for a documentation reader to have DBA privileges, the login credentials have been changed to ADHOC / SQL.
Behavior Change: Several additions and changes have been made to the Foxhound Requirements. Top
Here are all the Requirements with the changes highlighted and explained:1. Windows - Foxhound works with target databases running on other operating systems but the Foxhound engine itself only runs on Windows, and has been tested on the 64-bit version of Microsoft Windows 10.
Foxhound is no longer being tested on Windows versions earlier than 10.2. ODBC - Foxhound itself uses ODBC to connect to your target databases. You don't necessarily need ODBC installed on the servers running your target databases, and you can specify DSN-less connections for Foxhound by using the "String" tab on the main menu page.
3. Chrome, Firefox - The Foxhound client has been tested with the latest versions of Chrome and Firefox.
Foxhound is no longer being tested on IE.4. JavaScript - Foxhound needs "JavaScript" or "Active scripting" to be enabled in your browser.
5. SQL Anywhere 6, 7, 8, 9, 10, 11, 12, 16 and 17 for target databases - Foxhound has also been tested with target databases created with SQL Anywhere 5.5 and running on SQL Anywhere 6 software.
6. SQL Anywhere 17 for Foxhound - The Foxhound database must run on its own instance of the 32-bit or 64-bit SQL Anywhere 17 network server build 4882 or later. This restriction does NOT apply to your target databases which can run on any version of SQL Anywhere 6, 7, 8, 9, 10, 11, 12, 16 and 17.
Two changes have been made to this requirement...
The Foxhound's own database now requires SQL Anywhere 17 build 4882 or later.
Foxhound no longer runs on SQL Anywhere 16, and the SQLANY16 and FOXHOUND5SVER environment variables are no longer used by the Foxhound shortcuts.This change was made for several reasons:
- SQL Anywhere 17 is now stable and mature.
- SAP has stopped mainstream maintenance of SQL Anywhere 16.
- The new features and performance improvements in SQL Anywhere 17 are now being used inside Foxhound.
- The number of Foxhound runtime environments has been cut from four to two (32-bit and 64-bit version 17 only).
The Foxhound database only runs on its own instance of dbsrv17.exe.
This statement has always been true, but it is now clearly documented in the Foxhound Requirements.In particular, do not start another database on the same engine as Foxhound, and do not start the Foxhound database on an engine that is already running another database.
7. SQLANY17 - The delivered Foxhound shortcuts expect that the SQLANY17 environment variable will be created by the SQL Anywhere 17 installation (which will happen by default). If that is not the case you may have to modify the corresponding *.bat files. Here is the default setting for Windows 10:
SET SQLANY17=C:\Program Files\SQL Anywhere 17
The SQLANY16 environment variable is no longer used by Foxhound.Foxhound is no longer being tested on Windows versions earlier than 10.
8. FOXHOUND5 - The FOXHOUND5 environment variable is created by the Foxhound installation to contain the drive and path of the folder where Foxhound is installed. It is no longer required by the delivered Windows shortcuts or by any of the code inside Foxhound. It is used by several of the optional Windows command files in the scripts subfolder, and by the $post_setup.bat file which is launched by the Foxhound installation process. Here is the default setting for Windows 10:
SET FOXHOUND5=C:\ProgramData\RisingRoad\Foxhound5\
FOXHOUND5 replaces FOXHOUND4 as the environment variable created by the Foxhound 5 setup, and it is no longer required.Foxhound is no longer being tested on Windows versions earlier than 10.
9. Disk space - The Foxhound database file may grow in size at a rate of 100K per hour per target database connection... or more; your mileage may vary.
In this case, Foxhound behavior hasn't changed but this description has been improved.10. OFSS - The Offline Foxhound Sampling Service (OFSS) is only supported for subject databases running on SQL Anywhere versions 12, 16 and 17.
OFSS is a new feature in Foxhound 5, and this requirement is simply a statement of where it works and doesn't work.11. Data Upgrade - The Foxhound 5 installation process will copy and upgrade the data from an existing Foxhound Version 3, 4 or 5 database, but it will ignore a Version 1 or 2 database.
If you install Foxhound 5 on a computer that already has a copy of Foxhound 1 or 2, that earlier copy will be ignored and the Foxhound 5 setup will create a "fresh installation" (no sampling sessions or other user-specified options and settings).If you really want to upgrade your Foxhound 1 or 2 database to Foxhound 5, you can first upgrade it to Foxhound 3 or 4 and from there to Foxhound 5; contact breck.carter@gmail.com to get a free copy of Foxhound 4.
Behavior Change: The Start menu for Foxhound5 has been rearranged into a simple numbered list. Top
Here's the New Look compared with the Old Look...
Foxhound 5 Foxhound 4 ============================== =========================================== 1 Start Foxhound Start Foxhound via default browser 2 Adhoc Query via ISQL Adhoc Query Foxhound Database via ISQL 3 Backup Database Backup Foxhound Database - Backup Foxhound Transaction Log [moved to scripts subfolder] 4 Help Help - ReadMe [removed] 5 FAQ [new] - - Start Foxhound via Chrome [removed] - Start Foxhound via Firefox [removed] - Start Foxhound via IE [removed] 6 Debug Start Foxhound Start Foxhound via default browser - debug - Start Foxhound via Chrome - debug [removed] - Start Foxhound via Firefox - debug [removed] - Start Foxhound via IE - debug [removed] 7 Start Foxhound Engine Start Foxhound Engine 8 Stop Foxhound Engine Stop Foxhound Engine 9 Mini-Restore [new] - 10 Unsetup Foxhound Unsetup Foxhound 11 Admin Update via ISQL [new] -
Behavior Change: The Use Extreme Settings button no longer affects any AutoDrop settings. Top
The Use Extreme Settings button on the Monitor Options window is intended for experimentation and training purposes, and it works by changing most settings to "aggressive" values that have highly visible results.However, some settings are too dangerous to change without explicit user involvement... and that now includes anything to do with AutoDrop.
Therefore, the following settings on the Monitor Options page are now unaffected by the Use Extreme Settings button:
12. AutoDrop Criteria AutoDrop #1 enabled: and threshold settings - unaffected AutoDrop #2 enabled: and threshold settings - unaffected AutoDrop #3 enabled: and threshold settings - unaffected AutoDrop #4 enabled: and threshold settings - unaffected AutoDrop #5 enabled: and threshold settings - unaffected AutoDrop #6 enabled: and threshold settings - unaffected 13. Do-Not-AutoDrop Lists Do-Not-AutoDrop User Id List enabled: - unaffected Exclude this semicolon-separated list of user ids from being AutoDropped: - unaffected Do-Not-AutoDrop Connection Name List enabled: - unaffected Exclude this semicolon-separated list of connection names from being AutoDropped: - unaffected
Behavior Change: The Stop Foxhound Engine button has been removed from the Foxhound Options page. Top
You can use the Windows shortcut Start - Foxhound5 - 8 Stop Foxhound Engine instead.
Behavior Change: The ADHOC user id cannot be used in SQL Central to connect to the Foxhound database. Top
You can use ISQL but not SQL Central; that door has been closed.
Could not connect to the database. RAISERROR executed: SQL Central connections to the Foxhound database by user id "ADHOC" are not allowed. [SAP][ODBC Driver][SQL Anywhere]RAISERROR executed: SQL Central connections to the Foxhound database by user id "ADHOC" are not allowed.
Behavior Change: The purge process preserves "Purge Run Report" and "Diagnostics" data for at least one year. Top
The "Enable purging after [nnn] days" applies to everything except the purge_run, exception_diagnostic and exception_dump tables.Data in those tables is preserved for one year after which it is subject to the purge process.
For more information see the Foxhound Purge process.
Behavior Change: FOXHOUND5UPGRADE=yyyymmdd and nnn may preserve too many samples for multiple OFSS databases. Top
This really should have been a Bug Fix, but it's called a Behavior Change because the description reads "preserve" rather than "delete too many samples".It only affects offline (OFSS) databases where samples are gathered in batches, not target databases where samples are gathered by direct connections from Foxhound.
The effect is small: only a few (if any) OFSS samples are preserved by a database upgrade when they should have been excluded.
As a possible workaround, try running the Foxhound Purge process to delete the samples that should have been excluded by the FOXHOUND5UPGRADE=yyyymmdd or nnn option:
Foxhound Options - section 6. Purge - check Enable purging after [nnn] days - Start Manual Purge Now.
Behavior Change: HTML documentation for earlier Foxhound versions has been moved to bcarter.com. Top
In order to improve the performance of web searches, old material has been moved away from the main Foxhound domain name risingroad.com to a different domain bcarter.com.Links to those archival pages remain where they were: at the bottom of the Foxhound home page www.risingroad.com/foxhound/index.html.
Behavior Change: The SQL Anywhere user id 'foxhound1' has been replaced by ADMIN. Top
An earlier version of the Administrator Authentication feature was delivered in Foxhound 4 build 4740 patch 1.The Foxhound 4 build 4740 patch 1 SQL Anywhere user id 'foxhound1' does not exist in Foxhound5. It is replaced by the SQL Anywhere user id ADMIN with the default password SQL which can be changed but doesn't have to be.
The Foxhound4 build 4740 patch 1 current Login password is used as the password for the Foxhound GUI user id 'admin' in Foxhound5.
For more information see How To Configure Authentication.
Behavior Change: It may take a very long time to upgrade all the data in a very large Foxhound 3 or 4 database. Top
For example, a 20G Foxhound 4 database took almost 5 hours to upgrade when the default FOXHOUND5UPGRADE=ALL was used.Most of that time was required to retrofit two new features to the old data: string de-duplication to save disk space, and setting the connection flags:
2h 45m de-duplicate string values 1h 36m set connection flags 30m other tasks 4h 51m totalNote that string de-duplication and connection flags do not add much overhead to the sampling process, but they do take a lot of time when upgrading large databases.
If you don't need the old sample data, use FOXHOUND5UPGRADE=OPTIONS, yyyymmdd or nnn; for example:
****************************************************************** *** PLEASE READ THIS, AND CONFIRM OR CHANGE ********************** ****************************************************************** *** *** "FOXHOUND5UPGRADE" specifies how much data is to be upgraded. *** *** If you want to CHANGE the setting, type in a new value... *** ALL - upgrade all the data *** OPTIONS - no samples, just the Foxhound options *** yyyymmdd - options plus samples since yyyymmdd *** nnn - options plus last nnn days of samples *** NOTHING - don't upgrade any data *** and press Enter to continue. *** *** If you LIKE the current setting... *** FOXHOUND5UPGRADE=ALL which means upgrade all the data *** just press Enter. ****************************************************************** Current FOXHOUND5UPGRADE=ALL New FOXHOUND5UPGRADE=Jul 31 2015 12:00:07 AM
Behavior Change: The Foxhound database may contain a lot of free space after upgrading a very large Foxhound 3 or 4 database. Top
For example, a 20G Foxhound 4 database file stayed the same size but the free space grew from 15M to 6.3G because of string de-duplication.If you want to upgrade all your data without pre-allocating any free space, use FOXHOUND5UPGRADE=100000 instead of the default FOXHOUND5UPGRADE=ALL.
Behavior Change: The $MULTI* and $TEN_INSTANCES* sample command files have been replaced with DIY instructions. Top
Previously, two sets of sample command files were delivered with Foxhound to demonstrate the Starting Multiple Copies of Foxhound Help topic:
$MULTI_Step_1_copy_all.bat - Set up 30 Foxhound servers on one computer $MULTI_Step_1b_copy_one.bat $MULTI_Step_2_dbsrv16_all.bat $MULTI_Step_2b_dbsrv16_one.bat $MULTI_Step_3_browser_all.bat $MULTI_Step_3b_browser_one.bat $MULTI_Step_4_dbstop_all.bat $TEN_INSTANCES_1_copy.bat - Set up 10 Foxhound servers on one computer $TEN_INSTANCES_2_dbsrv.bat $TEN_INSTANCES_3_browser.bat $TEN_INSTANCES_4_dbstop.batOther changes, such as the new DBFOLDER and SERVER parameters and the new Mini-Backup feature have made it difficult to maintain the general-purpose nature of these sample files, and the result would be difficult to understand and customize.
Another disadvantage is these sample files didn't show how to set up Windows services.
Therefore, these scripts have been replaced by do-it-yourself instructions in the Starting Multiple Copies of Foxhound Help topic.
Bug Fix: The error "unable to load dll" has been eliminated. Top
Previously Foxhound would sometimes fail to start because it couldn't load either of the Windows API support DLLs.This has been fixed.
Bug Fix: The Display Schema page no longer displays "Value out of range for destination" for billion-row tables. Top
Previously a target table with over 1,000,000,000 rows would cause the Display Schema feature to fail with SQLCODE 158 Value nnn out of range for destination.This has been fixed.
Bug Fix: The Connection Timeout and Timeout Retry options have been removed to prevent unresponsiveness. Top
These features caused Foxhound to become unresponsive when the Database Monitor was unable to make a network connection to a target database.
Bug Fix: Ping-Only Sampling no longer causes Foxhound to become unresponsive. Top
Previously Foxhound could become unresponsive when Ping-Only Sampling was stopped and restarted, or when full sampling was incorrectly attempted for the utility database on an arbiter server.This has been fixed.
Bug Fix: Large Foxhound databases no longer become unresponsive on startup. Top
Previously slow queries could cause large Foxhound databases to become unresponsive on startup.This has been fixed.
Bug Fix: The patch process now skips files that don't have the matching build number in the file name. Top
Previously Foxhound would attempt to process any file named patch*.* on startup.This has been fixed.
Bug Fix: The phrase "server-level Conns Blocked" has been removed from the Help for the Rollback Log and Uncommitted columns. Top
There is no such statistic "server-level Conns Blocked" displayed by Foxhound.This has been fixed.
Bug Fix: Several connection-level properties are no longer set to zero when SPs: ..N is displayed. Top
Previously Foxhound would display several connection-level statistics as zero when it was unable to create or call the rroad_connection_properties procedure on the target database; i.e. when SPs: ..N was displayed on the Foxhound Monitor page.This has been fixed.
Bug Fix: The Foxhound Purge process no longer deletes too many ping_log rows. Top
Previously, when the Foxhound Purge process was deleting "orphan" rows for deleted sampling sessions, it may have also deleted ping_log rows belonging to sampling sessions that had not been deleted.This has been fixed.
Bug Fix: Alert and AutoDrop emails have been changed to display properly in HTML browsers. Top
The Foxhound Alert and AutoDrop emails have been completely redesigned and redeveloped to recognize the facts that HTML email bodies are not the same as HTML browser pages, and that Foxhound emails may be displayed on computers that don't have access to Foxhound.In particular, the HTML sent via email has been vastly simplified, with very little actually included the email bodies and the rest delivered as email attachments.
Bug Fix: Bad input no longer causes exceptions like "Cannot convert '0000-01-00 00:00:**.870136' to a timestamp" Top
Foxhound now bypasses individual invalid SQL Anywhere property values received from target databases, rather than raising exceptions and bypassing entire samples.
Bug Fix: HTML generated by Foxhound has been checked with validator.w3.org. Top
You might still find a few "impurities" in Foxhound HTML but it's a lot cleaner than it used to be.
Bug Fix: The "Active Alerts" links at the bottom of the Foxhound Menu - Monitor tab now go to the correct locations. Top
Previously, these "Active Alerts" links didn't go to the actual Alert entry.Instead, they went to the row immediately below (earlier than) the Alert entries, so you had to scroll up to see the Alerts.
This has been fixed.
Bug Fix: All misleading references to "temporary file usage" have been changed to "temporary space usage". Top
Even if there is no temporary file, as with an in-memory no write database, temporary space is allocated and used by the engine, and that's why these titles and descriptions had to change:Alert #21. Temp space usage. The total temporary space used by all connections has been [1G] or larger for [10] or more recent samples.
Alert #22. Conn space file usage. At least one single connection has used [512M] or more of temporary space during [10] or more recent samples.
AutoDrop #4. Temp space usage. Automatically drop each connection that uses [512M] or more of temporary space for [10] or more samples.
Bug Fix: Incorrect row ordering of the Monitor and History connection sections has been fixed. Top
Previously, the connection section sorting did not work properly for the following columns: Disk Reads, Disk Writes, Log Writes, Index Adds, Lookups and Full Index Comps.This has been fixed.
Bug Fix: Misleading error messages have been removed from the Foxhound shortcuts. Top
Previously the Start - Foxhound5 shortcuts sometimes displayed unnecessary error messages immediately followed by other messages telling you to ignore the first message, like this:Ping database failed -- Database server not found. *** Ignore "Ping database failed -- Database server not found."The underlying command files have now been changed to suppress both the error and "Ignore" messages:
Bug Fix: Incorrect GOTO statements and labels and other errors have been fixed in Foxhound command files. Top
Some bad code has been fixed in these files:
$adhoc_query_foxhound5.bat 2 Adhoc Query via ISQL $backup_foxhound5.bat 3 Backup Database $backup_foxhound5_log.bat [scripts subfolder]
Bug Fix: The activation error message "Unsupported edition name GA" has been suppressed. Top
Previously if something went awry during the Foxhound installation, the retry may have failed with this bogus error message:
Please provide the correct type of registration key. [Unsupported activation expected [Unsupported edition name GA]] was expected, but a New Basic Key was provided instead. If you purchased the wrong type of key, contact Breck.Carter@gmail.comThat error message has now been suppressed, and depending on what caused the first installation to fail, the retry may now work.
Bug Fix: A corrupted Previous back arrow image no longer appears on the connections section of the History page. Top
Up and down arrow images are now displayed on the Previous and Next links at the top of the connections section on the History page, instead of special left and right arrow text characters.
Bug Fix: Several adhoc query views now exclude zombie rows belonging to deleted sampling sessions. Top
Previously it was possible for five adhoc query views to select rows that belong to sampling sessions that no longer exist.For performance reasons, rows in five child tables are not immediately deleted when the parent rroad_sampling_options rows are deleted, but are left to the purge process to delete.
These "zombie" rows should be excluded from adhoc query views, and WHERE EXISTS predicates have been added for that purpose:
CREATE VIEW sample_detail AS SELECT * FROM rroad_group_1_property_pivot WHERE EXISTS ( SELECT * FROM rroad_sampling_options WHERE rroad_sampling_options.sampling_id = rroad_group_1_property_pivot.sampling_id ) -- only include rows in sample sessions that have not been deleted ;
Bug Fix: The Help description of how SQL Anywhere connection numbers are assigned has been fixed. Top
Previously the Help incorrectly stated that large connection numbers like 1000000065 were assigned to web services.The Help has now been corrected to read "Small consecutive numbers 1 through 999,999,999 are assigned to external client server connections and to web service (CREATE SERVICE) connections."
Bug Fix: The Foxhound Menu now displays Stop instead of Cancel when the status is Ping OK. Top
Previously, the Monitor column of the Monitor tab on the Foxhound Menu page displayed a "Cancel" button for a target database where sampling was enabled but the Status column was not "Sampling OK".That didn't work properly for ping-only databases where the Status column is displayed as "Ping OK"; that indicates sampling is running OK but the word Cancel implies sampling is failing to start.
That behavior has changed to display "Cancel" only if the Status column was neither "Sampling OK" nor "Ping OK".
In other words, that button is now displayed as "Stop" instead of "Cancel" if the Status column is "Ping OK".
Bug Fix: A better method is used to fill the alert.sample_set_number and other similar adhoc view columns. Top
Previously, the alert.sample_set_number column often didn't match any sample_detail row, so the [sample_detail columns] would be NULL in queries like this:
SELECT [alert columns], [sample_detail columns ] FROM alert LEFT OUTER JOIN sample_detail ON sample_detail.sample_set_number = alert.sample_set_number;A different technique is now used to set alert.sample_set_number to point to the most recent successful sample... if that can be determined.
The phrase "if that can be determined" means "this process doesn't always work"... but it usually does :)
This change has also been applied to the all_clear.sample_set_number and alert_cancelled.sample_set_number columns.
Bug Fix: The circular email setup links between the Monitor Options and Foxhound Options pages now preserve the target database context. Top
Previously, when the "See Foxhound Options" and "See Monitor Options" links were used to jump back and forth between the two options pages, you would end up on the [Default Settings] instead of the original [settings for a specific target database].This behavior encouraged mistakes to be made; i.e., you would start entering changes to the [Default Settings] instead of a specific target database.
This behavior has been changed so that, when possible, the sampling_id for the current target database is passed back and forth with the links.
Bug Fix: The current Monitor sampling id is included in all the menu links to the Foxhound Options and Monitor Options pages. Top
Previously, most of the Foxhound menu links to the Foxhound Options and Monitor Options pages implicitly or explicitly passed zero sampling_id values which means [Default Settings].This behavior encouraged mistakes to be made when the Monitor Options page is directly or indirectly reached; i.e., you would start entering changes to the [Default Settings] instead of a specific target database.
This behavior has been changed so that non-zero sampling_id values are explicitly passed by the Foxhound menu links to the Foxhound Options and Monitor Options pages.
Bug Fix: DEFAULT AUTOINCREMENT and GET_IDENTITY have been replaced by CREATE SEQUENCE and NEXTVAL for multiple tables. Top
Foxhound code relies on primary key values that are unique across several different tables.SQL Anywhere's DEFAULT AUTOINCREMENT and GET_IDENTITY features were never intended for that purpose, but that's what Foxhound used... and there have been problems including the dreaded SQLCODE -193 Primary key is not unique.
The CREATE SEQUENCE and NEXTVAL features are now used instead, and life is good :)
Bug Fix: HTML email lines are limited to 1000 characters including the CR and LF. Top
For more information see this section of the IETF Internet Message Format standard.
Bug Fix: The new DBFOLDER environment variable is used instead of FOXHOUND5 in some command file contexts. Top
This change was made to fix problems when Starting Multiple Copies of Foxhound.The following table shows which command files now use which environment variables:
%DBFOLDER% %SERVER% %FOXHOUND5% used? used? used? ------------------------------------------ ----- ----- ----- $backup_foxhound5.bat yes yes $mini_restore_foxhound5.bat yes yes $start_foxhound5_default_browser_debug.bat yes yes $start_foxhound5_default_browser.bat yes yes $start_foxhound5_engine.bat yes yes $stop_foxhound5_engine.bat yes scripts$backup_foxhound5_log.bat yes scripts\$run_most_recent_mini_restore.bat yes
Bug Fix: The new SERVER environment variable is used instead of the literal value 'foxhound5' in some command file contexts. Top
This change was made to fix problems when Starting Multiple Copies of Foxhound.The following table shows which command files now use which environment variables:
%DBFOLDER% %SERVER% %FOXHOUND5% used? used? used? ------------------------------------------ ----- ----- ----- $backup_foxhound5.bat yes yes $mini_restore_foxhound5.bat yes yes $start_foxhound5_default_browser_debug.bat yes yes $start_foxhound5_default_browser.bat yes yes $start_foxhound5_engine.bat yes yes $stop_foxhound5_engine.bat yes scripts$backup_foxhound5_log.bat yes scripts\$run_most_recent_mini_restore.bat yes
Bug Fix: Foxhound now uses DB_PROPERTY ( 'FILE' ) instead of xp_getenv ( 'FOXHOUND5' ) to determine where foxhound5.db is located. Top
This change was made to fix problems when Starting Multiple Copies of Foxhound.The following table shows which command files now use which environment variables:
%DBFOLDER% %SERVER% %FOXHOUND5% used? used? used? ------------------------------------------ ----- ----- ----- $backup_foxhound5.bat yes yes $mini_restore_foxhound5.bat yes yes $start_foxhound5_default_browser_debug.bat yes yes $start_foxhound5_default_browser.bat yes yes $start_foxhound5_engine.bat yes yes $stop_foxhound5_engine.bat yes scripts$backup_foxhound5_log.bat yes scripts\$run_most_recent_mini_restore.bat yes
Bug Fix: The Help no longer states that GRANT EXECUTE ON sa_disk_free_space is an alternative to GRANT MANAGE ANY DBSPACE. Top
See the following section in Connecting to Target Databases:
Target SQL Anywhere Version Symptom Reason Solution(s) 16 and later Foxhound doesn't display Foxhound is not GRANT MANAGE ANY DBSPACE anything in Free Disk allowed to call the TO FOXHOUND; Space Sys, Temp, Log, sa_disk_free_space() Other, and doesn't issue procedure on the Alerts 5, 6, 7 or 8 about target database. low disk space.
Bug Fix: The patch process can now handle a patch file larger than 999,999 bytes. Top
Once upon a time (true story!) the Foxhound 4 patch process had to be patched before big patch could be delivered :)
Bug Fix: A bogus persistent idle second Foxhound connection is ignored when checking for "Duplicate Foxhound sampling sessions". Top
When the Foxhound Administrator Authentication feature is enabled, and Administrator mode is in use, Foxhound may incorrectly open a persistent idle second connection to each target database.This behavior is caused by a flaw in SQL Anywhere related to the sa_set_http_option ( 'SessionID', [new_session_id] ) function call and FORWARD TO operations.
Foxhound tries to ignore this bogus connection when checking for "Duplicate Foxhound sampling sessions".
For more information see The Story Of Bogus Duplicate Connections.
Bug Fix: The String tab on the Foxhound Menu page no longer ignores whatever a Read-Only user selects in the "Choose a connection string:" dropdown. Top
The solution involved using the HTML INPUT READONLY attribute instead of DISABLED.
Bug Fix: The Name: and String: fields on the String tab of the Foxhound Menu page are no longer empty when displayed. Top
The String tab of the Foxhound Menu page must always display a value, even if that value is "-- Enter a name --".
Bug Fix: The sampling id is now displayed in the top line of the Connection History page. Top
The Connection History page doesn't display the target database in a drop-down list box because it makes no sense to switch from one target to another: Connections are specific to individual targets.However, that's no reason not to display the sampling id, especially when several different Connection History pages are displayed.
Bug Fix: The target database drop-down list box ORDER BY has been changed to name and sampling id. Top
The Monitor, Sample History and Monitor Options pages all display drop-down list boxes containing target database names.Previously, a DSN and a connection string with the same name would be displayed with the DSN first; e.g.,
2 - Inventory16 (DSN) 1 - Inventory16This has been changed to use the sampling id as the secondary ORDER BY value, after the name:
1 - Inventory16 2 - Inventory16 (DSN)
Bug Fix: Several changes have been made to an earlier version of the Administrator Authentication feature. Top
Previously, a patch to Foxhound Version 4 build 4740 implemented an earlier version of the Administrator Authentication feature.Here is an overview of the differences between the earlier version and the one included in Foxhound Version 5:
- The SQL Anywhere user id foxhound1 has been replaced with ADMIN.
- The ADMIN default password SQL can be changed, but that's optional; it no longer has to be changed on the first login.
- The Login window now requires a Foxhound GUI user id. This user id is new, and it is separate from the SQL Anywhere user id ADMIN.
- The rroad_administrator table has been split into two tables: rroad_administrator (user name and password) and rroad_authentication (all the other columns).
- These GUI items are now enabled in Read-Only mode:.
Foxhound Menu Monitor tab - Refresh Display Monitor tab - Disable Refresh Monitor tab - Enable Refresh Monitor Page Disable Refresh Enable Refresh
- These outstanding issues have been fixed:
3 Go to: appears enabled for Read-Only but isn't The Go to: feature of the Connection History page APPEARS to be enabled for Read-Only users but it doesn't work. There is no workaround. If Go to: is necessary for analyzing connection history, the Administrator will have to do that analysis. This feature requires an update to a Foxhound table that must not be updated by Read-Only users. Fix: The Go to: feature of the Connection History page no longer appears to be enabled for Read-Only users. 5 String tab ignores Read-Only choice The String tab of the Foxhound Menu page ignores whatever a Read-Only user selects in the "Choose a connection string:" dropdown. It should open the Monitor page to display the chosen target if it is already being sampled, or display an error message if there is no sampling session for that target. Fix: The String tab of the Foxhound Menu page no longer ignores whatever a Read-Only user selects in the "Choose a connection string:" dropdown. 7 Session id can't be set to NULL by foxhound1 Through a minor oversight, the SQL Anywhere foxhound1 user id is not allowed to UPDATE the rroad_administrator.session_id column. Setting this column to NULL is a simple way to centrally force a GUI Logoff on any browser session that is logged in. When combined in a single UPDATE that also changes the GUI password via the rroad_administrator.password_hash column, this would enable a way to deal with an evil-doer who has changed the GUI password via the Login popup window. However, since the foxhound1 user id IS allowed to change rroad_administrator.password_hash, changing session_id may not be important. Fix: A forced logout can now be done via UPDATE rroad_authentication SET session_id = NULL; 8 Refresh Display shouldn't be disabled in Read-Only mode Through a minor oversight, the Refresh Display button on the Foxhound Menu page is disabled in Read-Only mode. There's no reason for this, but the page is automatically refreshed every 10 seconds so that's a workaround: Just wait :) Fix: A Read-Only user can now use the Refresh Display, Disable Refresh and Enable Refresh buttons.
Bug Fix: The Monitor Options page allows complete control over the protocol (http, https) used in email bodies. Top
Foxhound now allows control over whether http:// or https:// is used in HTML URLs for links embedded in Alert, AutoDrop and other emails.If you don't provide an explicit value for the protocol on the Monitor Options page, Foxhound will choose a default based on what the browser is currently using, and this default is also displayed on the Monitor Options page.
For more information see Protocol://host:port for URLs in emails.
Bug Fix: The Monitor tab of the Foxhound Menu page only shows sample details when the Monitor Status is Sampling OK. Top
The sample details columns on the Foxhound dashboard are only useful for target databases that are being actively sampled. \\\\\ xxx \\\\\Previously, sample details from the most recent successful sample were shown even if those samples were very old, and even if sampling was turned off.
That has been changed to only display Flags, Heartbeat, Unsch Req, Conns, Blocked, CPU Time and Fav? values when the Monitor Status is Sampling OK.
Bug Fix: The Current Req Status is correctly set to Blocked by lock when the connection is blocked by a locked row. Top
Previously the connection-level Current Req Status value may have been set to Blocked by mutex instead of Blocked by lock when the blocking connection also held a mutex lock in addition to the row lock that caused the block.That has been fixed.
Bug Fix: The connection-level Throughput Req and Current Req Status are not displayed for SQL Anywhere 9 target databases. Top
That's because the ReqCountActive and ReqStatus connection properties aren't supported for SQL Anywhere 9
Bug Fix: The ReqTiming statistics are not displayed for SQL Anywhere 9 target databases. Top
That's because the ReqTime* connection properties aren't supported for SQL Anywhere 9:
Waiting Time, Busy, Wait, Idle ReqTimeActive ReqTimeBlockContention ReqTimeBlockIO ReqTimeBlockLock ReqTimeUnscheduled
Bug Fix: The BlockedOn, LockName, LockObjectOID, LockObjectType, LockRowID and LockTableOID values are no longer limited to 100,000,000. Top
Previously these BIGINT connection-level property values were set to zero if their input values were larger than 100,000,000.Larger input values are now being accepted as-is because these properties are identifiers, not measurements, and they should not be checked for invalid "out of range" values.
Bug Fix: The History page no longer displays a "SQL error" message when the sampling session no longer exists. Top
Previously, if you used the Foxhound menu page to delete a sampling session, then switched back to a stale History page showing that sampling session, you may have seen a SQL exception:
SQL error: Column 'selected_tab' in table 'rroad_session_options' cannot be NULLThe code's been changed to display this instead:
The requested Foxhound sampling session is no longer available, probably because it has been deleted. Click here to display the Foxhound main menu.
EBF 1: New FAQ: How do I move the Foxhound database to a different location? Top
See How do I move the Foxhound database to a different location?
EBF 1: Bug Fix: The Mini-Restore command files now properly handle missing foxhound5.db and foxhound5.log files. Top
Previously the Mini-Restore script would incorrectly stop with a "foxhound5.db not found" error even though that file is not required or even expected to exist:
$mini_restore_foxhound5.bat used by the shortcut Foxhound5 - 9 Mini-RestoreThis script has been fixed.
EBF 1: New FAQ: 9 Mini-Restore ... foxhound5.db not found Top
See Message: 9 Mini-Restore ... foxhound5.db not found
EBF 1: Bug Fix: Out of range property values are fixed by the Foxhound Monitor. Top
Previously, out of range PROPERTY(), DB_PROPERTY() and CONNECTION_PROPERTY() values received from a target database would prevent the Foxhound Monitor from recording a sample. When this happened, Foxhound would record an exception that could be displayed in the Diagnostics section of the Foxhound Options page:
17876 2020-04-03 15:09:34.464 Full Build 5432a 1000040434 204.w5(204eh-d2) SQLCODE = -158, SQLSTATE = 22003, ERRORMSG() = Value 18446744073709548295 out of range for destination [ddd] 17877 2020-04-03 15:09:44.585 Full Build 5432a 1000040434 204.q6(204eh-c4) SQLCODE = -158, SQLSTATE = 22003, ERRORMSG() = Value 18446744073709551612 out of range for destination [ddd] 17890 2020-04-03 15:11:53.007 Full Build 5432a 1000040434 204.k1(204eh-e3) SQLCODE = -158, SQLSTATE = 22003, ERRORMSG() = Value '18446744073709551615' out of range for destination [ddd]This has now been fixed; the Foxhound Monitor now fixes these out of range values by changing them to acceptable values; e.g., zero.
A separate bug fix ("Foxhound Monitor sampling stopped if CollectStatistics = No") prevents most "Value out of range for destination" errors; this bug fix takes care of anything else that slips through.
EBF 1: Bug Fix: Foxhound Monitor sampling stopped if CollectStatistics = No Top
Foxhound cannot collect performance statistics if the target server CollectStatistics feature is turned off.Previously, Foxhound would fail with a variety of error message; e.g., Value 18446744073709548295 out of range for destination.
Now, Foxhound stops sampling and displays these messages:
-- Foxhound requires target PROPERTY ( CollectStatistics ) = Yes; i.e., do not specify dbsrv -k - sampling stopped -- -- Foxhound requires target PROPERTY ( CollectStatistics ) = Yes; i.e., do not specify dbsrv -k - sampling stopped at --This can happen when the target server is started with the -k option, or when CALL sa_server_option ( 'CollectStatistics', 'NO' ) is executed on the target database.
If this problem was caused by starting the target server with the -k option, stop and restart the server without -k.
If this problem was caused by a CALL sa_server_option ( 'CollectStatistics', 'NO' ) on a target database, run a CALL sa_server_option ( 'CollectStatistics', 'YES' ).
Then click on Start Sampling on the Foxhound Monitor page.
EBF 1: Behavior Change: FOXHOUND5UPGRADE=ALL does not set connection flags when upgrading Foxhound 4 or earlier databases, to save time. Top
It takes a long time for all the samples in a large Foxhound 3 or 4 database to be upgraded to Version 5. There are two reasons for this: String de-duplication of existing Last Statement and Last Plan Text columns, and calculation of connection flags.The default FOXHOUND5UPGRADE=ALL option has been changed to suppress the calculation of connection flags for old databases.
If you want the connection flags to be calculated for old databases, either upgrade with the new FOXHOUND5UPGRADE=ALLPLUS setting, or call the rroad_recalculate_flags() procedure after upgrading (see this section in the Help: Adhoc Queries - Recalculate Connection Flags).
EBF 1: Behavior Change: FOXHOUND5UPGRADE=ALLPLUS required to set connection flags when upgrading Foxhound 4 or earlier databases. Top
It takes a long time for all the samples in a large Foxhound 3 or 4 database to be upgraded to Version 5. There are two reasons for this: String de-duplication of existing Last Statement and Last Plan Text columns, and calculation of connection flags.In order to save time, the default FOXHOUND5UPGRADE=ALL option has been changed to suppress the calculation of connection flags.
The FOXHOUND5UPGRADE=ALLPLUS option has been added to do everything that ALL did, plus calculate the connection flags for old samples.
You can also the rroad_recalculate_flags() procedure after upgrading (see this section in the Help: Adhoc Queries - Recalculate Connection Flags)
EBF 1: Behavior Change: An Info message is recorded for each out of range SQL Anywhere property value. Top
Each time an input SQL Anywhere property value is modified because it is out of range, an information diagnostic message is recorded to show the original value.This is done for the first 500 out of range values encountered during one connection to the target database. After that, the values are still modified but messages are not recorded to avoid message storms. To start recording messages again, stop and start sampling for that target database.
These messages can be displayed in Foxhound Options - Diagnostics section.
The property names are identified by the "call location ..." numbers, and those are listed in this FAQ entry.
532a call location ... Info: BIGINT property value "...' out of range ... to ... 532b call location ... Info: DECIMAL property value "...' out of range ... to ... 532c call location ... Info: UNSIGNED BIGINT property value "...' out of range ... to ...
EBF 1: New FAQ: 532a call location ... Error: BIGINT property value "...' out of range ... to ... Top
See 532a call location ... Error: BIGINT property value "...' out of range ... to ...
EBF 1: Bug Fix: All of the installed Foxhound Help files have been given the same file timestamp. Top
Previously some of the Help files installed by the Foxhound setup didn't have the same file timestamp as all the other installed files.This has been fixed so that all files installed by each Foxhound build have the same file timestamps.
EBF 1: Bug Fix: Repeated "Permission denied" messages suppressed when SPs: NNN. Top
Previously, when the Foxhound Monitor displayed "SPs: NNN" because it was not allowed to create three special procedures on the target database, Foxhound would keep trying (and failing) to create those procedures.Even though the Monitor was still able to connect to the target database and gather samples, it would record three separate diagnostic messages for each sample:
5 2020-05-08 15:00:50.540 Full Build 5432a 1000000092 701.e3(701eh3) Management of procedure rroad_engine_properties failed on ddd17_FOXHOUND: SQLCODE = -660, SQLSTATE = WO005, ERRORMSG() = Server 'p001': [SAP][ODBC Driver][SQL Anywhere]Permission denied: you do not have permission to use the "CREATE PROCEDURE" statement [1-ddd17_FOXHOUND] 6 2020-05-08 15:00:50.555 Full Build 5432a 1000000092 702.e3(702eh3) Management of procedure rroad_database_properties failed on ddd17_FOXHOUND: SQLCODE = -660, SQLSTATE = WO005, ERRORMSG() = Server 'p001': [SAP][ODBC Driver][SQL Anywhere]Permission denied: you do not have permission to use the "CREATE PROCEDURE" statement [1-ddd17_FOXHOUND] 7 2020-05-08 15:00:50.555 Full Build 5432a 1000000092 700.e3(700eh3) Management of procedure rroad_connection_properties failed on ddd17_FOXHOUND: SQLCODE = -660, SQLSTATE = WO005, ERRORMSG() = Server 'p001': [SAP][ODBC Driver][SQL Anywhere]Permission denied: you do not have permission to use the "CREATE PROCEDURE" statement [1-ddd17_FOXHOUND] 8 2020-05-08 15:01:00.138 Full Build 5432a 1000000092 701.e3(701eh3) Management of procedure rroad_engine_properties failed on ddd17_FOXHOUND: SQLCODE = -660, SQLSTATE = WO005, ERRORMSG() = Server 'p001': [SAP][ODBC Driver][SQL Anywhere]Permission denied: you do not have permission to use the "CREATE PROCEDURE" statement [1-ddd17_FOXHOUND] 9 2020-05-08 15:01:00.154 Full Build 5432a 1000000092 702.e3(702eh3) Management of procedure rroad_database_properties failed on ddd17_FOXHOUND: SQLCODE = -660, SQLSTATE = WO005, ERRORMSG() = Server 'p001': [SAP][ODBC Driver][SQL Anywhere]Permission denied: you do not have permission to use the "CREATE PROCEDURE" statement [1-ddd17_FOXHOUND] 10 2020-05-08 15:01:00.170 Full Build 5432a 1000000092 700.e3(700eh3) Management of procedure rroad_connection_properties failed on ddd17_FOXHOUND: SQLCODE = -660, SQLSTATE = WO005, ERRORMSG() = Server 'p001': [SAP][ODBC Driver][SQL Anywhere]Permission denied: you do not have permission to use the "CREATE PROCEDURE" statement [1-ddd17_FOXHOUND]This has been fixed so that Foxhound only tries to create the special procedures once for each connection to the target database; that suppresses the repeated "Permission denied" messages.
This fix has the unintended consequence of slower SPs: NNN performance even after permission is granted for Foxhound to create the procedures. The workaround is to stop and restart sampling for that target database; that forces Foxhound to start a new connection and subsequently create the procedures.
EBF 1: Behavior Change: Empty or missing numeric performance statistics set to zero instead of NULL in sample_detail rows for successful samples. Top
Previously several numeric performance statistics in the sample_detail table could be set to NULL when values could not be calculated. For example, sample_detail.interval_msec could be set to NULL for the first successful sample after sampling was stopped and restarted because no immediately previous successful sample existed to support the calculation of an interval.This behavior has been changed to use zero values as part of an ongoing refactoring process to eliminate NULL values in successful Foxhound performance statistics.
EBF 1: Bug Fix: OFSS CPU statistics are correctly adjusted for connections making heavy use of intra-query parallelism. Top
SQL Anywhere does not return meaningful CPU usage properties for parent and child connections making heavy use of intra-query parallelism. In particular, each child connection is assigned the total CPU usage for all child connections while the parent connection is assigned zero.Previously the connection-level intra-query parallelism CPU usage statistics were adjusted for direct Foxhound target databases so the displayed amounts made sense, but a different (and incorrect) method was used for OFSS subject databases.
This has been fixed to use the same adjustments for Foxhound target and OFSS subject databases.
EBF 1: Bug Fix: Monitor sample calculations for OFSS subject databases changed to agree with direct Foxhound target databases. Top
Previously there were significant errors in the way sample calculations were performed for offline (OFSS) subject databases.This has been fixed to use the same calculations for OFSS subject and Foxhound target databases.
EBF 1: Bug Fix: The Block Reason and Locked Row Query fields are now displayed for OFSS subject databases. Top
Previously the connection-level Block Reason and Locked Row Query fields were not captured or displayed for OFSS databases.This has been fixed.
EBF 1: Behavior Change: Negative ApproximateCPUTime connection-level property values are ignored. Top
Previously Foxhound reported negative CONNECTION_PROPERTY ApproximateCPUTime values as exceptions and changed them to zero.These bogus values are coming from the SQL Anywhere target database server and nothing can be done to diagnose or fix the problem.
Foxhound's behavior has been changed to treat negative ApproximateCPUTime connection-level property values as zero without reporting any exceptions.
EBF 1: Usability: Connections section sorted in ascending order by "Current Req Status" in Alert #23 Blocked connections emails. Top
Previously the connections sections for both Alert #23 and Alert #24 emails were sorted in ascending order by "Conns Blocked":
Alert #23. Blocked connections. The number of blocked connections has reached [10] or more during [10] or more recent samples.
Alert #24. Conn blocking others. At least one single connection has blocked [5] or more other connections during [10] or more recent samples.That sort order makes sense for Alert #24 Conn blocking others because it brings the responsible connection to the top.
However, the sort order for Alert #23 Blocked connections has been changed to ascending order by "Current Req Status" to bring the "Blocked ..." connections to the top, as follows:
Current Req Status in ASC order
Blocked by lock
Blocked by mutex
Blocked by semaphore
Executing
Idle
Waiting for I/O
Waiting for shared resource
Waiting for thread
EBF 1: Behavior Change: Any errors and exceptions raised for sp_delete_file() calls are ignored. Top
Foxhound now ignores any error or exception raised by a call to sp_delete_file() because there's no reason to raise an alarm when a silent deletion fails.
EBF 1: Bug Fix: SPs: NNN avoided by restarting sampling for updatable before readonly databases when Foxhound is restarted. Top
When Foxhound is restarted, sampling is restarted for target databases that were being sampled before the upgrade started.If the build number has changed because Foxhound was upgraded, Foxhound tries to replace the three "Foxhound SPs" (stored procedures) on the target databases with new versions:
rroad_connection_properties rroad_database_properties rroad_engine_propertiesFoxhound can't do this directly for readonly target databases because, well, they're not updatable. This includes High Availability secondary (mirror) databases and Read-Only Scale Out copy databases.
Previously this sometimes prevented "SPs: YYY" from being displayed on the Monitor and History pages; i.e., SPs: NNN or SPs: YNY or some other combination involving N would appear.
Foxhound has been changed to restart sampling for updatable databases before readonly databases so the Foxhound SPs will be replaced on the updatable primary database first. SQL Anywhere will then automatically send the new Foxhound SPs to the readonly secondary and copy databases before Foxhound connects to those databases.
When Foxhound does connect to the secondary and copy databases it won't have to update the Foxhound SPs because they're already up to date, and SPs: YYY will appear on the Monitor and History pages.
As part of this change, Foxhound waits 20 seconds before restarting sampling for the first readonly database after restarting sampling for one or more updatable databases. This was done to allow more time for the Foxhound SPs to be updated.
EBF 1: Bug Fix: Foxhound excludes offline (OFSS) subject databases when starting or stopping sampling sessions. Top
Foxhound code which starts and stops sampling sessions as been modified to exclude offline (OFSS) subject databases.The incorrect code didn't cause any problems (possibly because Foxhound doesn't connect directly to offline databases so it can't start or stop sampling) but it was worth fixing anyway.
EBF 1: Bug Fix: Foxhound no longer raises bogus exceptions "Item ... already exists" when sampling is started for duplicate target databases. Top
Previously, Foxhound sometimes raised bogus "Item 'rroad_..._properties' already exists" exceptions when sampling was started for duplicate target databases; e.g., for a High Availability primary database and the corresponding partner database which are one and the same at the physical level.
15 2020-07-01 10:17:14.306 Full Build 5479a 1000000022 701.e3(701eh3) Management of procedure rroad_engine_properties failed on primary_demo: SQLCODE = -660, SQLSTATE = WO005, ERRORMSG() = Server 'p003': [SAP][ODBC Driver][SQL Anywhere] Item 'rroad_engine_properties' already exists [5-primary_demo] 17 2020-07-01 10:17:14.405 Full Build 5479a 1000000021 702.e3(702eh3) Management of procedure rroad_database_properties failed on partner1_demo: SQLCODE = -660, SQLSTATE = WO005, ERRORMSG() = Server 'p002': [SAP][ODBC Driver][SQL Anywhere] Item 'rroad_database_properties' already exists [3-partner1_demo] 19 2020-07-01 10:17:14.427 Full Build 5479a 1000000021 700.e3(700eh3) Management of procedure rroad_connection_properties failed on partner1_demo: SQLCODE = -660, SQLSTATE = WO005, ERRORMSG() = Server 'p002': [SAP][ODBC Driver][SQL Anywhere] Item 'rroad_connection_properties' already exists [3-partner1_demo]This prevented "SPs: YYY" from being displayed on the Monitor and History pages for one of the duplicate databases; i.e., SPs: NNN or SPs: YNY or some other combination involving N would appear.
This has been fixed for English target databases by ignoring exceptions where ERRORMSG() LIKE '%Item ''rroad%properties'' already exists%'.
This fix doesn't work for non-English target databases; the bogus exceptions will still be produced, and the workaround is to stop and start sampling so SPs: YYY is displayed on the Monitor and History pages.
EBF 1: Behavior Change: Any exception raised by a DROP rroad_xxx_properties stored procedure is ignored. Top
Foxhound now ignores any exception raised by an attempt to DROP a Foxhound SPs: YYY stored procedure from a target database; e.g., Procedure 'rroad_database_properties' not found:
12 2020-07-02 12:53:33.261 Full Build 5480a 1000000031 702.d4(702eh3) Management of procedure rroad_database_properties failed on ddd17: SQLCODE = -660, SQLSTATE = WO005, RRORMSG() = Server 'p005': [SAP][ODBC Driver][SQL Anywhere]Procedure 'rroad_database_properties' not found [7-ddd17]This change was made because there's no reason to raise an alarm when a silent DROP fails.
EBF 1: Bug Fix: Foxhound automatically schedules a Mini-Backup to be performed after certain user actions. Top
Previously, Foxhound did not schedule a Mini-Backup after the Start All Sampling button was pressed in the Monitor section of the Foxhound Menu page, so it was possible that sampling would not be correctly started after a subsequent Mini-Restore.Also, Foxhound did not schedule a Mini-Backup after the following user actions were performed on the Monitor page:
- The Stop Sampling button was pressed in the Control Panel section.
- The column sort order was changed in the Connections section.
This has been fixed so that Foxhound automatically schedules a Mini-Backup to be performed after any of those user actions. This ensures that Foxhound's behavior is consistent after a Mini-Restore.
EBF 1: Bug Fix: Foxhound no longer re-issues Alert messages immediately after Cancelled messages when Active Alerts are disabled. Top
Previously, it was possible for Foxhound to immediately (and incorrectly) re-issue one or more Active Alerts that had just been cancelled when the Disable All button was pressed on the Monitor Options page.Here's an example where the Disable All and Save buttons resulted in 10 correct Cancelled messages (at 9:37:04 AM), followed almost immediately (9:37:05 AM) by 10 incorrect Alert messages:
9:37:14 AM 9.8s 1ms / 52ms / 23ms 46/s / .3/s / 13k/s ... 9:37:05 AM Alert #26: Connections ... 9:37:05 AM Alert #22: Conn temp space usage ... 9:37:05 AM Alert #21: Temp space usage ... 9:37:05 AM Alert #19: Cache size ... 9:37:05 AM Alert #17: Checkpoint urgency... 9:37:05 AM Alert #8: Other disk space ... 9:37:05 AM Alert #7: Log disk space ... 9:37:05 AM Alert #6: Temp disk space ... 9:37:05 AM Alert #5: Database disk space ... 9:37:05 AM Alert #2: Long heartbeat ... <=== Bogus Alerts re-issued here 9:37:04 AM Cancelled - Alert #26: Connections ... 9:37:04 AM Cancelled - Alert #22: Conn temp space usage ... 9:37:04 AM Cancelled - Alert #21: Temp space usage ... 9:37:04 AM Cancelled - Alert #19: Cache size ... 9:37:04 AM Cancelled - Alert #17: Checkpoint urgency ... 9:37:05 AM 10s 2ms / 86ms / 21ms 45/s / .2/s / 12k/s ... 9:37:04 AM Cancelled - Alert #8: Other disk space ... 9:37:04 AM Cancelled - Alert #7: Log disk space ... 9:37:04 AM Cancelled - Alert #6: Temp disk space ... 9:37:04 AM Cancelled - Alert #5: Database disk space ... 9:37:04 AM Cancelled - Alert #2: Long heartbeat ... <=== Disable All, Save pressed here 9:36:55 AM Alert #26: Connections ... 9:36:55 AM Alert #22: Conn temp space usage ... 9:36:55 AM Alert #21: Temp space usage ... 9:36:55 AM Alert #19: Cache size ... 9:36:55 AM Alert #17: Checkpoint urgency ... 9:36:55 AM Alert #8: Other disk space ... 9:36:55 AM Alert #7: Log disk space ... 9:36:55 AM Alert #6: Temp disk space ... 9:36:55 AM Alert #5: Database disk space ... 9:36:55 AM Alert #2: Long heartbeat ... <=== Valid Alerts issued here 9:36:55 AM 9.9s 1ms / 57ms / 27ms 46/s / .3/s / 13k/s ...These bogus Alerts also appear in the Active Alerts dropdown boxes on the Monitor and History pages.
This was a timing issue inside Foxhound, where one process issues the Cancelled messages and updates the Alert Enabled switches in the Foxhound database, and a separate process issues Alerts. For alerts with very short (or zero) waiting periods, it was possible for the second process to run after the first process issued a Cancelled message but before the Alert Enabled switch was turned off in the database.
This has been fixed so the Alert Enabled switches are updated before the Cancelled messages are issued.
EBF 1: Bug Fix: The Display Schema process no longer leaves multiple inactive connections open on the target database. Top
Previously, the Display Schema would leave multiple sets of three connections open on the target database after retrieving the schema data for display; for example:
4 / dba / Breck / - / Foxhound-p002 5m 16s / - ... 5 / dba / Breck / - / Foxhound-p002 5m 15s / - ... 6 / dba / Breck / - / Foxhound-p002 5m 15s / - ... 7 / dba / Breck / - / Foxhound-p003 1m 2s / - ... 8 / dba / Breck / - / Foxhound-p003 1m 1.9s / - ... 9 / dba / Breck / - / Foxhound-p003 1m 1.5s / - ...This has been fixed so these connections are dropped after the data is retrieved.
EBF 1: Bug Fix: The Display Schema page now successfully opens the Foxhound Help frame when you click on a link in a warning message. Top
Previously, if the Help frame wasn't already open in the Display Schema page, clicking on a Help link in a warning message had no effect.This has been fixed so the Help frame is opened if it isn't already open.
EBF 1: Bug Fix: The Block Reason field now correctly shows "Position Transaction Phantom lock" for phantom row position locks. Top
Previously, Foxhound would not correctly diagnose an isolation level 3 phantom row position lock in a target database running on SQL Anywhere versions 10, 11, 12, 16 or 17.Instead, it would display "Lock on Departments" in the connection-level Block Reason field:
1 / DBA / Breck / - / SalesManager ... Blocked by lock ... 0 2 Flags: #2 Blocked by other #3 Long transaction Blocked By: 2 / DBA / Breck / - / Accountant Block Reason: Lock on Departments Last Statement: insert into "GROUPO"."Departments" ( "DepartmentID","DepartmentName","DepartmentHeadID" ) values ( 700,'Major Account Sales',902 ) 2 / DBA / Breck / - / Accountant ... Idle ... 3 Serializable 1 Flag: #1 Blocking othersThat has been fixed to show "Position Transaction Phantom lock on GROUPO.Departments" in Block Reason:
1 / DBA / Breck / - / SalesManager ... Blocked by lock ... 0 3 Flags: #2 Blocked by other #3 Long transaction #23 Total transaction time Blocked By: 2 / DBA / Breck / - / Accountant Block Reason: Position Transaction Phantom lock on GROUPO.Departments Last Statement: insert into "GROUPO"."Departments" ( "DepartmentID","DepartmentName","DepartmentHeadID" ) values ( 700,'Major Account Sales',902 ) 2 / DBA / Breck / - / Accountant ... Idle ... 3 Serializable 1 Flag: #1 Blocking othersNote that SQL Anywhere 9 target databases were not affected by this bug; e.g.:
Block Reason: (SP0000) Shared Phantom row lock on DBA.department
EBF 1: Behavior Change: AutoDrop connection tracking is reset whenever AutoDrop processing is stopped. Top
Previously, the failure to AutoDrop a connection is tracked even after the AutoDrop process was stopped.For example, if the attempt to AutoDrop a connection failed because Foxhound did not have permission to execute DROP CONNECTION, no further attempts would be made to drop that connection until after Foxhound was stopped and restarted; i.e., even if sampling was stopped and restarted after Foxhound was granted permission to DROP CONNECTION, Foxhound would not make a second attempt to AutoDrop that connection.
The original reason was to prevent an endless loop of failed AutoDrop attempts, but the implementation made it too difficult to fix a mistake which caused an AutoDrop failure.
This has been changed to stop keeping track of failed AutoDrop attempts whenever the AutoDrop process is stopped.
There are now several ways to get Foxhound to make a fresh attempt to AutoDrop a connection after a previous attempt failed:
- On the Monitor page, stop and start sampling for the target database.
- In the Global Overrides section of the Foxhound Option or Monitor Options page, Disable AutoDrop, wait for at least one sample to be recorded, then Enable AutoDrop.
- On the Monitor Options page, enable the AutoDrop Schedule to disable AutoDrops for the target database, wait for at least one sample, and then change the schedule to enable AutoDrops.
- On the Monitor Options page, Disable All AutoDrop criteria for the target database, wait for at least one sample, then enable AutoDrop criteria.
- Stop and start Foxhound.
EBF 1: Bug Fix: The Block Reason field now correctly shows "Schema Transaction Shared lock" for schema locks. Top
Previously, Foxhound would not correctly diagnose a schema lock in a target database running on SQL Anywhere versions 10, 11, 12, 16 or 17.Instead, it would display "Lock on inventory" in the connection-level Block Reason field:
4 / DBA / Breck / - / database-maintenance ... Blocked by lock ... 1 Flag: #2 Blocked by other Blocked By: 3 / h.barbosa / Breck / - / barbosa-adhoc Block Reason: Lock on inventory Last Statement: alter table "DBA"."inventory" add "updated_at" timestamp not null default timestamp 3 / h.barbosa / Breck / - / barbosa-adhoc ... Idle ... Flag: #1 Blocking othersThat has been fixed to show "Schema Transaction Shared lock on DBA.inventory" in Block Reason:
3 / DBA / Breck / - / database-maintenance ... Blocked by lock ... 1 Flag: #2 Blocked by other Blocked By: 1 / h.barbosa / Breck / - / barbosa-adhoc Block Reason: Schema Transaction Shared lock on DBA.inventory Last Statement: alter table "DBA"."inventory" add "updated_at" timestamp not null default timestamp 1 / h.barbosa / Breck / - / barbosa-adhoc ... Idle ... 1 Flag: #1 Blocking others
EBF 1: Behavior Change: Foxhound performance is improved by examining fewer locks when a connection is blocked. Top
Previously, Foxhound would examine up to 1000 locks in an effort to determine which lock was responsible for one connection being blocked by another.This process could be time consuming and ultimately unsuccessful when the blocking connection was holding more than 1000 locks:
- The Foxhound Sample time could grow quite long, causing the Interval between samples to grow longer than the nominal 10 seconds,
- the Block Reason field could display "Lock on inventory" instead of "Row Transaction Intent, Row Transaction WriteNoPK lock on dba.inventory", and
- the Locked Row Query field might not show up at all.
Rather than slow Foxhound down even further by examining more than 1000 locks, the limit has been reduced to 100 locks.
The result is better Foxhound performance (faster, more consistent) at the expense of Block Reason usefulness when a blocking connection holds many thousands of row locks.
EBF 1: Bug Fix: The AutoDrop #6 Locks message no longer contains incorrect values. Top
Previously, the AutoDrop #6 Locks message included two incorrect numeric values in the message text; in particular, the "for 2 or more (currently 0)" values were incorrect in this example:
11:03:06 AM Autodropped: 35 / dba / Breck / - / locks - #6 Locks This connection has been holding 1 or more (currently 1) locks for 2 or more (currently 0) samples. Email not sent because emails were disabled.This error did not affect the validity of the AutoDrop action itself; i.e., correct values were used to decide on taking the AutoDrop action, not the incorrect values.
This error has been fixed.
EBF 1: Bug Fix: The Monitor Options page correctly handles disconnected databases. Top
Previously, when the Monitor Options page was used to retrieve items from a target database after sampling was stopped, error message fragments may have been incorrectly displayed; for example:
Remote server 'BEGIN DECLARE @sqlcode INTEGER; ...' could not be found Right truncation of string data Syntax error near 'FORWARD' on line 1This error has been fixed.
EBF 1: Bug Fix: The rroad_recalculate_flags() procedure correctly changes the Conn Flags Count column on the Peaks row. Top
Previously, the rroad_recalculate_flags() procedure would not change the Conn Flags Count column on the Peaks row if the recalculated value was smaller than the original value.
During the normal sampling process, the values on the Peaks row increase monotonically, but that's not true of Conn Flags Count when rroad_recalculate_flags() is called; the new value should ber recalculated from scratch (zero). For example, if some or all of the Flags are disabled, or the criteria are changed to be less likely, the new peak value for Conn Flags Count should probably be smaller or even zero.
This error has been fixed.
EBF 1: Bug Fix: FOXHOUND5UPGRADE=OPTIONS is assumed when an invalid value is specified, rather than ALL. Top
A incorrect behavior change was made in the original GA release of Foxhound 5; i.e., if you specified an invalid value of FOXHOUND5UPGRADE, Foxhound used ALL.
The documented behavior has not changed between Foxhound versions 4 and 5:
FOXHOUND4UPGRADE If you specify an invalid value, Foxhound uses OPTIONS. FOXHOUND5UPGRADE If you specify an invalid value, Foxhound uses OPTIONS.This error has been fixed: the code now agrees with the documentation :)
EBF 1: Bug Fix: Alert #33 and Alert #34 are handled properly when they are enabled and disabled separately. Top
Previously, Foxhound did not properly handle Alert and All Clear operations for #33 Uncommitted operations and #34 Long uncommitted if they were not enabled and disabled together.
This resulted in a variety of bad behaviors; e.g., an Alert #34 was not issued until Alert #33 was enabled, an All Clear #34 was not issued if Alert #34 was disabled, and so on.
This error has been fixed.
EBF 1: Bug Fix: Alert #34 Long uncommitted threshold settings are correctly handled to use "actual >= threshold" instead of ">". Top
Alert #34 Long uncommitted is correctly documented as "The number of uncommitted operations has reached [xxx] or more while the transaction running time has reached [yyy] or more for at least one connection."
Previously, Foxhound incorrectly processed Alert #34 as "The number of uncommitted operations has exceeded [xxx] while the transaction running time has exceeded [yyy] for at least one connection."
For example, if 1 is specified as "The number of uncommitted operations", and actual number reaches 1, that should be enough to satisify the first criteria, but Foxhound previously required the actual number to be 2 or more.
This error has been fixed.
EBF 1: Bug Fix: The page title now includes "Default Settings" when the Monitor Option page is showing the Default Settings. Top
Previously the Monitor Options page title was "0 - - Options - Foxhound5" when the Default Settings were shown.
This error has been fixed: the page title is now "0 - [Default Settings] - Foxhound5" when the Monitor Option page is showing the Default Settings.
EBF 1: Bug Fix: Foxhound no longer displays bogus Alert #1 messages for all target databases when a large Foxhound database is started. Top
Previously, Foxhound could run slowly for several minutes after a large foxhound5.db file was started.
For example, a 6.7G foxhound5.db file containing 1.8 million samples and 5.3 million connection samples could be very slow for the first 4.5 minutes after startup.Disk activity could be very high; e.g., 10 MB/s+ for most of the slow period.
Bogus Alert #1 Database unresponsive messages could oscillate; i.e., an Alert #1 would appear, followed by an All Clear #1 after two or three minutes, then immediately by another bogus Alert #1.
This problem did not just affect Foxhound but also other processes running on the same computer.
Target database performance was not affected unless they were running on the same computer as Foxhound. The Alert #1 messages were caused by Foxhound running slowly, not because of anything wrong with the target databases.
This error has been fixed: an unnecessarily complex UPDATE statement in the Foxhound Monitor process would occasionally take several minutes to modify zero rows, and this query has been rewritten to be much simpler (and faster).
Update 2: New Feature: Monitor Sessions API (Application Programming Interface) Top
The Foxhound Monitor Sessions API is a new feature that allows users to integrate their application with Foxhound and allow it to perform some operations available in Foxhound.
It provides the capability to create and delete target database connection strings, and to start, stop and delete Foxhound Database Monitor sampling sessions. This integration can be used to automate these operations rather than use the Foxhound GUI.
Two REST interfaces are provided: stored procedure CALL and SELECT statements (for ISQL, etc) and HTTP web service requests (for XMLHttpRequest, etc):
Stored Procedure Calls Web Service Requests create_or_replace_connection_string createOrReplaceConnectionString Create or change a named connection string to be used by Foxhound to connect to a target database delete_connection_string deleteConnectionString Delete a named connection string from the Foxhound database start_monitor_session startMonitorSession Use a named connection string to start a Foxhound Database Monitor sampling session stop_monitor_session stopMonitorSession Issue an asynchronous request to stop a Foxhound Database Monitor sampling session delete_monitor_session deleteMonitorSession Delete a Foxhound Database Monitor sampling session from the Foxhound database. disable_enforce_sample_schedule disableEnforceSampleSchedule Disable (uncheck) the Enforce the Sample Schedule option for a Database Monitor sampling session enable_enforce_sample_schedule enableEnforceSampleSchedule Enable (check) the Enforce the Sample Schedule option for a Database Monitor sampling session set_database_authentication setDatabaseAuthentication Create, set or delete the DATABASE_AUTHENTICATION option to run Foxhound on the SQL Anywhere OEM Edition turn_off_ping_only_sampling turnOffPingOnlySampling Disable (uncheck) the Perform Ping-Only Sampling option for a Database Monitor sampling session turn_on_ping_only_sampling turnOnPingOnlySampling Enable (check) the Perform Ping-Only Sampling option for a Database Monitor sampling session
Update 2: Enhancement: The DATABASE_AUTHENTICATION option can be set on the Foxhound database. Top
The new API stored procedure set_database_authentication lets you set the DATABASE_AUTHENTICATION option on the Foxhound database.
Administrative Tip: This enhancement applies to the Foxhound database itself, not to any of your target databases. In fact, the Foxhound Database Monitor is able to connect to an authenticated target database running on the OEM Edition with no action on your part because it uses the remote server feature which is self-authenticating. In particular, you don't have to worry about the InitString connection parameter or the SET TEMPORARY OPTION CONNECTION_AUTHENTICATION statement when creating a connection string for your target database.
Update 2: Enhancement: The DATABASE_AUTHENTICATION option is preserved by the Mini-Backup feature. Top
The Foxhound Mini-Backup and Mini-Restore features now preserve the DATABASE_AUTHENTICATION option if it is set on the Foxhound database.
Update 2: Enhancement: The DATABASE_AUTHENTICATION option is preserved by a Foxhound upgrade. Top
If an existing Foxhound database is being upgraded by the post-setup process, it will copy the DATABASE_AUTHENTICATION option setting if it is set on the old database.
If the DATABASE_AUTHENTICATION option isn't set on the old database, or an error occurs, the post-setup process will continue without setting DATABASE_AUTHENTICATION.
You can see what happened by looking in the %FOXHOUND5%\setup\old_foxhound1_debug.txt file for messages like this...
I. 07/01 10:52:35. 2021-07-01 10:52:35.672 DATA UPGRADE: Preserve the DATABASE_AUTHENTICATION option if necessary... I. 07/01 10:52:35. 2021-07-01 10:52:35.672 DATA UPGRADE: ...the DATABASE_AUTHENTICATION option WAS set on the old Foxhound database I. 07/01 10:52:35. 2021-07-01 10:52:35.687 DATA UPGRADE: ...therefore, the DATABASE_AUTHENTICATION option HAS BEEN set the new Foxhound database I. 07/01 10:52:35. 2021-07-01 10:52:35.687 DATA UPGRADE: ...the SYSOPTION row for PUBLIC.DATABASE_AUTHENTICATION now contains "Comp...=ddd"
Administrative Tip: This enhancement applies to the Foxhound database itself, not to any of your target databases. In fact, the Foxhound Database Monitor is able to connect to an authenticated target database running on the OEM Edition with no action on your part because it uses the remote server feature which is self-authenticating. In particular, you don't have to worry about the InitString connection parameter or the SET TEMPORARY OPTION CONNECTION_AUTHENTICATION statement when creating a connection string for your target database.
Update 2: Bug Fix: Foxhound no longer copies orphan rows when upgrading an old database to a new build. Top
After a Foxhound sampling session is deleted, rows in several child tables are not immediately deleted for performance purposes. Instead, the Foxhound purge process is responsible for deleting those orphan rows.
Previously, if the purge process was not run before the Foxhound database was upgraded to a new build, those orphan rows would be copied to the new Foxhound database.
When a new sampling session was then created, those old orphan rows would immediately appear as if they belonged to the new sampling session.
This error has been fixed: Orphan rows are now excluded from the upgrade process.