2

I tried deploying my DXA 1.7 java webapp to one of our customer servers yesterday. Im experiencing strange folder nesting inside the ROOT webapps BinaryData folder.

See this image: enter image description here

It should be: BinaryData/1264/en/system/config/*

But somehow the webapp creates: BinaryData/1264/en/en/en..../system/config/*

Everytime i call /admin/refresh, it adds additional /en/en/en to the fodler structure.

The resulting exception is that the DXA webapp cant find our entity types.

09:44:14.933 [ajp-nio-16019-exec-3] ERROR c.s.w.c.i.m.ViewModelRegistryImpl - Cannot determine entity type for semantic schema names: '[http://www.sdl.com/web/schemas/core:DefaultMultimediaSchema]'. Please make sure that an entry is registered for this view name in the ViewModelRegistry. 09:44:14.933 [ajp-nio-16019-exec-3] ERROR c.s.w.c.controller.PageController - Exception while processing request for: /en/

The webapp is running without problems on two development environments. The only difference here is that we now have a loadbalanced system. I already tried shutting down all nodes exept for one for better debugging the issue but i had no success yet. I did double and triple check the Topology Manager setup but i cant see any problems there.

enter image description here

EDIT:

If i stop the web application and just call the baseurl with /en/, it creates BinaryData/en/en/en/system/*, if i then call /en/admin/refresh, it creates BinaryData/en/en/en/en/en/en/system/*

enter image description here

  • If you stop the web application and empty the entire BinaryData folder, does it work the first time? Maybe you can edit your question and add a few more details about the reproducible scenario with admin/refresh and the creation of the nested folders? – Bart Koopman Jan 16 '18 at 9:22
  • Added an additional error description for the admin/refresh – S. Gabriel Jan 16 '18 at 9:35
1

We found the solution by try & error. The problem is that we switched to different databases for Broker, Discovery and Deployer State.

Dev Server setup where it was working all time:

  • SDL Content > Broker DB DEV_INTRA_CD_BROKER
  • Discovery Service > Broker DB DEV_INTRA_CD_BROKER
  • Deployer State > Broker DB DEV_INTRA_CD_BROKER

Test environment had different setup due to load balanced environment

  • SDL Content > Broker DB > TST_INTRA_CD_BROKER_LIVE
  • Discovery Service > New own DB > TST_INTRA_CD_DISCOVERY_LIVE
  • Deployer State > New own DB > TST_INTRA_CD_STATE_LIVE

This setup was mentioned by SDL with a reference to this guide: http://blog.trivident.com/using-sdls-microservices-in-a-web-farm/

This setup however caused the problem with the /en/en/en folders. I switched the Discovery and Deployer State databases back into the Broker DB and ran the discovery registration tool again to register the capabilities in the Broker DB.

Republished my site and DXA settings and the error was gone.

Weird error that makes no sense, maybe its a bug in the DXA/DD4T framework, i cant tell.

  • This is a really odd one. If you can reliably reproduce, I'd consider reporting it to SDL. – Nuno Linhares Jan 17 '18 at 8:31

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.