Skip to content

Latest commit

 

History

History
111 lines (86 loc) · 16.2 KB

Service_Fabric_ReleaseNotes_81.md

File metadata and controls

111 lines (86 loc) · 16.2 KB

Microsoft Azure Service Fabric 8.1 Release Notes

This release includes the bug fixes and features described in this document. This release includes runtime, SDKs and Windows Server Standalone deployments to run on-premises. This release also include the fixes from 8.0 Third Refresh.

The following packages and versions are part of this release:

Service Platform Version
Service Fabric Runtime Ubuntu 16
Ubuntu 18
Windows
8.1.320.1
8.1.320.1
8.1.316.9590
Service Fabric for Windows Server Service Fabric Standalone Installer Package 8.1.316.9590
.NET SDK Windows .NET SDK
Microsoft.ServiceFabric
Reliable Services and Reliable Actors
ASP.NET Core Service Fabric integration
5.1.316
8.1.316
8.1.316
8.1.316
Java SDK Java for Linux SDK 1.0.6
Service Fabric PowerShell and CLI AzureRM PowerShell Module
SFCTL
0.3.15
11.1.0

Contents

Microsoft Azure Service Fabric 8.1 Release Notes

Key Announcements

  • Added support for Auxiliary Replica
  • (Preview) Added support for .NET 6.0 Service Fabric applications
  • Added API support for updating application descriptions
  • Added periodic ping between Reconfiguration Agent (RA) and Reconfiguration Agent Proxy (RAP) to detect IPC failure and process stuck
  • Added support for liveness and readiness probes for non containerized applications
  • Made cluster upgrade for node capacity updates impactless

Current Breaking Changes

  • Service Fabric 7.2 and higher runtime drops support for .NET Core Service Fabric apps running with .NET Core 2.2 runtime. .NET Core runtime 2.2 is out of support from Dec 2019. Service Fabric runtime will not install .NET Core runtime 2.2 as part of its dependency. Customers should upgrade their .NET 2.2 runtime SF apps to the next .NET Core LTS version 3.1.

  • Guest executable and container applications created or upgraded in SF clusters with runtime versions 7.1+ are incompatible with prior SF runtime versions (e.g. SF 7.0).
    Following scenarios are impacted:

    • An application with guest executables or containers is created or upgraded in an SF 7.1+ cluster.
      The cluster is then downgraded to a previous SF runtime version (e.g. SF 7.0).
      The application fails to activate.
    • A cluster upgrade from pre-SF 7.1 version to SF 7.1+ version is in progress.
      In parallel with the SF runtime upgrade, an application with guest executables or containers is created or upgraded.
      The SF runtime upgrade starts rolling back (due to any reason) to the pre-SF 7.1 version.
      The application fails to activate.

    To avoid issues when upgrading from a pre-SF 7.1 runtime version to an SF 7.1+ runtime version, do not create or upgrade applications with guest executables or containers while the SF runtime upgrade is in progress.

    • The simplest mitigation, when possible, is to delete and recreate the application in SF 7.0.
    • The other option is to upgrade the application in SF 7.0 (for example, with a version only change).

    If the application is stuck in rollback, the rollback has to be first completed before the application can be upgraded again.

Upcoming Breaking Changes

  • .NET Core runtime LTS 2.1 runtime will go out of support from Aug 21, 2021. Service Fabric releases after that date will drop support for Service Fabric apps running with .NET Core 2.1 runtime. Service Fabric .NET SDK will take a dependency on .NET runtime 3.* features to support Service Fabric .NET Core apps. This has no impact on Service Fabric .NET Framework SDK.

Service Fabric Runtime

