0

I am very new to Service Fabric.

If I open a state manager transaction and inside that if i make a Network I/O ( non-service-fabric web service call) then commit the transaction. Would like to know that issues arises and is there a better way to do this using Service Fabric Reliable services?

CGSK
  • 43
  • 8

1 Answers1

2

Calling an external web service can take some time (e.g. if it's busy or unavailable). So try to keep calls to external systems out of the transaction scope, in order to avoid a long lock durations. Because long locks cause time-out errors.

So, if possible, first do the service call, and then perform the transaction, or vice versa.

(Just to be sure: you won't get a distributed transaction when nesting the web service call inside the transaction)

LoekD
  • 11,402
  • 17
  • 27
  • Does the State manager transactions are distributed? requiring DTC to be enabled on all the nodes in the service fabric cluster? – CGSK Oct 06 '16 at 18:41
  • 1
    Yes, they are distributed. But they are not OLEDB/ODBC transactions, and they don't use the MS DTC. More info here: https://azure.microsoft.com/en-gb/documentation/articles/service-fabric-reliable-services-reliable-collections/ – LoekD Oct 07 '16 at 07:00