General Feature Release 10.6.1
Note
For known issues with this version, refer to Known issues.
Important
Before you upgrade to this DataMiner version:
Make sure version 14.40.33816 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. See also: DataMiner Systems will now use the BrokerGateway-managed NATS solution by default [ID 43856] [ID 43861] [ID 44035] [ID 44050] [ID 44062]
Make sure the Microsoft .NET 10 hosting bundle is installed (download the latest Hosting Bundle under ASP.NET Core Runtime from dotnet.microsoft.com). See also: DataMiner upgrade: New prerequisite will check whether .NET 10 is installed.
Tip
- For release notes related to DataMiner Cube, see DataMiner Cube Feature Release 10.6.1.
- For release notes related to the DataMiner web applications, see DataMiner web apps Feature Release 10.6.1.
- For information on how to upgrade DataMiner, see Upgrading a DataMiner Agent.
Highlights
- DataMiner Systems will now use the BrokerGateway-managed NATS solution by default [ID 43526] [ID 43856] [ID 43861] [ID 44035] [ID 44050] [ID 44062]
- Dashboard reports can now be generated in PDF, HTML, and/or CSV format [ID 43887]
New features
DataMiner Objects Models: DomInstances CRUD helper now supports reading only a selected subset of fields from DomInstance objects [ID 43852]
The DomInstances CRUD helper now supports reading only a selected subset of fields from DomInstance objects. This will reduce the amount of data transferred and can significantly improve performance in cases where clients only need a few fields from each instance.
New Read and PreparePaging overloads will accept a SelectedFields<DomInstance> object. To select a field, add the exposer from DomInstanceExposers or add the FieldDescriptorID to the SelectedFields<DomInstance> object.
Note
- The
Idis always available on aPartialObject. You do not need to add theIdexposer toSelectedFields<DomInstance>. - Selecting the
FieldValuesorFullObjectexposer is not supported and will result in a failed read operation.
The Read and PreparePaging methods will return a list of PartialObject<DomInstance, DomInstanceId>, which provides:
ID: TheDomInstanceID.GetValueandTryGetValue, which retrieve the value of a selected exposer or a single-valueFieldDescriptorID.GetValuesandTryGetValues, which retrieve a list of values for a selectedFieldDescriptorID(for fields with multiple values, or when multiple sections are allowed).
When retrieving field values for a selected FieldDescriptorID, the following behavior will apply:
- Multiple values: Use
GetValues<T>/TryGetValues<T>to obtain aList<T>.GetValues<T>throwsInvalidOperationExceptionif the values are not of typeT;TryGetValues<T>returnsfalsein that case. - Single value: Use
GetValue<T>/TryGetValue<T>for fields with a single value.GetValue<T>throwsInvalidOperationExceptionif the value is not of typeTor when there are multiple values available for that field descriptor;TryGetValue<T>returnsfalse. - No value:
GetValue<T>returnsdefault(T)(equivalent to an empty list for list types).TryGetValue<T>returnsfalse.GetValues<T>returnsnull.TryGetValues<T>returnsfalse.
Important
A FieldDescriptor ID must be unique across section definitions in a DOM module.
Dashboard reports can now be generated in PDF, HTML, and/or CSV format [ID 43887]
Up to now, a report of a dashboard could only be generated in PDF format (.pdf). Now, it is possible to generate a report in PDF, archived HTML format (.mhtml) and/or CSV format.
MHTML files include all necessary information to allow the report to be rendered in a web browser: HTML code, images, CSS stylesheets, etc.
Also, the default file name has been changed from Report.pdf to <dashboard name>.pdf, <dashboard name>.mhtml, or <dashboard name>.csv.zip.
Service & Resource Management: New PatchReservationInstanceProperties method to update properties of a reservation instance [ID 44084]
The ResourceManagerHelper now contains a new PatchReservationInstanceProperties method. This method can be used to update properties of a reservation instance.
See the following example:
Guid bookingId = ...;
var propertiesToPatch = new JSONSerializableDictionary();
propertiesToPatch.AddOrUpdate("Key to update", "New value");
var result = rmHelper.PatchReservationInstanceProperties(bookingId, propertiesToPatch);
if (result.UpdatePropertiesResult != UpdatePropertiesResult.Success)
{
// Handle failure
}
else
{
// Call returns the booking with the updated properties
var booking = result.UpdatedInstance;
}
Note
- Only the properties passed to the
propertiesToPatchdictionary will be updated. - The result of the property update will contain the updated booking with all its properties (including those that were not updated).
- This new method does not allow you to removed properties from a reservation instance.
User-defined APIs are now capable of returning bytes instead of a string [ID 44158]
User-defined APIs are now capable of returning bytes instead of a string.
The ApiTriggerOutput class now has a ResponseBodyBytes property of type byte[], which, when set, will take precedence over ResponseBody of type string. Both ResponseBodyBytes and ResponseBody are limited to 29 MB.
By default, a Content-Type header of type application/octet-stream will be returned. If necessary, this can be overridden by means of the Headers property in ApiTriggerOutput.
Note
TriggerUserDefinableApiRequestMessageis now also capable of returning bytes.- When a user-defined API being tested in the SLNetClientTest tool returns bytes, the following message will appear: "Response body is in bytes and cannot be displayed".
Changes
Breaking changes
Unicode string values will now be saved correctly in non-Unicode elements [ID 43929]
Up to now, when a string parameter in a non-Unicode connector was set to a Unicode value, malformed data would get saved into that parameter, and that same malformed data would remain in the parameter when, later, the connector was changed to a Unicode connector.
From now on, when a string parameter in a non-Unicode connector is set to a Unicode value, that Unicode value will be saved correctly, and will remain saved correctly when the connector is changed to a Unicode connector.
- Unicode characters saved in a non-Unicode connector that cannot be mapped to a non-Unicode equivalent will be displayed as a question mark ("?") until the connector is changed to a Unicode connector.
- Primary key values will always be saved in Unicode, even in elements using a non-Unicode connector.
- Up to now, table rows retrieved from the database would not get loaded when the primary key could not be found, resulting in errors being logged. From now on, those table rows will be retrieved and loaded correctly.
Breaking changes:
- In a Unicode connector, the
Interprete.Valueof string parameters with a fixed length will be considered a Unicode value, unless it is in 0x format. Values of parameters withInterprete.RawTypeset to "Numeric Text" andInterprete.Typeset to "double" will be considered ASCII values, even when the element is using a Unicode connector. - From now on, serial commands with
ascii="true"will only be applied to string parameters of whichInterprete.Valuedoes not contain a value in 0x format. Up to now,ascii="true"would be applied to all parameters in a serial command.
Enhancements
SLNet: Trend graphs in Cube will now also correctly display behavioral change points for table column parameters without advanced naming [ID 41751]
Because of a number of enhancements made in SLNet, trend graphs in DataMiner Cube will now also correctly display behavioral change points for table column parameters without advanced naming.
New BPA test: Health Metrics [ID 43509]
A new BPA test named "Health Metrics" has been added.
This BPA test will run every hour, and will fetch details about connections used within DataMiner, either through a diagnose message or by using information offloaded to disk.
In later versions, it will then also analyze those details and attempt to warn operators when load increases on specific DataMiner modules and/or connections.
SLNetClientTest tool now allows you to check the contents of the hosting cache used by SLDataMiner [ID 43605]
Using the SLNetClientTest tool, you can now send a DiagnosticMessage with LIST_HOSTAGENTCACHE to SLDataMiner to retrieve the contents of the hosting cache used by SLDataMiner. This will allow you to check if an element is local or not.
To send such a message, open the SLNetClientTest tool, and go to Diagnostics > DMA > Elements (Hosting Cache).
Caution
Always be extremely careful when using the SLNetClientTest tool, as it can have far-reaching consequences on the functionality of your DataMiner System.
DataMiner Systems will now use the BrokerGateway-managed NATS solution by default [ID 43856] [ID 43861] [ID 44035] [ID 44050] [ID 44062]
DataMiner Systems will now use the BrokerGateway-managed NATS solution by default. BrokerGateway will manage NATS communication based on a single source of truth that has the complete knowledge of the cluster, resulting in more robust, carefree NATS communication. In addition, TLS will be configured automatically, and a newer version of NATS will be used that has better performance and is easier to upgrade.
During a DataMiner upgrade, the VerifyBrokerGatewayMigration prerequisite check will verify whether all DataMiner Agents in the cluster are using the BrokerGateway-managed NATS solution. If not, the check will fail, and the upgrade will not be able to continue.
It will no longer be possible to migrate from the BrokerGateway-managed NATS solution (nats-server service) back to the legacy SLNet-managed NATS solution (NAS and NATS services).
The Verify NATS Migration Prerequisites BPA test has now been removed. As from this DataMiner version, all DataMiner Systems are expected to use the BrokerGateway-managed NATS solution by default.
DataMiner upgrades will no longer automatically install NAS and NATS.
SLReset will now consider the BrokerGateway-managed NATS solution as the default solution, and will remove the
C:\Skyline DataMiner\NATSfolder (if present).SLLogCollector will no longer collect any data from the
C:\Skyline DataMiner\NATSfolder.In the MaintenanceSettings.xml file, the following tags will now be considered obsolete:
- BrokerGateway
- NATSDisasterCheck
- NATSLogFileAmountToKeep
- NATSLogFileCleanupMs
- NATSResetWindow
- NATSRestartTimeout
DataMiner upgrade packages will no longer perform the MigrateBrokerGatewaySoftLaunch upgrade action. This action would move the BrokerGateway soft-launch option to the MaintenanceSettings.xml file.
NATSRepair.exe will no longer check if the BrokerGateway flag in MaintenanceSettings.xml is set to true.
Clearer message when SLCloud.xml cannot be found when using the legacy SLNet-managed NATS solution [ID 43890]
Up to now, when the SLCloud.xml file could not be found on systems using the legacy SLNet-managed NATS solution, the following generic exception would be thrown and logged:
Unable to find file.
From now on, the following exception will be thrown and logged:
Unable to find file. SLCloud configured messageBrokers are unsupported as of DataMiner 10.6.0.
Automation: Engine class now has an OnDestroy handler that will allow resources to be cleaned up when a script ends [ID 43919]
An OnDestroy handler has now been added to the Engine class. This handler will allow resources to be cleaned up when a script ends.
Multiple handlers can be added. They will run synchronously, and if one handler throws an error, the others will keep on running.
Automation: All methods that use parameter descriptions have now been marked as obsolete [ID 43948]
All methods in the Skyline.DataMiner.Automation namespace that use parameter descriptions have now been marked as obsolete.
SLNetClientTest tool: Enhanced management of DOM modules of which definition-level security is enabled [ID 44021]
The SLNetClientTest tool has been adapted to be able to better manage DOM modules of which definition-level security is enabled.
Filtering on DOM instance IDs in the Filter window
Up to now, it was only possible to select one or more DOM definitions in the list. From now on, it will be possible to enter up to 500 IDs of DOM instances you want to retrieve. If you enter more than 500 IDs, a message will appear, and only the first 500 IDs will be used to construct the filter.
When you enter a number of IDs and click OK, the IDs will be parsed. The valid IDs will be used and the invalid IDs will be disregarded.
Note that the IDs you enter will take precedence over the DOM definitions that you selected in the list. As soon as you enter a number of valid DOM instance IDs, the DOM definitions you selected in the list will be disregarded.
Context menu added to the list on the main 'DomInstances' tab
The list on the DomInstances tab now has a right-click menu with the following options:
| Option | Description |
|---|---|
| View attachments | When this option is selected, all selected DOM instances will be added to list on the Attachments tab. This allows you to view, add, or delete attachments for these DOM instances. |
| View history | When this option is selected, the selected DOM instances will be passed on to the History tab, where the list will be updated with the history of these DOM instances. A note will be displayed at the top, clarifying that the current view only shows the history of a specific subset of instances. Note: The list can only show the history of up to 500 instances. If more than 500 instances are selected, a message will be displayed, and no filtering will be applied. |
Changes to the Attachments tab
The Attachments tab has been updated as follows:
The Load button will now be disabled when definition-level security is enabled.
A message will now be displayed in the right-hand panel, explaining that you can add DOM instances to the list in the left-hand panel by using the context menu mentioned above.
A Clear button now allows you to clear the list of DOM instances.
Changes to the History tab
When definition-level security is enabled, from now on, the History tab will no longer try to read all recent history. In that case, a message will appear, referring to the context menu mentioned above.
Note
When, in said context menu, you selected View history to show the history of specific DOM instances, it is currently not possible to revert that decision and make the list show all latest history. To do so, close the DOM module window and re-open it.
When trying to delete a DOM module
When you try to delete a DOM module, but you do not have access to all DOM definitions in that module, a message box will now be displayed, explaining why you are not allowed to delete the module in question.
Caution
Always be extremely careful when using the SLNetClientTest tool, as it can have far-reaching consequences on the functionality of your DataMiner System.
SLASPConnection will now detect more quicker that a connection to a DMA has been lost or re-established [ID 44049]
Because of a number of enhancements, SLASPConnection will now detect more quicker that a connection to a DataMiner Agent has been lost or re-established.
Service & Resource Management: New resource manager settings to configure the number of start action threads and simultaneous actions [ID 44056]
Because of a number of enhancements, overall performance has increased when starting multiple bookings in parallel.
Also, in the resource manager, it is now possible to configure the number of start action threads and simultaneous actions.
| Setting | Description |
|---|---|
| MaxAmountOfThreads | The number of threads the resource manager will use to start bookings. By default, 6 threads will be used. To restore this setting to the default value, set its value to null. Note: The number of threads must at least be set to 2 in order for the scheduler to be able to start an action and keep a thread available for asynchronous continuations. |
| MaxAmountOfParallelTasks | The number of parallel actions the resource manager will start on the threads. By default, the number of parallel action is set to 7. To restore this setting to the default value, set its value to null. |
The following example shows how you can configure this from an Automation script.
private void UpdateResourceManagerConfigSettings()
{
var setConfigMessage = new ResourceManagerConfigInfoMessage(ResourceManagerConfigInfoMessage.ConfigInfoType.Set)
{
ResourceManagerAutomationSettings = new ResourceManagerAutomationSettings()
{
ResourceManagerAutomationThreadSettings = new ResourceManagerAutomationThreadSettings()
{
MaxAmountOfParallelTasks = 30,
MaxAmountOfThreads = 8
}
},
};
engine.SendSingleResponseMessage(setConfigMessage);
}
In most cases, these settings can keep their default value, unless performance has to optimized when multiple concurrent bookings have to be started. In order to increase performance, the number of threads and parallel tasks can be increased, provided the DataMiner Agent and the database can handle the increased load.
Note
- When the above-mentioned settings have been changed, the resource manager must be restarted.
- Only users with Modules > System configuration > Tools > Admin tools permission are allowed to change the above-mentioned settings.
- If the
SkipDcfLinkssetting is set to true, we recommend that you do not set MaxAmountOfParallelTasks too high. DCF link creation can be an expensive operation. Performing a large number of action in parallel might decrease performance.
NATSRepair.exe can no longer be run when automatic NATS configuration is disabled [ID 44061]
From now on, it will no longer be possible to run NATSRepair.exe when automatic NATS configuration is disabled. If so, NATSRepair.exe will immediately stop without performing any actions.
See also: Disabling automatic NATS configuration
DataMiner backup: Temp file will now be created on the target path instead of the C drive [ID 44063]
When a backup package was being created, up to now, the temporary file would be stored on the C drive. From now on, this temporary file will be stored on the target path (i.e. local path or network path).
Note
- When DataMiner and Cassandra are installed on the same machine, and the Cassandra data directory is on the C drive, the temporary snapshot for Cassandra will be created in that data directory before it is added to the backup package on the target path. This is default Cassandra behavior. If you wish to avoid this, move the Cassandra data directory to another drive, or consider moving to STaaS or self-managed clustered storage as Cassandra Single is End of Engineering.
- Backups for which only a network path has been specified may take a bit more time as the temporary file will now be created on that network path. Backups for which both a local path and a network path have been specified will not take longer as the temporary file will be created on the local path and then simply copied to the network path.
Relational anomaly detection: Valid subgroups of a shared model group will be monitored when other subgroup are invalid [ID 44096]
When SLAnalytics starts up, it checks whether the configured relational anomaly groups are still valid. In other words, it checks whether the elements and parameters in those groups still exist and are still trended.
Up to now, whenever at least one parameter in a group was no longer valid, SLAnalytics would not start the monitoring of that entire group.
From now on, if at least one parameter in a group is no longer valid, and if the group in question is a shared model group with multiple subgroups, SLAnalytics will still start the monitoring of the subgroups in which all parameters are still valid.
DataMiner upgrade: Web-only upgrades with version 10.6.x or above will now require the DMA to have version 10.5.x or above [ID 44103]
From now on, it will no longer be allowed to perform web-only upgrades with version 10.6.x or above on DataMiner Agents with a version below 10.5.x.
This means, that any DataMiner Agent on which you want to perform a web-only upgrade with version 10.6.x or above will first have to be upgraded to version 10.5.x or above.
Relational anomaly detection: GetRADSubgroupFitScoresResponseMessage will now return additional information regarding subgroups of a shared model group [ID 44108]
The GetRADSubgroupFitScoresResponseMessage will now return additional information regarding subgroups of a shared model group.
In addition to the model fit score for each subgroup, the response message will now contain an IsOutlier boolean field. This field is set to true when a subgroup is identified as an outlier based on its relational behavior compared to the other subgroups.
In practical terms, this means that the subgroup's model fit score deviates from the other fit scores. The shared model fits this subgroup significantly worse than it fits most of the remaining subgroups.
DataMiner upgrade: New prerequisite will check whether .NET 10 is installed [ID 44121]
Before upgrading to this DataMiner release or above, you are expected to install the Microsoft .NET 10 hosting bundle.
When you start a DataMiner upgrade procedure, from now on, a new prerequisite will verify whether Microsoft .NET 10 is installed on the system. If this is not the case, the upgrade will be canceled.
Annotations are now End of Life [ID 44124] [ID 44183]
Annotations are now End of Life.
Important
Before you upgrade to this DataMiner version, make sure the soft-launch option LegacyAnnotations is either disabled or removed from the C:\Skyline DataMiner\SoftLaunchOptions.xml file. Otherwise, the upgrade operation will be aborted.
Relational anomaly detection: AddRADParameterGroupMessage can now include a model training configuration [ID 44135]
When you add or update a relational anomaly group by means of an AddRADParameterGroupMessage, you can now pass along the training configuration of the model that will be used by that group.
- When you added a group, the configuration you passed along will be used for the initial training of the model.
- When you updated a group, the configuration you passed along will be used to retrain the model.
Enhanced stuffing and unstuffing behavior when sending serial commands [ID 44149]
A number of enhancements have been made to the stuffing and unstuffing behavior when sending serial commands.
Stuffing will now always be removed from the parameters, even if the current command did not add stuffing during a previous run. This will make it easier and more robust to reuse parameters across different commands.
Swarming: Enhanced re-injection of events [ID 44173]
When elements are swarmed, since DataMiner feature version 10.5.6, some events are re-injected with the new hosting agent ID prior to the new event being generated. In some cases, the way in which this re-injection was performed could cause unwanted side effects. From now on, these side effects will be avoided by accessing the raw cached entries.
Relational anomaly detection: Enhanced performance when retrieving anomaly scores [ID 44180]
A caching mechanism has now been introduced in order to enhance performance when retrieving anomaly scores via a GetRADDataMessage.
When the anomaly scores for a particular relational anomaly (sub)group and region are retrieved twice within a 5-minute window, from now on, SLAnalytics will not recalculate the scores. Instead, it will return the scores from the cache.
Fixes
Service templates: Problem when parsing conditions to dynamically include or exclude child elements [ID 43120]
In some cases, conditional triggers to dynamically include or exclude child elements would be parsed incorrectly, especially when the first condition was a NOT clause.
SLElement could stop working when DVE elements were deleted [ID 43947]
Up to now, when DVE elements were deleted while multiple DVE elements were having their state changed to deleted/stopped, in some cases, SLElement could stop working.
SLNet: Information messages triggered in a QAction would incorrectly only be forwarded to the DMA hosting the element in question [ID 43958]
When a QAction triggered an information message with regard to a particular element, SLNet would incorrectly only forward that message to the DataMiner Agent that hosted that element. As a result, that information message would not appear in client applications connected to any of the other DataMiner Agents in the system.
Correlation alarms triggered by a correlation rule with the 'Auto clear' option set would not be cleared automatically [ID 43974]
When, in a correlation rule, a New alarm or an Escalate event action was configured with the Auto clear option set, in some cases, the new correlated alarms triggered by that correlation rule would incorrectly not be automatically cleared.
Element and parameter state timelines could show incorrect data [ID 43982]
Up to now, in some cases, element and parameter state timelines displayed in client applications like DataMiner web apps or DataMiner Cube could show incorrect data.
SLAnalytics would not receive 'swarming complete' notifications for swarmed DVE child elements [ID 43984]
Up to now, SLAnalytics would incorrectly not receive any "swarming complete" notifications for swarmed DVE child elements. As a result, alarm focus calculations for DVE child elements would be restarted from scratch instead of being fetched from the database.
Failover: 'C:\Skyline DataMiner\Elements' folder on offline Agents could unexpectedly be cleared [ID 44005]
In Failover clusters, in some rare cases where specific conditions related to DVE element handling and naming conflicts were met, the C:\Skyline DataMiner\Elements folder on offline Agents could unexpectedly be cleared, sometimes leaving no elements behind.
To detect whether this has occurred:
- Compare the number of elements on the online and offline Agents.
- Check the offline Agent's Recycle Bin for entries named "Element deleted", indicating a deletion occurred without a known element name.
SLProtocol would silently fail to parse the Protocol.Advanced@stuffing attribute when its value contained spaces [ID 44010]
Up to now, SLProtocol would silently fail to parse the stuffing attribute of the Protocol.Advanced tag when its value contained spaces.
DataMiner backup would fail with an incorrect Elasticsearch error due to a Db.xml parsing issue [ID 44044]
Up to now, if the Db.xml file contained an invalid <Database> tag, a DataMiner backup procedure would fail with the incorrect error An error occurred when dumping the elastic database, even on systems that did not include an Elasticsearch database.
From now on, when an invalid <Database> tag is found in the Db.xml file during a DataMiner backup procedure, an invalid tag error will be logged and the backup procedure will continue without any exception being thrown.
Failover: TLS handshakes of NATS connections would fail [ID 44060]
On a newly created Failover system, in some cases, the TLS handshakes of the NATS connections would fail due to the virtual IP address not being updated in the TLS certificate.
Problem when importing Visio files associated with views or services via a .dmimport package [ID 44065]
Up to now, an issue would prevent Visio files associated with views or services from being imported via a .dmimport package.
This issue did not occur when importing Visio files associated with connectors via a .dmprotocol package.
SLASPConnection could stop working while sending an email report with a dashboard attached [ID 44068]
In some cases, SLASPConnection could stop while sending an email report with a dashboard attached.
Problem when importing a connector that contained information templates of which the name contained dots [ID 44079]
When you imported a connector that contained information templates of which the names contained dots ("."), a parsing error would cause an exception to be thrown.
Offload database: Not possible to offload information events without offloading alarms as well [ID 44080]
Up to now, it would incorrectly not be possible to offload information events when you had not opted to offload alarms as well. It would only be possible to offload information events together with alarms.
From now on, it will be possible to offload either alarms only, information events only, or both.
Failover: Security Advisory BPA test would show an incorrect result after checking the status of port 5100 of the firewall [ID 44093]
When run on the offline agent of a Failover system, the Security Advisory BPA test would show an incorrect result after checking the status of port 5100 of the firewall.
Problem when retrieving history alarms with wildcard or regex filters that were applied case-sensitively [ID 44095]
When, in client applications like DataMiner Cube, history alarm were retrieved with a wildcard or regex filter that filtered on values that contained uppercase characters, up to now, an incorrect result set would be returned.
From now on, wildcard and regex filters will be applied case-insensitively.
Memory leak in SLDataMiner when documents were being handled [ID 44098]
In some cases, SLDataMiner could leak memory when documents were being handled.
Service & Resource Management: A capability could incorrectly be set to a null value [ID 44125]
In some cases, a capability could incorrectly be set to a null value.
From now on, when a capability is booked, it will no longer be possible to set its value to null.
SLNet queues listed in log files would incorrectly exceed the actual number of queues [ID 44130]
In some cases, the number of awaited SLNet queues listed in the log files would incorrectly exceed the actual number of awaited queues.
Also, the BlockUntilAllInFlightEventsWereHandled method will no longer be called when no work has to be done afterwards.
Problem when synchronizing create/update/delete actions performed on services [ID 44132]
In some rare cases, certain create/update/delete actions performed on services would not get synchronized among the DataMiner Agents in a cluster, especially when they had been performed in rapid succession.
Problem when performing a row-based FillArray method with zero rows as input and with the SaveOption option set to 'Partial' [ID 44137]
When a row-based FillArray method was performed with zero rows as input and with the SaveOption option set to "Partial", up to now, the method would throw an unhandled exception due to a missing check.
NotifyDataMiner call NT_CLOSE_HISTORY_TREND_WINDOW (374) sent for a table cell would incorrectly ignore the specified timestamp [ID 44162]
Up to now, when a NotifyDataMiner call NT_CLOSE_HISTORY_TREND_WINDOW (374) was sent for a particular table cell, it would incorrectly ignore the specified timestamp.
This call closes all previous trend windows that are still open and have already passed since the specified time.
Problem with GQI data sources because of a protobuf serialization issue [ID 44181]
Because of a protobuf serialization issue, GQI data sources could throw an exception when requesting certain data from SLNet.
Failover: Problem when reloading the scheduled tasks [ID 44234]
After a Failover switch, in some cases, the new online agent would incorrectly not reload the scheduled tasks that the former online agent had in memory.