Project: Azure Service Fabric (Orchestration & Management / Scheduling & Orchestration)
File: Service_Fabric_ReleaseNotes_65CU1.pdf

Microsoft Azure Service Fabric  6.5 First Refresh  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.  
The following packages and versions are part of this release  
Service Fabric Runtime  Ubuntu  6.5.454.1  
Windows  6.5.641.9590  
Service Fabric for Windows Server  Service Fabric Standalone Installer 
Package  6.5.641.9590  
.NET SDK  Windows .NET SDK  3.4.641  
Microsoft.ServiceFabric  6.5.641  
Reliable Services and Reliable 
Actors  3.4.641  
ASP.NET Core Service Fabric 
integration  3.4.641  
Java SDK  Java for Linux SDK  1.0.5  
Service Fabric PowerShell and CLI  AzureRM PowerShell Module  0.3.15  
SFCTL  8.0.0  
Service Fabric Tooling  Visual Studio Tooling  2.5.20615.1  
  
Eclipse Tooling  2.0.7  
 Table of Contents  
Microsoft Azure Service Fabric 6.5 First Refresh Release Notes  ................................ ................................ ................................ ................................ . 1 
Breaking announcements  ................................ ................................ ................................ ................................ ................................ ..............................  3 
Upgrade requirements for Docker Co mpose customers  ................................ ................................ ................................ ................................ ...............  5 
Service Fabric Common Bug Fixes  ................................ ................................ ................................ ................................ ................................ .................  6 
Repositories and Download Links  ................................ ................................ ................................ ................................ ................................ ................  11 
Visual Studio 2015 Tool for Service Fabric – localized download links ................................ ................................ ................................ .................  14 
 Breaking announcements  
• Protecting system entities from runaway 'user' code : From 6.5 version  onwards , users  can set up resource protection between the 
system and user services on a node. Service Fabric will enforce  these hard resource limits for  user services to guarantee that all the non -
system services on a node will never use more than the specified amount of  resources.   Please refer to this section  for configuration 
details .   Upgrade requirements for Docker Compose  customers  
For any customers running a Docker Compose application on their cluster. Please follow the guidance given below  
for each scenario,  
• Cluster had been upgrade d to version 6.5.435.1 for Ubuntu or version  6.5.639.9590 for Windows  and experiencing cluster availability  issues : Please 
reach out to us through Azure Portal Help for assistance with this issue. Here are your general support options for Service Fabric: 
https://docs.microsoft.com/azu re/service -fabric/service -fabric -support .  
 
• Cluster had been upgraded to version 6.5.435.1 for Ubuntu or version 6.5.639.9590 for Windows and are not experiencing any issues : Need to 
upgrade the cluster to this 6.5 refresh release version as soon as possible.  
 
• Cluster had not been upgraded to version 6.5.435.1  for Ubuntu or version 6.5.639.9590 for Windows : Need to  first upgrade the cluster to the latest 
version of 6.4. This would be version 6.4.664.9590 + for Windows and 6.4.661.1 + for Ubuntu.  Once you have upgraded to this version, you can safely 
upgrade to  this 6.5 refresh release versio n. 
 Service Fabric Common Bug Fixes  
Versions  IssueType  Description  Resolution  
Ubuntu  6.5.454.1  Bug When creating 
compose 
application, one 
more "fabric:/" is 
added to the 
application instance 
name. This name is 
used to generate log 
driver in Linux. The 
wrong name with 
two "fabric:/" prefix 
used by log driver 
causes compose 
application  creation 
to fail . Impact :  Compose application in Linux cannot be created.  
Fix:  Remove the additional “fabric:/" when creating compose application instance.  
 
Ubuntu  6.5.454.1  
Windows 
6.5.641.9590  
 Bug Compose 
applications are 
migrated to use new 
workflow  in Cluster 
Manager in 6.5. If 
compose 
applications are 
upgraded before , 
Cluster Manager 
will crash when 
cluster is upgrading 
to 6.5. Impact : If compose applications are upgraded before, then Cluster Manager will crash if cluster 
is upgrading to 6.5.  
Fix: The issue is if compose application is upgraded before, it will reset its upgrade description to 
null. When migrating, the description is used to creating  new data  for compose application , and 
null causes migration failed . Fix to check null upgrade description before migration.  
Ubuntu  6.5.454.1  
Windows 
6.5.641.9590  
 Bug Version 6.5 of 