Versions IssueType Description Resolution
Windows - 8.1.316.9590
Ubuntu 16 - 8.1.320.1
Ubuntu 18 - 8.1.320.1
Feature Added support for Auxiliary Replica Brief desc: In this release we are introducing support for a new kind of replica. These replicas are called 'Auxiliary Replicas', and their purpose is to enable advanced scenarios where an additional replica is necessary for specialized work required at replicator level that is not currently captured by the existing Roles of Primary, IdleSecondary, ActiveSecondary, None, and Unknown.
Auxiliary replicas will not be granted read or write access and Service Fabric will not consider* them as potential targets during Primary elections due to balancing or failover. This opens new opportunities like having a replica that witnesses the replication stream to perform monitoring or auditing, or to act as a temporary cache or transaction log that can be reused by other replicas.
One of the applications for auxiliary replicas is assigning them fewer cluster resources since they have fewer duties. This means that in some cases Services can consume fewer resources while maintaining roughly the same levels of reliability, reducing COGS.
To use this new feature, the cluster level configuration 'EnableAuxiliaryReplicas' must be set to true and a stateful persisted service would need to be created or updated with the 'AuxiliaryReplicaCount' value, which indicates the number of auxiliary replicas per partition.
This is feature is targeted for advanced users/scenarios and require corresponding replicator changes. The default Service Fabric Replicator and Reliable Collections stack does not rely on this, though it may be augmented in future to take advantage of it. Please reach out to Service Fabric team for more details.
* Auxiliary replicas can be promoted to primary role under certain scenarios, but this transition is transient, and the replica will not be granted read or write status.
Usage: New capability in Service Fabric
Impact: Impacts stateful persisted service using auxiliary replicas.
Windows - 8.1.316.9590
Ubuntu 16 - 8.1.320.1
Ubuntu 18 - 8.1.320.1
Feature (Preview) Added support for .NET 6.0 Service Fabric applications Brief desc: Service Fabric version 8.1 introduces programming model support for .NET 6.0 Service Fabric applications.
Windows - 8.1.316.9590
Ubuntu 16 - 8.1.320.1
Ubuntu 18 - 8.1.320.1
Feature Added API support for updating application descriptions Brief desc: Service Fabric version 8.1 introduces REST API support for updating Service Fabric applications. Customers can specify an application name and denote application parameters to be updated. These parameters include the maximum nodes, minimum nodes, application metrics and whether application capacities should be removed.
Corresponding PowerShell API is documented here: https://docs.microsoft.com/en-us/powershell/module/servicefabric/update-servicefabricapplication?view=azureservicefabricps.
Usage: Added UpdateApplication REST API
Impact: Customer is able to update application with REST API.
Windows - 8.1.316.9590
Ubuntu 16 - 8.1.320.1
Ubuntu 18 - 8.1.320.1
Feature Added periodic ping between RA and RAP to detect IPC failure and stuck process Brief desc: Added periodic ping between Reconfiguration Agent (RA) and Reconfiguration Agent Proxy (RAP) to detect IPC failure and stuck process
Usage: On every node, the Service Fabric agent on the node will periodically exchange a heartbeat message with the customer process, to ensure the IPC is working and the customer process is not frozen. When such issues have been detected (not a single heartbeat message has been successfully exchanged in 15 min by default), the customer process will be terminated to mitigate the issue.
Impact: Add periodic ping between RA and RAP to detect IPC failure and stuck process
Windows - 8.1.316.9590
Ubuntu 16 - 8.1.320.1
Ubuntu 18 - 8.1.320.1
Feature Added support probes for non containerized applications Brief desc: Support for liveness and readiness probe for non containerized applications
Windows - 8.1.316.9590
Ubuntu 16 - 8.1.320.1
Ubuntu 18 - 8.1.320.1
Feature Made cluster upgrade for node capacity updates impactless Brief desc: Service Fabric version 8.1 introduces support for dynamic upgrade of node capacity and node property configs, with no disruption to running workloads.
Impact: Customer is able to update node capacities and node properties via dynamic config upgrade.
Windows - 8.1.316.9590
Ubuntu 16 - 8.1.320.1
Ubuntu 18 - 8.1.320.1
Feature New SFX is now available by default Brief desc: A new implementation of SFX will replace the existing SFX application with better performance and security fixes. These changes align SFX with security best practices, and include sanitization of all values rendered to ensure that unintended javascript or html code is not executed in the client context. The new SFX has been set as the default and is the recommended version; the previous application is not sanitizing certain values before rendering, and is thus potentially vulnerable to unintended execution of javascript or html code persisted in or originating from the cluster. The previous application is still accessible by using the "leave beta" control of the default application, but it is strongly discouraged. Should the previous application be loaded, the user can exit it and return to the new application using the "enter beta" button. Please note that 'beta' does not denote a pre-production level of quality or support, and was meant strictly as 'the new/changed UX'.

Service Fabric Common Bug Fixes

Versions IssueType Description Resolution
Windows - 8.1.316.9590
Ubuntu 16 - 8.1.320.1
Ubuntu 18 - 8.1.320.1
Bug SF DNS - Use fixed pool of sockets for recursive queries Brief desc: Recursive queries in SF DNS now re-use sockets from a fixed port range. In non-standard deployment scenarios (i.e. not using Azure VMs with the default DNS server - 168.63.129.16), the port range must be opened up in the firewall. The start address and size can be configured through the following options under DnsService:
* ForwarderPoolStartPort: The start address for the forwarding pool that is used for recursive queries. The default value is 16700.
* ForwarderPoolSize: The number of forwarders in the forwarding pool. The default value is 20.
Windows - 8.1.316.9590
Ubuntu 16 - 8.1.320.1
Ubuntu 18 - 8.1.320.1
Bug SF DNS - Improve retry capabilities when calling SF APIs to resolve names Brief desc: This change retires the RetryTransientFabricErrors config option under DnsService and replaces them with two new options.
* TransientErrorMaxRetryCount: Controls the number of times SF DNS will retry when a transient error occurs while calling SF APIs (e.g. when retrieving names and endpoints). The default value is 3.
* TransientErrorRetryIntervalInMillis: Sets the delay in milliseconds between retries for when SF DNS calls SF APIs. The default value is 0.
Windows - 8.1.316.9590
Ubuntu 16 - 8.1.320.1
Ubuntu 18 - 8.1.320.1
Bug FM resolution failures should be retried instead of exiting ISMgr loop rightaway Brief desc: For the CrossAZ Nodetype, sometimes IS's can get stuck in the error state on VMSS deletion/deallocation. This fix ensures that the IS's are correctly managed when they are added/deleted/updated as required.
Impact: CrossAZ VMSS Deletion/Deallocation can leave IS's in error state, as FM resolution can break intermittently.
Fix: Gracefully handle FM resolution failures.
Windows - 8.1.316.9590
Ubuntu 16 - 8.1.320.1
Ubuntu 18 - 8.1.320.1
Bug Expose the PLB Decision trace as SF diagnostic event Brief desc: Service Fabric version 8.1 introduces possibility to expose PLB Decision trace as SF diagnostic event in case move or new placement happened. In order to enable the feature, TraceCRMReasons and DecisionOperationalTracingEnabled must be turned on.
Windows - 8.1.316.9590
Ubuntu 16 - 8.1.320.1
Ubuntu 18 - 8.1.320.1
Bug Net 6.0 Service fabric app using remoting throws "CLR detected invalid program" error Brief desc: Remoting V2 service communication fails for Net6.0 apps with "CLR detected invalid program" error
Impact: Add preview support for Service Fabric services targeting Net6.0
Fix: Fixed the IL code generation logic to produce Net6.0 compatible code

