Release of SDK 2.3.301 and Runtime 5.3.301 for Windows


Today, we are releasing Service Fabric SDK v2.3.301 and Runtime v5.3.301 for Windows. This release includes a number of new features, along with a set of important bug fixes.  Because of the critical nature of the runtime fixes you should upgrade your clusters to the latest runtime version immediately. If you are using the standalone version of Service Fabric or are have moved to manual upgrades of Service Fabric in Azure, make sure you complete the upgrade at the earliest. For those customers who are hosted on Azure and have chosen automatic upgrades, we have initiated the upgrade to the latest version already.

The SDK install fails on clean installations of Windows 10 Anniversary edition. For more details refer to the "SDK fails to install on Windows 10 Anniversary edition" at the bottom of the post. 

 

Supported Runtime Versions

All cluster versions prior to 5.3.121 will be out of support on January 20th, 2017. Due to an issue related to Node Id generation as described in the release notes, all newly created Service Fabric clusters, with the runtime version 5.2.207 and 5.3.121 are at the risk of going in to an unrecoverable state. Hence, we strongly recommend that you upgrade your cluster to the latest version of the Service Fabric runtime (version 5.3.301) at the earliest. This guidance also applies to version 5.3.204 of the standalone runtime release, which should also be upgraded as soon as possible.

The Service Fabric tools for Visual Studio are not yet compatible with recent changes to the installer for Visual Studio “15” preview. As a result, we are not providing those tools with this release. They will be added in an upcoming release.

 

Highlights

Control the cluster version

You can now choose from a set of supported versions of the Service Fabric runtime on your Azure cluster and control when runtime upgrades are applied. By default, clusters will continue to be upgraded to the latest release automatically so action is required if you wish to switch to the manual upgrade mode.

For more details, see Upgrade a Service Fabric Cluster in Azure.

Note: This feature introduces the possibility that the runtime in your Service Fabric cluster may be lower than the latest supported runtime version. Please see the “Supported Runtime Versions” section above.

As with the Azure Service, you can choose the runtime version you want to upgrade to for Service Fabric on Windows Server. For more information, see Upgrading a standalone Windows Server Cluster.

Improved API for specifying application capacity parameters in PowerShell

You can now specify the application capacity parameters individually (previously you were required to pass all parameters). Starting with this release you can specify the individual parameters in the form of {tag:value}.

Fault injection and the cluster analysis service are now built in

Previously, fault injection and chaos testing were performed using the client-side testability APIs surfaced through the ChaosTestService type in System.Fabric.Testability.Scenario namespace. Thus a failure in the client resulted in a failure in the test. Now, you can invoke fault injection and chaos tests using the built-in FaultAnalysisService.

Configure continuous integration and continuous delivery using Visual Studio Team Services from Visual Studio

We recently announced a set of new build and release primitives in Visual Studio Team Services designed to make continuous integration and continuous delivery of Service Fabric applications easier. With this release, it is simpler to configure that environment directly from the Visual Studio client.

 

Important Bug Fixes

A same Node can appear with two different Node IDs

A Service Fabric node is identified and addressed in the system by a NodeId. Service Fabric runtime generates the NodeId from the name of the node. There was a bug in this algorithm which can cause a node to come up with a different NodeId upon restart with one of the two possible values; one of which is incorrect. This could result in a non-existent node showing up in PowerShell queries or SFX with the same name but a different NodeId. If a replica was hosted on the node while it had an incorrect id, that replica will be lost. Service Fabric is designed to tolerate loss of nodes and replicas with minimal availability loss. However, this adds a new failure mode into the system and increases the probability of the cluster becoming unhealthy on subsequent failures. This bug affects newly created clusters in Service Fabric version 5.2.207 and 5.3.121. All released versions of standalone GA are affected.

Memory leak in Service and Actor Remoting

Creating a large number of ServiceProxy or ActorProxy instances can cause high memory usage (e.g., when creating a new instance every time a remote procedure call is made). This release includes a fix that prevents high memory build-up when creating a large number of these objects.

Reducing Cluster Resource Manager Trace Volume

We made several small changes to the CRM.Decision traces to improve the information provided and reduce the volume of traces.

 

SDK fails to install on Windows 10 Anniversary edition

Due to an issue with the Service Fabric lease layer driver, the SDK fails to install on clean installations on Windows 10 Anniversary edition.  For development machines only, use the following links to install the 5.2.207 version as a stop-gap, if disabling secure boot isn't possible. The installation must proceed in order - Runtime first, SDK second and Tools third.

