SFTP Forwarding Agent Memory Management

A global memory buffer will be allocated per EC. The size of the buffer is specified using an Execution Context property in the EC's configuration file located in the relevant container.

Note!

This global backlog memory buffer is used and shared by this and any other forwarding agent that transfers files to a remote server. The same memory buffer is used for all ongoing transactions on the same execution context.


When several workflows are scheduled to run simultaneously, and the forwarding agents are assigned with the backlog function, there is a risk that the buffer may be too small. In that case, it is recommended that you increase the size of this property.

Example - Setting a property to increase the maximum memory

To increase a maximum memory to 20 MB:

 mzsh topo set topo://container:<container>/pico:<pico>/val:config.properties.mz.forwarding.backlog.max_memory 20

You must restart the EC for the property to apply.


If no property is set the default value of 10 MB will be used. The amount allocated will be printed out in the EC's log file. This memory will not affect the Java heap size and is used by the agent when holding a copy of the file being transferred.

mz.forwarding.backlog.max_memory is part of MaxDirectMemorySize, if we need to increase significant in mz.forwarding.backlog.max_memory we might need to increase also the MaxDirectMemorySize.