Service Fabric 
introduced a 
regression  in 
calculating 
placement 
constraints .  Impact :  In cases when the placement constraint for a service  contains operator “==” and has a 
property value starting with the letter P, the placement property expression will not be calculated 
correctly and will be ignored.  
 Fix: This refresh release fixes this problem and removes the regression.  Ubuntu  6.5.454.1  
Windows 
6.5.641.9590  
 Bug Protecting system 
entities from 
runaway 'user' 
code  Few customers encountered problems due to runaway user services consuming all the resources 
on Service Fabric nodes. The resource exhaustion (spinning CPU, memory exhaustion, 
hammering disk IO, disk space  exhaustion) resulted in several bad effects including starving other 
services on the nodes, nodes ending up in a bad state, complex mitigation and recovery steps, and 
unresponsive cluster management APIs.  
 
With this version of Service Fabric, you can now set up resource protection between the system 
and user services on a node. Service Fabric will enforce  these hard resource limits 
for user services to guarantee that all the non -system services on a node will never use more than 
the specified amount of  resources.   
 
This release adds an additional configuration option: EnforceUserServiceMetricCapacities.  This 
config is in  the PlacementAndLoadBalancing  section of your  ClusterManifest/ClusterConfig, and 
is OFF by default (to prevent unexpected surprises fo r existing customers during upgrades).  
 
<Section  Name ="PlacementAndLoadBalancing" >    
<Parameter  Name ="EnforceUserServiceMetricCapacities"  Value ="true"  />   
</Section>   
 
{ 
"name" : "PlacementAndLoadBalancing" , 
 "parameters" : [ {  
"name" : "EnforceUserServiceMetricCapacities" ,  
"value" : "true"  } ]  
} 
 
This feature depends on Node Capacities for the Service Fabric resource governed 
https://docs.microsoft.com/en -us/azure/service -fabric/service -fabric -resource -governance  metrics 
(as of this writing Memory and CPU Cores) being set. These capacities can be set either 
automatically ( AutoDetectAvailableResources  flag is false) or manually. If no capacities are set, 
the node is considered to have infinite capacity for the given metric, and hence this feature cannot 
be used (since  SF doesn't know how much resources to reserve  for system services). 
SF will issue  a health warning if "EnforceUserServiceMetricCapacities"  is true  but capacities are 
not specified.   
 
The specified metric capacity for the node is then divided between the user services defines and 
the rest of the system. The amount dedicated to the user serv ices vs. the amount dedicated to the 
system is controlled by the following settings:  <Section  Name ="PlacementAndLoadBalancing" >    
<!-- 0.0 means 0%, and 1.0 means 100% -->   
<Parameter  Name ="CpuPercentageNodeCapacity"  Value ="0.8"  />   
<Parameter  Name ="Memo ryPercentageNodeCapacity"  Value ="0.8"  />  
</Section>   
 
These ratios are defined by default. By default 80% of node capacity is used for user 
services  and 20% will be  left to allow enough resources for the SF system 
services  (and also for any other processes/apps running on the node that are not visible to SF). 
These settings  are static and upgrades to change them will require node restarts.  User service 
capacity is  enforced  only for governed SF  metrics (Memory and CP U Cores as of this writing). 
For non -governed metrics, it's treated as a soft guarantee (violations are possible, but if they 
happen, load balancer will trigger and attempt to fix the violation by moving services  around, just 
like normal capacity violation s). The SF system services are  effectively  ungoverned , and they 
can go beyond of their quota. Effectively constraining the system components and preventing 
them from growing beyond their allotment will be handled in an upcoming release.  
 
 
With this change,  user services metric  capacity  can also be defined per Node Type. T At the 
NodeType level, a new section is added named UserServicesMetricCapacity.  Within this section, 
the same setting names and behavior can be defined and will result in the same behavior  as 
described for the Cluster Manifest level settings. If metric capacity is defined in both places, node 
type definition takes precedence.  
<NodeTypes>   
<NodeType  Name ="NodeType0">   
<UserServicesMetricCapacity>    
<Parameter  Name ="CpuPercentageNodeCapacity"  Value ="0.5"/>    
<Parameter  Name ="MemoryPercentageNodeCapacity"  Value ="0.7"/>   
</UserServicesMetricCapacity>   
</NodeType>   
</NodeTypes>    
This release also fixes an issue in the calculation of node capacities. The rule for calcu lating 
capacity has changed to account for percentage value ( User  Services  Capacity = 
Node  Capacity  * User  Services  Capacity  Percentage ) 
 
