I'm trying to setup mirrored publishing in our production Web 8.5 environment so that content is published both to our production broker, as well as our fail-over broker but am unable to register two deployer capabilities.
I was able to register (and successfully publish content to) a single Deployer capability, however when I try to setup mirrored publishing I am getting an error when I run the discovery-registration utility.
Discovery Service Role:
<Role Name="DeployerCapability" Strategy="MIRROR" >
<Urls>
<Url Value="https://www.my-domain.com/sdl/httpupload" />
<Url Value="https://www-fo.my-domain.com/sdl/httpupload" />
</Urls>
<Property Name="encoding" Value="UTF-8"/>
I am able to hit both of the endpoints via Postman, and if I register either service as follows things work fine:
<Role Name="DeployerCapability" Url="https://www.my-domain.com/sdl/httpupload" >
I'm also able to hit the discovery service with a successful response. Like I said, publishing works fine when I setup a single deployer capability - but I can't register two for some reason.
When I try to register the capabilities via the role definition above with a mirror strategy, the discovery service is throwing errors:
2019-12-12 14:47:03,451 ERROR ODataRendererActor - Error during datasource access: 'Unexpected error while creating entity 'DeployerCapability{id='DefaultDeployer', lastUpdateTime=null, strategy='MIRROR', uri='https://www.my-domain.com/sdl/httpupload', uris='[DestinationURL{uri='https://www.my-domain.com/sdl/httpupload', destinationName='null'}, DestinationURL{uri='https://www-fo.my-domain.com/sdl/httpupload', destinationName='null'}]', ExtensionProperties='[KeyValue{key='encoding', value='UTF-8'}]'}'. null' com.sdl.odata.api.processor.datasource.ODataDataSourceException: Unexpected error while creating entity 'DeployerCapability{id='DefaultDeployer', lastUpdateTime=null, strategy='MIRROR', uri='https://www.my-domain.com/sdl/httpupload', uris='[DestinationURL{uri='https://www.my-domain.com/sdl/httpupload', destinationName='null'}, DestinationURL{uri='https://www-fo.my-domain.com/sdl/httpupload', destinationName='null'}]', ExtensionProperties='[KeyValue{key='encoding', value='UTF-8'}]'}'. null at com.sdl.web.discovery.datalayer.TridionConfigDataSource.create(TridionConfigDataSource.java:219) at com.sdl.web.discovery.datalayer.TridionConfigDataSource.create(TridionConfigDataSource.java:149)
2019-12-12 14:47:03,449 ERROR TridionConfigDataSource - Unexpected exception while creating entity java.lang.NullPointerException: null at com.sdl.web.discovery.datalayer.model.DestinationURL.hashCode(DestinationURL.java:58) at java.util.HashMap.hash(HashMap.java:339) at java.util.HashMap.containsKey(HashMap.java:596) at com.sdl.web.discovery.datalayer.TridionConfigItemMapper.convertODataEntityToDS(TridionConfigItemMapper.java:136)