You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/service-fabric/concepts-managed-identity.md
+3-4Lines changed: 3 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -40,7 +40,7 @@ Managed identities for Service Fabric is only supported in Azure-deployed Servic
40
40
41
41
2. Within the application's definition, map one of the identities assigned to the application to any individual service comprising the application.
42
42
43
-
The system-assigned identity of an application is unique to that application; a user-assigned identity is a standalone resource, which may be assigned to multiple applications. Within an application, a single identity (whether system-assigned or user-assigned) can be assigned to multiple services of the application, but each individual service can only be assigned one identity. Lastly, a service must be assigned an identity explicitly to have access to this feature. In effect, the mapping of an application's identities to its constituent services allows for *in-application isolation* — a service may only use the identity mapped to it.
43
+
The system-assigned identity of an application is unique to that application; a user-assigned identity is a standalone resource, which may be assigned to multiple applications. Within an application, a single identity (whether system-assigned or user-assigned) can be assigned to multiple services of the application, but each individual service can only be assigned one identity. Lastly, a service must be assigned an identity explicitly to have access to this feature. In effect, the mapping of an application's identities to its constituent services allows for in-application isolation — a service may only use the identity mapped to it.
44
44
45
45
Currently, the following scenarios are supported for this preview feature:
46
46
@@ -61,9 +61,8 @@ The following scenarios are not supported or not recommended; note these actions
61
61
62
62
## Next steps
63
63
64
-
-[Deploy a new Azure Service Fabric cluster with managed identity support](./configure-new-azure-service-fabric-enable-managed-identity.md)
65
-
-[Enable managed identity support in an existing Azure Service Fabric cluster](./
-[Deploy a new Azure Service Fabric cluster with managed identity support](./configure-new-azure-service-fabric-enable-managed-identity.md)
65
+
-[Enable managed identity support in an existing Azure Service Fabric cluster](./configure-existing-cluster-enable-managed-identity-token-service.md)
67
66
-[Deploy an Azure Service Fabric application with a system-assigned managed identity](./how-to-deploy-service-fabric-application-system-assigned-managed-identity.md)
68
67
-[Deploy an Azure Service Fabric application with a user-assigned managed identity](./how-to-deploy-service-fabric-application-user-assigned-managed-identity.md)
69
68
-[Leverage the managed identity of a Service Fabric application from service code](./how-to-managed-identity-service-fabric-app-code.md)
Copy file name to clipboardExpand all lines: articles/service-fabric/service-fabric-reliable-services-reliable-collections-transactions-locks.md
+14-14Lines changed: 14 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,9 @@
1
1
---
2
2
title: Transactions And Lock Modes in Reliable Collections
3
3
description: Azure Service Fabric Reliable State Manager and Reliable Collections Transactions and Locking.
4
-
5
4
ms.topic: conceptual
6
5
ms.date: 5/1/2017
6
+
ms.custom: sfrev
7
7
---
8
8
# Transactions and lock modes in Azure Service Fabric Reliable Collections
9
9
@@ -13,7 +13,7 @@ A transaction is a sequence of operations performed as a single logical unit of
13
13
14
14
***Atomicity**: A transaction must be an atomic unit of work. In other words, either all its data modifications are performed, or none of them is performed.
15
15
***Consistency**: When completed, a transaction must leave all data in a consistent state. All internal data structures must be correct at the end of the transaction.
16
-
***Isolation**: Modifications made by concurrent transactions must be isolated from the modifications made by any other concurrent transactions. The isolation level used for an operation within an ITransaction is determined by the IReliableState performing the operation.
16
+
***Isolation**: Modifications made by concurrent transactions must be isolated from the modifications made by any other concurrent transactions. The isolation level used for an operation within an [ITransaction](https://docs.microsoft.com/dotnet/api/microsoft.servicefabric.data.itransaction?view=azure-dotnet) is determined by the [IReliableState](https://docs.microsoft.com/dotnet/api/microsoft.servicefabric.data.ireliablestate?view=azure-dotnet) performing the operation.
17
17
***Durability**: After a transaction has completed, its effects are permanently in place in the system. The modifications persist even in the event of a system failure.
18
18
19
19
### Isolation levels
@@ -40,24 +40,26 @@ Following is the table that depicts isolation level defaults for Reliable Dictio
40
40
> Common examples for Single Entity Operations are `IReliableDictionary.TryGetValueAsync`, `IReliableQueue.TryPeekAsync`.
41
41
>
42
42
43
-
Both the Reliable Dictionary and the Reliable Queue support Read Your Writes.
43
+
Both the Reliable Dictionary and the Reliable Queue support *Read Your Writes*.
44
44
In other words, any write within a transaction will be visible to a following read
45
45
that belongs to the same transaction.
46
46
47
47
## Locks
48
+
48
49
In Reliable Collections, all transactions implement rigorous two phase locking: a transaction does not release
49
50
the locks it has acquired until the transaction terminates with either an abort or a commit.
50
51
51
-
Reliable Dictionary uses rowlevel locking for all single entity operations.
52
+
Reliable Dictionary uses row-level locking for all single entity operations.
52
53
Reliable Queue trades off concurrency for strict transactional FIFO property.
53
-
Reliable Queue uses operationlevel locks allowing one transaction with `TryPeekAsync` and/or `TryDequeueAsync` and one transaction with `EnqueueAsync` at a time.
54
+
Reliable Queue uses operation-level locks allowing one transaction with `TryPeekAsync` and/or `TryDequeueAsync` and one transaction with `EnqueueAsync` at a time.
54
55
Note that to preserve FIFO, if a `TryPeekAsync` or `TryDequeueAsync` ever observes that the Reliable Queue is empty, they will also lock `EnqueueAsync`.
55
56
56
57
Write operations always take Exclusive locks.
57
-
For read operations, the locking depends on a couple of factors.
58
-
Any read operation done using Snapshot isolation is lock free.
59
-
Any Repeatable Read operation by default takes Shared locks.
60
-
However, for any read operation that supports Repeatable Read, the user can ask for an Update lock instead of the Shared lock.
58
+
For read operations, the locking depends on a couple of factors:
59
+
60
+
- Any read operation done using Snapshot isolation is lock-free.
61
+
- Any Repeatable Read operation by default takes Shared locks.
62
+
- However, for any read operation that supports Repeatable Read, the user can ask for an Update lock instead of the Shared lock.
61
63
An Update lock is an asymmetric lock used to prevent a common form of deadlock that occurs when multiple transactions lock resources for potential updates at a later time.
62
64
63
65
The lock compatibility matrix can be found in the following table:
@@ -68,17 +70,15 @@ The lock compatibility matrix can be found in the following table:
0 commit comments