Previously, if user provided an override  value  for node capacity in  NodeType,  the %  value  was 
ignored.  This could be surprising to some users.  
 Scenario 1  Scenario 2  Scenario 3  Scenario 4  
Node 
capacity 
auto-
detected 
value  100 100 100 100 
Node 
capacity 
user 
override  - 90 - 90 
User 
services 
capacity 
default in 
cluster 
manifest  0.7 0.7 0.7 0.7 
User 
services 
capacity 
default in 
Node Type  - - 0.5 0.5 
User 
services 
capacity - 
actual value  70 90 50 90 
 
With this release, if user provides an override for the absolute capacity in  NodeType, the % value 
is NOT  ignored, and will further discount the av ailable resources on the node.  
 
 Scenario 1  Scenario 2  Scenario 3  Scenario 4   
 
 
  Node 
capacity 
auto-
detected 
value  
 100 100 100 100 
Node 
capacity 
user 
override  
 - 90 - 90 
User 
services 
capacity 
default in 
cluster 
manifest  
 0.7 0.7 0.7 0.7 
User 
services 
capacity 
default in 
Node Type  
 - - 0.5 0.5 
User 
services 
capacity - 
actual value  
 70 63 50 45 
 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:  
• Linux: https://docs.microsoft.com/en -us/azure/service -fabric/service -fabric -get-started -linux  
• Mac: https://docs.microsoft.com/en -us/azure/service -fabric/servic e-fabric -get-started -mac 
• Windows: https://docs.microsoft.com/en -us/azure/service -fabric/service -fabric -get-started  
Area  Package  Versio
n Repository  Direct Download Link  
Servic
e 
Fabri
c 
Runti
me Ubuntu Developer Set -up 6.5.45
4.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/  
 Red Hat Developer Set -up 6.1.18
9.1 N/A Cluster Runtime:  
https://packages.microsoft.com/yumrepos/microsoft -
rhel7.4 -prod/   
Service Fabric SDK for local cluster setup:  
https://packages.microsoft.com/yumrepos/microsoft -
rhel7.4 -prod/servicefabric_sdkcommon_1.1.2.rpm  
 
 Windows Developer Set -up 6.4.64
1.9590  N/A https://download.microsoft.com/download/9/2/0/920B
15E6 -8CC1 -4413 -8978 -
123B77288B40/MicrosoftServiceFabric.6.5.641.95 90.
exe  
Servic
e 
Fabri
c for 
Wind
ows 
Serve
r Service Fabric Standalone 
Installer Package  6.4.64
1.9590  
 N/A https://download.microsoft.com/download/8/3/6/836E
3E99 -A300 -4714 -8278 -
96BC3E8B5528 /6.5.641.9590/Microsoft.Azure.Servic
eFabric.WindowsServer.6.5.641.9590.zip   
Service Fabric Standalone 
Runtime  6.4.64
1.9590  N/A https://download.microsoft.com/download/B/0/B/B0B
CCAC5 -65AA -4BE3 -AB13 -
D5FF5890F4B5/6.5.641.9590/Mi crosoftAzureService
Fabric.6.5.641.9590.cab    
.NET 
SDK  Windows .NET SDK  3.4.64
1 N/A  https://download.microsoft.com/download/9/2/0/920B
15E6 -8CC1 -4413 -8978 -
123B77288B40/MicrosoftServiceFabricSDK.3.4.641.
msi  
Microsoft.ServiceFabric  6.4.64
1 N/A  https://www.nuget.org  
Reliable Services and 
Reliable Actors  
• Microsoft.ServiceFab
ric.Services  
• Microsoft.ServiceFab
ric.Services.Remoting  3.4.64
1 https://github.com/Azure/service -
fabric -services -and-actors -dotnet  https://www.nuget.org  • Microsoft.ServiceFab
ric.Services.Wcf  
• Microsoft.ServiceFab
ric.Actors  
Microsoft.ServiceFabric.Acto
rs.Wcf  
ASP.NET Core Service 
Fabric integration  
Microsoft.ServiceFabric.Servi
ces.AspNetCore.*  3.4.64
1 https://github.com/Azure/service -
fabric -aspnetcore  https://www.nuget.org  
.NET 
SDK  Data, Diagnostics and Fabric 
transport  
• Microsoft.ServiceFab
ric.Data  
• Microsoft.ServiceFab
ric.Data.Interfaces  
• Microsoft.ServiceFab
ric.Diagnostics.Intern
al 
Microsoft.ServiceFabric.Fabri
cTransport.Internal  3.4.64
1 N/A https://www.nuget.org  
.NET 
SDK  Microsoft.ServiceFabric.Data.
Extensions  1.4.64
1 N/A https://www.nuget.org  
 