5.2.207 Runtime: http://download.microsoft.com/download/9/E/3/9E31A03B-755C-4C14-89FC-1844E1C80E37/MicrosoftServiceFabric.5.2.207.9590.msi

5.2.207 SDK: http://download.microsoft.com/download/9/E/3/9E31A03B-755C-4C14-89FC-1844E1C80E37/MicrosoftServiceFabricSDK.2.2.207.msi

5.2.207 Tools: http://download.microsoft.com/download/9/E/3/9E31A03B-755C-4C14-89FC-1844E1C80E37/MicrosoftAzureServiceFabricTools.VS140.en-us.msi

 

For information about other new features and bug fixes included in the 5.3.301 release, please see the detailed release notes.

 

Cheers,

The Service Fabric Team

 

 


Comments (13)

  1. mikanyg says:

    What about support for reads from secondary replicas through the service fabric reverse proxy. Thought it was scheduled for the october release?

  2. Mark Fussell says:

    mikanyg,
    Unfortunately the reads from secondary replicas through the service fabric reverse proxy just missed this release. It will however be in the next release, 5.4 runtime, coming in a few weeks time.

  3. Stewart Nutter says:

    I installed the new SDK and it only partially updated the sfproj files. I can't force the team to update to the latest for a few days because of deadlines. How come I can't get the previous SDK to put my system back the way it was?

  4. JR Snyder says:

    This update appears to have added a parameterized constructor to Actor without keeping the default parameterless constructor in place. This seems to be a breaking change, as post-update any existing actors will have to add the new constructor. Adding something similar to below will get it going.

    public MyActor(ActorService actorService, ActorId actorId) : base(actorService, actorId){ }

    Similarly, the constructor to ActorService has changed to compensate for the additional Actor constructor parameters, so the overload allowing for an actorFactory to instantiate the actor has to change as well. Again, something similar to below should work (when registering Actors):

    ActorRuntime.RegisterActorAsync(
    (context, actorType) => new ActorService(context, actorType, (actorService, actorId) => new MyActor(actorService, actorId))).GetAwaiter().GetResult();

    This also means that the Getting Started documentation is incorrect as well: https://azure.microsoft.com/en-us/documentation/articles/service-fabric-reliable-actors-get-started/

    My apologies if this isn't the correct forum for a comment such as this, but it seemed like it would be helpful for those who run into a similar issue.

  5. ben says:

    Arent all Windows 10 machines Windows 10 Anniversary due to auto update - hence most windows 10 machines ? Thats a pretty big issue as you cant install the tools .

    Or are you saying install 207 then 301 is ok.

  6. Martin Strachota says:

    My team has upgraded the SDK and Runtime to the ".301" version and also upgraded our SF project to version 1.3.
    I am the only one in the team who has a clean installation of Windows 10 Anniversary and I'm not able to upgrade. I have uninstalled my SF Runtime, SDK and Tools and used the installers provided at the bottom of this page. However, I'm still not able to open the project. Is there any workaround? Thank you!
    https://dl.dropboxusercontent.com/u/23103786/ServiceFabric.PNG

  7. Nick McKenna says:

    I haven't been able to get this working which is causing some big team problems. About half the team can't open the SF projects in Visual Studio now! Is there an ETA for an updated working version?

  8. Sudhir Tibrewal says:

    SDK & Tools fails to install
    It seems for me, it was McAfee anti-virus. Either disable it or remove it. I have left Defender ON and after re-boot and disabling secure boot it worked for clean installation.

  9. Wing Feng says:

    Still fail to install SDK ,even use version 5.2.207.
    my Windows version is Build 14951

  10. I continue to have the on-going issue: Copy-ServiceFabricApplicationPackage : Operation timed out. with this latest release. Publishing from Visual Studio or PowerShell both fail. GitHub does not have an answer that I can find. I need to publish services.

  11. VinceFab says:

    Still hoping for a fix to installing on Win10 Anniversary Edition. Any update on that?

    1. Greg P says:

      Having the same issue on server 2016. Should I install 5.3.3? Does 5.3.3 include the update that makes 5.2.207 work on server 2016? or do I actually need to install 5.2.2?

      I'm using this as a reference: http://stackoverflow.com/questions/37979903/error-creating-an-on-premise-multi-machine-service-fabric-cluster

      Thanks,
      Greg

Skip to main content