Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Julian C. 16 posts 73 karma points
    Dec 01, 2016 @ 15:52
    Julian C.
    0

    Creating new forms on load-balanced environment

    Hello,

    We are running Umbraco with Forms on multiple servers, each with their own local storage for \App_Plugins\UmbracoForms\data.

    When we were running Forms 4.1 on Umbraco 7.2, we had set up DFS file replication for this folder, from our primary editing server to the slave servers, so that new forms, and changes to existing forms, reached all the servers.

    We have now upgraded to Forms 4.3 on Umbraco 7.4, and trying to make use of the new cache clearing mechanism. When an existing form is edited, a message goes through the CacheInstruction table in the database, then each server picks up the message and successfully updates its own copy of the .json file. That's great, and as a result we thought we could turn off the DFS for that folder.

    However, when a new form is created, the slave servers do not receive it. It is still an update message that is inserted into the database, and the slave servers all report a "Could not find file" error, because they are trying to update an existing .json file that does not yet exist, instead of saving a new one.

    Is the Forms module supposed to be able to create new .json files on the slave servers via the cache clearing mechanism, or do we still need to keep DFS running as well?

    And if we keep DFS running, how do we prevent a conflict where DFS and Umbraco are both trying to update the file at the same time on the slave servers?

    Any advice gratefully received. If there's some existing Forms module load-balancing instructions that I've missed, please send me in the right direction!

    Thank you, Julian

  • Dennis Aaen 4499 posts 18254 karma points admin hq c-trib
    Dec 06, 2016 @ 20:45
    Dennis Aaen
    0

    Hi Julian,

    If you are running Umbraco Forms in a load-balanced environment then you should have a look at this package.

    https://our.umbraco.org/projects/website-utilities/umbraco-forms-cache-refreshers-for-flexible-load-balancing/

    Hope this helps,

    /Dennis

  • Julian C. 16 posts 73 karma points
    Dec 07, 2016 @ 10:00
    Julian C.
    0

    Thank you Dennis,

    I am taking a look at that module. Do you have it working with Forms 4.3?

    Something similar to is already included in the Forms core product in 4.3, using the Cache Instruction table to send instructions, but not fully working. If this module still works with 4.3, I'd want to disable the built-in mechanism, to avoid conflicts.

    I'll report back what I find.

    Thanks, Julian

  • Julian C. 16 posts 73 karma points
    Dec 07, 2016 @ 11:24
    Julian C.
    0

    Hi Dennis,

    That module only seems to be needed Forms versions before 4.3. If I try installing it on 4.3, any save action results in the error The cache refresher Umbraco.Forms.Core.Cache.FormCacheRefresher is not of type Umbraco.Core.Cache.IPayloadCacheRefresher

    Forms 4.3+ has its own cache refresher built in.

    So unfortunately, I still have my original problem. I will have a good look through known issues at http://issues.umbraco.org/issues/CON

  • Julian C. 16 posts 73 karma points
    Dec 07, 2016 @ 11:34
    Julian C.
    0

    Seems this has already been reported at http://issues.umbraco.org/issue/CON-1159 - fixed in nightly build 202 but not yet released

Please Sign in or register to post replies

Write your reply to:

Draft