Java 
SDK  Java SDK  1.0.5 N/A https://mvnrepository.com/artifact/com.microsoft.servi
cefabric/sf -actors/1.0.0  
Visual 
Studi
o Visual Studio 2017 Tools for 
Service Fabric  2.5.20
608.1  N/A Included in Visual Studio 2017 Update 7 (15.7) and 
above  
Visual Studio 2015 Tools for 
Service Fabric  2.5.20
615.1  N/A See localized download links below  
Eclips
e Service Fabric plug -in for 
Eclipse  2.0.7  N/A N/A 
Yeom
an Azure Service Fabric Java 
generator  1.0.7  https://github.com/Azure/generato
r-azuresfjava  N/A  
Visual Studio 2015 Tool for Service Fabric – localized download links  
NOTE:  The below download links are for the 2.5.20615.1  release of Visual Studio 2015 Tools for Service Fabric.  
https://download.microsoft.com/download/9/2/0/92 0B15E6 -8CC1 -4413 -8978 -123B77288B40/MicrosoftAzureServiceFabricTools.VS140.de -de.msi  
https://download.micr osoft.com/download/9/2/0/920B15E6 -8CC1 -4413 -8978 -123B77288B40/MicrosoftAzureServiceFabricTools.VS140.en -us.msi  
https://download.microsoft.com/download/9/2/0/920B15E6 -8CC1 -4413 -8978 -123B77288B40/MicrosoftAzureServiceFabricTools.VS140.es -es.msi  
https://download.microsoft.com/download/9/2/0/920B15E6 -8CC1 -4413 -8978 -123B77288B40/MicrosoftAzureServiceFabricTools.VS140.fr -fr.msi  
https://download.microsoft.com/download/9/2/0/920B15E6 -8CC1 -4413 -8978 -123B77288B40/MicrosoftAzureServiceFabricTools.VS140.it -it.msi  
https://download.microsoft.com/download/9/2/0/920B15E6 -8CC1 -4413 -8978 -123B77288B40/MicrosoftAzureServiceFabricTools.VS140.ja -jp.msi  
https://download.microsoft.com/download/9/2/0/920B15E6 -8CC1 -4413 -8978 -123B77288B40/MicrosoftAzureServiceFabricTools.VS140.ko -kr.msi  
https://download.microsoft.com/download/9/2/0/920B15E6 -8CC1 -4413 -8978 -123B77288B40/MicrosoftAzureServiceFabricTools .VS140.ru -ru.msi  
https://download.microsoft.com/download/9/2/0/920B15E6 -8CC1 -4413 -8978 -123B77288B40/MicrosoftAzureServiceFabricTools.VS140.zh -cn.msi  
https://download.microsoft.com/download/9/2/0/920B15E6 -8CC1 -4413 -8978 -123B77288B40/MicrosoftAzureServiceFab ricTools.VS140.zh -tw.msi   Azure Service Fabric C# 
generator  1.0.9  https://github.com/Azure/generato
r-azuresfcsharp  N/A 
Azure Service Fabric guest 
executables generator  1.0.1  https://github.com/Azure/generato
r-azuresfguest  N/A  
Azure Service Fabric 
Container generators  1.0.1  https://github.com/Azure /generato
r-azuresfcontainer  N/A  
CLI Service Fabric CLI  8.0.0 https://github.com/Azure/service -
fabric -cli https://pypi.python.org/pypi/sfctl   
Power
Shell  AzureRM.ServiceFabric  0.3.15 https://github.com/Azure/azure -
powershell/tree/preview/src/Resou
rceManager/ServiceFabric  https://www.powershellgallery.com/packages/AzureR
M.ServiceFabric/0.3.15