We have a production environment with four machines: primary public, failover public, edit/admin interface and test. We have four sites. Each site has its own database and is deployed to all four servers. Each server has its own unique license and all sites running on one server uses the same license.
Recently we run into an issue when a site is down due to this exception:
System.ArgumentException: An item with the same key has already been added.at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)at EPiServer.Events.Remote.EventReplicationWCFProviders.AddEventReplicationProvider(String endPointName, EventReplicationProvider eventRepl)at EPiServer.Events.Remote.EventReplicationWCFProviders.AddEventReplicationProvider(String endPointName)at EPiServer.Events.Remote.EventReplicationWCFProviders.InitializeEventReplicationProviders()at EPiServer.Web.InitializationModule.InitializeEventService(Settings settings)at EPiServer.Web.InitializeEngine.Initialize()at EPiServer.Web.InitializationModule.Initialize(EPiServerSection config, Settings settings, ConnectionStringSettingsCollection connectionStringSettings)at EPiServer.Web.InitializationModule.<StaticInitialization>b__2()at EPiServer.Web.InitializeEngine.Initialize()at EPiServer.Web.InitializationModule.StaticInitialization()at EPiServer.Web.InitializationModule.Application_BeginRequest(Object sender, EventArgs e)at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Following guidlines from http://world.episerver.com/FAQ/Items/License-error-in-load-balanced-environment/ we put all servers and started only primary instance. However this didn't help.
An interesting item is that if we clear out the EPiServer license records from the tblMasterSlave table, a record does not get created unless we access the site on the test box.
Does anybody have any clues for us?
Guessing you will need to add a support case as it would be good to have a look at your license. But it sounds like you have the master license on the test box as this is the only site that will create records in the tblMasteSlave table.
Check your license and the master/slave bindings to make sure you have the right license at the right place.
You might want to check my blog post about managing individual licences across environments, this will allow you to guarantee you are using the right license file on the right machine:
How does that exception relate to a license issue?
I know that this is license related, because after license has been removed the site starts working normally, of course displaying the "no license" warning.
Ah, license problems have been known to trigger other unrelated errors (due to the fact that licensing is checked in various places).
Aaa reading to fast.
As Steve says it doesn't seem to be when validating the license. But instead when your remote event services are getting added. How does your setup for the remote events look like?