3

Since today I am getting a strange error in discovery service. I did set up publishing for a new publication and added a mapping in the WebUI (Web 8.5).

Richt click Publication > Properties > Publishing

I added a host to my publication and saved the changes. When publishing the Home page (or any other page) im getting an error from discovery service. I debugged the issue further and i got this error every time:

PS D:\web\tridion\discovery\config> java -jar .\discovery-registration.jar forceSync
2018-03-16 10:23:03,680 INFO  Main - Registration tool is run with following parameters:
2018-03-16 10:23:03,683 INFO  Main - Configuration file:         cd_storage_conf.xml
2018-03-16 10:23:03,684 INFO  Main - The Command is:             sync
2018-03-16 10:23:03,685 INFO  RegistrationTool - Reading configuration from file: 'cd_storage_conf.xml'
2018-03-16 10:23:03,770 INFO  ODataClientProvider - Creating OData client
2018-03-16 10:23:04,158 INFO  ODataClientProvider - Successfully created OData client
2018-03-16 10:23:04,158 INFO  ODataClientProvider - Creating token provider for OAuth enabled OData client
2018-03-16 10:23:04,159 INFO  ODataClientProvider - Using TokenServiceUrl http://localhost:8082/token.svc from configuration file.
2018-03-16 10:23:04,278 INFO  ODataClientProvider - Created token provider using TokenServiceUrl from configuration file.
2018-03-16 10:23:04,278 INFO  ODataClientProvider - Successfully created token provider for OAuth enabled OData client
2018-03-16 10:23:04,279 INFO  UpdateCommand - Updating Capabilities in the discovery-service...
Exception in thread "main" com.sdl.odata.client.api.exception.ODataClientHttpError: Unable to get response from OData service: <?xml version="1.0" encoding="UTF-8"?><metadata:error xmlns:metadata="http://docs.oasis-open.org/odata/ns/metadata"><metadata:code>7000</metadata:code><metadata:message>No value found in the database for a non-nullable property: 'id' in the type: Tridion.WebDelivery.Platform.Environment</metadata:message></metadata:error>

    at com.sdl.odata.client.util.ODataClientUtils.buildException(ODataClientUtils.java:93)
    at com.sdl.odata.client.caller.BasicEndpointCaller.getResponse(BasicEndpointCaller.java:199)
    at com.sdl.odata.client.caller.BasicEndpointCaller.callEndpoint(BasicEndpointCaller.java:82)
    at com.sdl.odata.client.DefaultODataClient.getODataResponse(DefaultODataClient.java:141)
    at com.sdl.odata.client.DefaultODataClient.getEntity(DefaultODataClient.java:69)
    at com.sdl.web.discovery.registration.SecuredODataClient.getEntity(SecuredODataClient.java:39)
    at com.sdl.web.discovery.registration.command.UpdateCommand.buildEnvironment(UpdateCommand.java:223)
    at com.sdl.web.discovery.registration.command.UpdateCommand.performCommand(UpdateCommand.java:48)
    at com.sdl.web.discovery.registration.RegistrationTool.performCommand(RegistrationTool.java:62)
    at com.sdl.web.discovery.registration.Main.main(Main.java:36)

This error happened during the execution of java -jar .\discovery-registration.jar forceSync

I did also try to Set-TtmCdEnvironment again in PowerShell.

Get-TtmCdEnvironment

PS C:\Users\exde0ba8> Get-TtmCdEnvironment

EnvironmentPurpose   : Live
DiscoveryEndpointUrl : http://4.3.2.1:8082/discovery.svc
Credentials          : "AuthenticationType":"Anonymous"
IsOffline            : False
ScopedRepositoryKeys : {}
Id                   : IntraLiveBalancer
ExtensionProperties  : {}

EnvironmentPurpose   : Live
DiscoveryEndpointUrl : http://1.2.3.4:8082/discovery.svc
Credentials          : "AuthenticationType":"Anonymous"
IsOffline            : False
ScopedRepositoryKeys : {}
Id                   : InterLiveBalancer
ExtensionProperties  : {}

Also tried:

Set-TtmCdEnvironment -Id InterLiveBalancer

enter image description here

We are running Web 8.5 and I did install the CD_8.5.0.4472 hotfix earlier since we had some issues. We are running multiple CdEnvironments but only this one has the error.

I did a quick look at the Discovery DB and on the Content Manager Topology DB but I didn't find any issue.

Do you know a solution to this database issue?

1

I never saw this issue previously, seems to look like discovery registration something wrong.

Looks like your discovery service endpoint earlier registered as http://localhost:8082/token.svc and then later you have changed the endpoint with IP Address http://1.2.3.4:8082/discovery.svc

And also noticed your **Get-TtmCdEnvironment** listed two times same **Id: InterLiveBalancer** Is it correct?

Raise it with SDL support, if it's production system.

Not recommended for production:

Worst case scenario remove all of the configurations in the SDL Web Topology Manager and recreate and also remove the discovery database and try with new discovery database to register the endpoints again correctly.

(Get-TtmMapping).Id | ForEach { Remove-TtmMapping -Id $_ }
(Get-TtmWebApplication).Id | ForEach { Remove-TtmWebApplication -Id $_ }
(Get-TtmWebsite).Id | ForEach { Remove-TtmWebsite -Id $_ }
(Get-TtmCdTopology).Id | ForEach { Remove-TtmCdTopology -Id $_ }
(Get-TtmCdEnvironment).Id | ForEach { Remove-TtmCdEnvironment -Id $_ }
(Get-TtmCmEnvironment).Id | ForEach { Remove-TtmCmEnvironment -Id $_ }
(Get-TtmCdTopologyType).Id | ForEach { Remove-TtmCdTopologyType -Id $_ }

I hope it helps.

  • That Cd-Environments looks close but one is actually Inter and the other one is Intra so thats not the issue. The discovery endpoints have not changed at all. We were registering plenty of websites and after like adding the 11th website, the topology manager destroyed itself... I will keep the option in mind to remove everything and re-registering. – S. Gabriel Mar 19 '18 at 9:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.