Expand my Community achievements bar.

Announcing the launch of new sub-community for Campaign Web UI to cater specifically to the needs of Campaign Web UI users!
SOLVED

Email attachment via load balancer

Avatar

Community Advisor

Hi everyone,

 

I am playing with email attachments from local computer and it works fine when it is used on test environment as there exist only one app server.

When it is used on production environment where exist two app servers and load balancer in front of them, attachment is uploaded only on one server (which is current in the moment of the upload) and some temporary error is thrown:

Unable to finalize storage of resource as the file has not been uploaded...

 

So, until we start delivery execution load balancer can switch user to another server where file does not exist and brake it.

Is there a "easy & nice" way to overcome this without uploading files with workflows, etc... ?

 

Regards,

Milan

 

 

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Hi,

 

Easy answer is to just mount resource dirs from a network share, which you should be doing anyway for workflow file uploads etc.

Another option is to list both app servers as mta child's in their instance confs, which logically should cause the first to publish attachments to the second and vice-versa.

Finally, your load balancer should be in active/passive mode, with all traffic going to the primary until it dies. There are other issues with active/active, e.g. preventing users from reliably using unconditional halt on workflows.

 

Thanks,

-Jon

View solution in original post

4 Replies

Avatar

Community Advisor

Hello Milan,

 

You can use Amazon S3 integration in this case and upload your static content there.

 

Thanks,

Manoj


     Manoj
     Find me on LinkedIn

Avatar

Community Advisor

Hi Manoj,


this is helpful. I am trying to find and easy way (change form/js code) in order to solve it.

As we have a mounted partition to both server (for sharing logs and partition is visible by both servers) it is feasible to change upload path to there but I cannot find where this is defined.

By default attach is uploaded to the /usr/local/neolane/nl6/var/InstanceName/upload

 

Regards,

Milan

Avatar

Correct answer by
Community Advisor

Hi,

 

Easy answer is to just mount resource dirs from a network share, which you should be doing anyway for workflow file uploads etc.

Another option is to list both app servers as mta child's in their instance confs, which logically should cause the first to publish attachments to the second and vice-versa.

Finally, your load balancer should be in active/passive mode, with all traffic going to the primary until it dies. There are other issues with active/active, e.g. preventing users from reliably using unconditional halt on workflows.

 

Thanks,

-Jon

Avatar

Community Advisor

Hi wodnicki,

I can change upload path on app servers and that will solve my problem:

 

from uploadDirectory="$(XTK_INSTALL_DIR)/var/$(INSTANCE_NAME)/upload/"  to uploadDirectory="mounted_partition/upload/"

The question is, can this change impact any other regular process on AC?

 

Thanks in advance.

Milan