Content Staging / Web Farm / Database value changes not showing up

Yang Wen asked on September 25, 2015 17:26

Hi pushing changes from Env A to Env B. Env B has a web farm setup between 2 servers. I'm using the content staging feature to push updates to web parts. So I'm not talking about a scenario involving syncing of physical files.

The server that i targeted for the content staging sync reflected the updates immediately. The other server did not. I assumed this was due to cache on the server which prevented refresh from the database. I then explicitly resolved the second server and cleared the cache on it via Debug->Clear Cache. However that had no effect.

The ultimate fix was to restart the application on the second server in order for it to pull the updated web parts settings.

Any idea what's going on? Thanks.

Recent Answers


Brenden Kehren answered on September 25, 2015 19:02

Are there any web farm sync tasks stuck in the web farm app? Do you receive any errors in either of the 3 servers in the event log?

Secondly, when you say you targeted a server for content staging, are you pushing the changes only to one server? You should be using a load balancer and a dns name. For instance server1 and server2 both use dns entry myserver.domain.com. So in your content staging setup you'd use myserver.domain.com vs. server1 or server2.

I can guarantee the issue is with caching but you also need to ensure you environment is configured correctly.

0 votesVote for this answer Mark as a Correct answer

Yang Wen answered on September 25, 2015 21:57

Is it absolutely necessary to resolve the content staging ASMX over the DNS name? The request gets routed to a single server anyways.

For security reason, we've actually disabled the ability to resolve the ASMX via DNS. The reason is due to Kentico's requirement for the ASMX to be publicly resolvable. We've setup server-side routing rules to deny request to the ASMX against the DNS. We only allow the staging content ASMX to be resolvable via the internal server name.

What troubles me is that even with a clear cache on one of the server, it doesn't seem to refresh the database originated content. What would cause that?

0 votesVote for this answer Mark as a Correct answer

Brenden Kehren answered on September 26, 2015 18:39

You're defeating the purpose of using a load balanced system if you're only targeting one server from your dev server. What happens when that one server goes down or isn't available when you're using content staging?

You can use certificates to perform your authentication for content staging so why not use that vs. a simple username/pass combo? Have you read the security whitepaper from Kentico?

If you're staging to server 1 and you clear the cache on server 1, it won't clear the cache on server 2. You need to do it on both or manually trigger it. I'd reach out to Kentico Support to specifics, especially if you're restricting access as specifically as you are.

0 votesVote for this answer Mark as a Correct answer

   Please, sign in to be able to submit a new answer.