Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Fabric Message is too large

I'm trying to pass 5MB~ data from a service to an actor, and I'm getting the error:

Fabric Message is too large

How can I increase the maximum size that can be transferred between micro-services?

I looked at the following page to see my options.

I tried setting:

<Section Name="ServiceReplicatorConfig">
    ...
    <Parameter Name="MaxReplicationMessageSize" Value="1073741824" />
</Section>

Please help.

like image 883
shlatchz Avatar asked Apr 30 '16 16:04

shlatchz


2 Answers

Somebody helped me on GitHub with the following:

In order to set maximum size for the remoting transport, you can use the following attribute and place it on your actor interface assembly or configure the maximum message size in the ServiceProxyFactory and ServiceRemotingListener creation.

[assembly: FabricTransportActorRemotingProvider(MaxMessageSize = 1073741824)]

https://msdn.microsoft.com/en-us/library/azure/microsoft.servicefabric.actors.remoting.fabrictransport.fabrictransportactorremotingproviderattribute.aspx

The discussion in GitHub.

like image 64
shlatchz Avatar answered Oct 20 '22 01:10

shlatchz


Can you just pass a reference to that data like a URL to a blob/document storage? Passing 5MB of data within the SF service/actors is quite big and SF is not designed to store that big of data or state.

like image 35
alltej Avatar answered Oct 20 '22 02:10

alltej