General Feature Release 10.6.5
Note
For known issues with this version, refer to Known issues.
Tip
- For release notes related to DataMiner Cube, see DataMiner Cube Feature Release 10.6.5.
- For release notes related to the DataMiner web applications, see DataMiner web apps Feature Release 10.6.5.
- For information on how to upgrade DataMiner, see Upgrading a DataMiner Agent.
Prerequisites
Before you upgrade to this DataMiner version:
Make sure version 14.44.35211.0 or higher of the Microsoft Visual C++ x86/x64 redistributables is installed. Otherwise, the upgrade will trigger an automatic reboot of the DMA in order to complete the installation.
The latest version of the redistributables can be downloaded from the Microsoft website:
Make sure all DataMiner Agents in the cluster have been migrated to the BrokerGateway-managed NATS solution.
For detailed information, see Migrating to BrokerGateway.
New features
Automation: DEBUG preprocessor directive will now be added to a C# code block when you select the 'Compile in DEBUG mode' option [ID 44958]
From now on, when you select the Compile in DEBUG mode option in the Advanced section of a C# code block, a DEBUG preprocessor directive will automatically be added inside that code block. In that preprocessor directive, you can then add code that will only be compiled when in DEBUG mode.
#if DEBUG
engine.Log("This code is only compiled in DEBUG mode.");
#endif
Changes
Enhancements
SLLogCollector packages will now include the most recent WER crash dumps [ID 40754]
Since DataMiner version 10.5.0 CU11/10.6.2, each time a DataMiner process crashes for whatever reason, a full WER crash dump is created in C:\Skyline DataMiner\Logging\CrashDump\wer\<ExeName>\.
From now on, each time an SLLogCollector package is created, it will include the most recent WER crash dump of every process found in the C:\Skyline DataMiner\Logging\CrashDump\wer\ folder.
SLDataGateway will now log when the TTLs of all active alarms have been refreshed [ID 44771]
On systems where each DMA has its own Cassandra database, SLDataGateway will now log when the TTLs of all active alarms have been refreshed. This will allow you to better trace any job queue spikes caused by these refresh operations.
Security enhancements [ID 44804] [ID 44898]
A number of security enhancements have been made.
SLLogCollector packages will now include the 'Security.evtx' file [ID 44845]
From now on, each time an SLLogCollector package is created, it will include the Security.evtx file.
This file, located in %SystemRoot%\System32\winevt\Logs\, is the primary Windows Event Log file recording security-related events, such as logon attempts, privilege usage, and object access.
SLWatchDog2.txt will now contain more detailed logging regarding run-time errors [ID 44904]
From now on, the SLWatchDog2.txt log file will contain more detailed logging regarding run-time errors.
SLNet will now take into account the log level before sending a log entry to SLLog [ID 44910]
Up to now, SLNet would incorrectly send all log entries directly to SLLog, including entries of which the log level dictated that they should not be added to a log file.
From now on, SLNet will only send a log entry to SLLog if the log level dictates that the entry should be logged. As a result, overall performance will increase when adding entries to log files.
Important
This change was reverted in Main Release 10.5.0 CU12, Main Release 10.6.0, and Feature Release 10.6.3 CU1 as it caused SLNet to leak handles whenever a user authenticated using SAML and a new SLHelper process was started. See SLNet will no longer take into account the log level before sending a log entry to SLLog [ID 44868]. The change has now been reintroduced.
'Functions' and 'Help' folders will no longer be checked when protocols are being loaded [ID 44946]
Before a DataMiner Agent starts loading protocol files during startup, it checks the protocol version folders to determine the location of all protocol files to be loaded. When a version folder does not contain any protocol files, it will log the following error: Directory found for protocol xxx with version yyy but no protocol file found in path.
Up to now, apart from the protocol version folders, the DataMiner Agent would also incorrectly check the Functions and Help folders. However, as these folders do not contain any protocol files, this would result in a large number of invalid errors being logged.
From now on, when DataMiner starts up, it will no longer check for protocol files in the Functions and Help folders.
Enhanced SSH logging [ID 44975]
A number of enhancements have been made to the SSH logging:
From now on, when an SSH connection times out for one of the following reasons, an entry will be added to the element log:
- Host name could not be resolved.
- User authentication failed.
In the SSH logging, it will now clearly be indicated which operations have been performed. For example, during authentication, the logging will now clearly state which authentication methods have been used and what the results were.
In the SSH logging, most entries will now mention the session ID associated with the entry. As this same session ID is also mentioned in element log entries, users will find it much easier to find out which log entries are related.
Also, an issue has been fixed. When a host name could not be resolved to an IP address, up to now, the SSH connection would incorrectly try to connect to localhost. From now on, when the host name could not be resolved, the connection will fail.
BrokerGateway DxM has been upgraded to Microsoft .NET 10 [ID 44979]
The BrokerGateway DxM has been upgraded to Microsoft .NET 10.
StorageModule DxM has been upgraded to Microsoft .NET 10 [ID 45006]
The StorageModule DxM has been upgraded to Microsoft .NET 10.
Correlation: Enhanced detection of circular correlation rules [ID 45007]
A number of enhancements have been made to the mechanism that detects circular correlation rules.
A correlation rule will be blocked when it was triggered due to a correlated alarm that depends on an alarm created by the rule in question.
Note
This feature only works when the correlation rule and all alarms in question reside on the same DataMiner Agent.
Custom SSH settings can now be configured per SSH connection [ID 45084]
Up to now, when custom SSH settings (e.g., the key exchange algorithms) were configured in a specific connector, they would be applied to all elements running in the same SLPort process as the element that was using the protocol in which they had been configured.
From now on, it will be possible to configure custom SSH settings per SSH connection.
Fixes
Problem when importing a dmimport package containing an element that generates DVE elements running a production version of the protocol with alarm templates configured on the DVEs [ID 44398]
When you imported a dmimport package containing an element that generates DVE elements running a production version of the protocol with alarm templates configured on the DVEs, up to now, the alarm templates on the DVE elements would incorrectly not be available because they were imported on the reference version instead of the production version.
One protocol thread would incorrectly be able to add new rows to a table while another protocol thread was clearing that table [ID 44764] [ID 44833]
Up to now, in some rare cases, while a table was being cleared by one protocol thread, another protocol thread could be adding rows to that same table. As a result, these newly added rows would immediately get cleared as well.
From now on, it will no longer be possible for one protocol thread to add new rows to a table while another protocol thread is clearing that same table. Only when the clear operation has finished will it be possible to add new rows again.
Also, up to now, a clear action would incorrectly be able to set the iRows field of the array to 0 without taking the write lock. As a result, SLProtocol would lose count of the number of rows that were stored in the table and would not be able to clear any of those rows without an element restart.
Check Time Server BPA test would only work correctly on systems on which the language was set to English [ID 44837]
Up to now, the Check Time Server BPA test would only work correctly on systems on which the language was set to English.
Also, the time checking algorithm would be too restrictive.
Service & Resource Management: Quarantine conflict error data would incorrectly include all quarantined usages of the affected bookings [ID 44869]
Up to now, when a resource update triggered quarantine, in some cases, the conflict error data would incorrectly include all quarantined usages of the affected bookings, not just the ones caused by the current update.
From now on, the conflict error data will only include the quarantined usages of the resource that was updated.
Business intelligence: Active alarms table would not be updated when an alarm with 0% impact was cleared [ID 44892]
Up to now, the SLA cleaning thread would incorrectly remove history data for an active alarm that was not linked to an outage. As a result, when a replay happened, the active alarms table would no longer be updated when that alarm was cleared.
Native MessageBroker clients would not order the IP addresses in SLCloud.xml correctly [ID 44901]
Up to now, native MessageBroker clients would not order the IP addresses in SLCloud.xml correctly. From now on, local IP addresses will again be put at the top of the list.
SNMP managers: Some configuration changes would not get properly synchronized across the Agents in the cluster [ID 44909]
Up to now, when an SNMP manager had been added, or its configuration had been changed, the following settings would not get properly synchronized across the Agents in the cluster. On the remote Agents, after synchronization, these two settings would incorrectly be set to their default value.
- Enable tracking to avoid duplicate inform acknowledgments (ACKs)
- Group alarms with the same parameter name
Alarm severity change within two minutes after an element start or restart would be processed incorrectly [ID 44917]
When the alarm severity of an element changed within two minutes after the element had been started or restarted, up to now, that change would be processed incorrectly.
Updating DVE properties could cause SLDMS to stop working [ID 44921]
When DVE properties were being updated, in some cases, the SLDMS process could stop working when it was not aware of the element.
SLDataGateway: Problem with custom data table check [ID 44933]
When SLDataGateway checked whether a certain custom database table existed, up to now, that check would incorrectly return false when the table in question already existed before DataMiner was started.
Service & Resource Management: Certain bookings would incorrectly be quarantined when a range capacity was overbooked [ID 44940]
Up to now, when a booking needed to be quarantined in order to solve a range capacity conflict, in some cases, certain usages that were not related to the conflict would incorrectly also be quarantined.
Burst of traps would incorrectly cause multiple alarms to be generated when the parameter had the mapAlarm attribute configured [ID 44980]
When a burst of traps was received for a parameter that had the mapAlarm attribute configured, up to now, multiple active alarms would incorrectly be generated instead of one active alarm with the alarms of all previous traps grouped in the same alarm tree.
SLElement: Uninitialized memory could cause memory corruption [ID 45004]
In some cases, uninitialized memory in SLElement could cause memory corruption.
Names of DVE elements created with the noelementprefix option would be empty [ID 45014]
Up to now, when a DVE manager generated DVE elements with the noelementprefix option, in some cases, the name of these elements would incorrectly be empty.
SLSNMPAgent would not properly unregister itself with SLWatchDog during a DataMiner shutdown [ID 45023]
Up to now, when DataMiner was shutting down, SLSNMPAgent would not properly unregister itself with SLWatchDog. This lead to a false alarm as SLWatchDog incorrectly thought that the process had crashed.
From now on, when SNMPAgent shuts down, it will unregister itself with SLWatchDog.
SLAnalytics: Flatline anomaly alerts would incorrectly not be triggered for parameters that are only updated once every 24 hours [ID 45033]
Up to now, flatline anomaly alerts would incorrectly not be triggered for parameters that are only updated once every 24 hours.
GetProtocolInfoResponseMessage.FindParameter method would not be thread-safe [ID 45035]
Up to now, the GetProtocolInfoResponseMessage.FindParameter method would not be thread-safe. Using this method in different threads at the same time could lead to simultaneous access and modification of the underlying parameter cache, causing the following exception to be thrown:
Operations that change non-concurrent collections must have exclusive access. A concurrent update was performed on this collection and corrupted its state. The collection's state is no longer correct.
Nats-server would incorrectly not be installed alongside BrokerGateway when no DataMiner software had been installed on the system [ID 45049]
When BrokerGateway was installed on a system on which no DataMiner software had been installed, up to now, nats-server would incorrectly not be installed automatically because certain required DataMiner files were missing.
From now on, nats-server will correctly be installed alongside BrokerGateway.
APIGateway: '/api/versions' endpoint could return null as SLNet version [ID 45051]
In some rare cases, the /api/versions endpoint exposed by DataMiner APIGateway could return "null" as SLNet version, especially after the SLNet.exe file had been updated on disk during a DataMiner upgrade.
Swarming: Problem when StorageModule failed to load elements from the database during DataMiner startup [ID 45067]
When, on swarming-enabled systems, the StorageModule DxM failed to load elements from the database during DataMiner startup, up to now, the error state would incorrectly not be propagated to SLDataMiner, causing the DataMiner Agent to start up without loaded elements.
Subsequent element updates could fail after the casing of the element name had been changed [ID 45119]
When, on a system on which Swarming was not enabled, you changed the casing of an element name and then restarted the element, in some cases, the next time you updated that element, the update would fail.
DataMiner Objects Models: Database cache would not be cleaned up after a select query had been executed [ID 45161]
Since DataMiner Feature Release 10.6.4, the DOM manager's database cache would incorrectly not be cleaned up after a select query had been executed. This could lead to a significant performance degradation, especially when many DOM instances were created and updated, and only select queries were executed afterwards, as queries would be evaluated in memory against a potentially large set of cached instances.
DataMiner Objects Models: Problem when selecting partial DOM instances sorted by a field value [ID 45200]
Since DataMiner 10.6.4, select queries retrieving partial DOM instances sorted by a field value could throw an exception when the results merged from the database cache needed to be resorted.