Repositories and Download Links

The table below is an overview of the direct links to the packages associated with this release. Follow this guidance for setting up your developer environment:

Area Package Version Repository Direct Download Link
Service Fabric Runtime Ubuntu Developer Set-up 8.1.320.1 N/A Cluster Runtime: https://apt-mo.trafficmanager.net/repos/servicefabric/pool/main/s/servicefabric
Service Fabric SDK for local cluster setup: https://apt-mo.trafficmanager.net/repos/servicefabric/pool/main/s/servicefabricsdkcommon/
Container image: https://hub.docker.com/r/microsoft/service-fabric-onebox/
Windows Developer Set-up 8.1.316.9590 N/A https://download.microsoft.com/download/b/8/a/b8a2fb98-0ec1-41e5-be98-9d8b5abf7856/MicrosoftServiceFabric.8.1.316.9590.exe
Service Fabric for Windows Server Service Fabric Standalone Installer Package 8.1.316.9590 N/A https://download.microsoft.com/download/8/3/6/836E3E99-A300-4714-8278-96BC3E8B5528/8.1.316.9590/Microsoft.Azure.ServiceFabric.WindowsServer.8.1.316.9590.zip
Service Fabric Standalone Runtime 8.1.316.9590 N/A https://download.microsoft.com/download/B/0/B/B0BCCAC5-65AA-4BE3-AB13-D5FF5890F4B5/8.1.316.9590/MicrosoftAzureServiceFabric.8.1.316.9590.cab
.NET SDK Windows .NET SDK 5.1.316 N/A https://download.microsoft.com/download/b/8/a/b8a2fb98-0ec1-41e5-be98-9d8b5abf7856/MicrosoftServiceFabricSDK.5.1.316.msi
Microsoft.ServiceFabric 8.1.316 N/A https://www.nuget.org
Reliable Services and Reliable Actors
-Microsoft.ServiceFabric.Services
-Microsoft.ServiceFabric.Services.Remoting
-Microsoft.ServiceFabric.Services.Wcf
-Microsoft.ServiceFabric.Actors
-Microsoft.ServiceFabric.Actors.Wcf
8.1.316 https://github.com/Azure/service-fabric-services-and-actors-dotnet https://www.nuget.org
ASP.NET Core Service Fabric integration
-Microsoft.ServiceFabric.Services.AspNetCore.*
8.1.316 https://github.com/Azure/service-fabric-aspnetcore https://www.nuget.org
Data, Diagnostics and Fabric transport
-Microsoft.ServiceFabric.Data
-Microsoft.ServiceFabric.Data.Interfaces
-Microsoft.ServiceFabric.Diagnostics.Internal
-Microsoft.ServiceFabric.FabricTransport/Internal
8.1.316 N/A https://www.nuget.org
Microsoft.ServiceFabric.Data.Extensions 8.1.316 N/A https://www.nuget.org
Java SDK Java SDK 1.0.6 N/A https://mvnrepository.com/artifact/com.microsoft.servicefabric/sf-actors/1.0.6
Eclipse Service Fabric plug-in for Eclipse 2.0.7 N/A N/A
Yeoman Azure Service Fabric Java generator 1.0.7 https://github.com/Azure/generator-azuresfjava N/A
Azure Service Fabric C# generator 1.0.9 https://github.com/Azure/generator-azuresfcsharp N/A
Azure Service Fabric guest executables generator 1.0.1 https://github.com/Azure/generator-azuresfguest N/A
Azure Service Fabric Container generators 1.0.1 https://github.com/Azure/generator-azuresfcontainer N/A
CLI Service Fabric CLI 11.1.0 https://github.com/Azure/service-fabric-cli https://pypi.python.org/pypi/sfctl
PowerShell AzureRM.ServiceFabric 0.3.15 https://github.com/Azure/azure-powershell/tree/preview/src/ResourceManager/ServiceFabric https://www.powershellgallery.com/packages/AzureRM.ServiceFabric/0.3.15