Upgrade conflicts

I am only trying to upgrade from v11.2.3 to v11.2.4, which according to the instructions, very little changed (besides adding a DB table - see https://www.onehippo.org/11/library/upgrade-minor-versions/upgrade-11.2.3-to-11.2.4.html)

My front-end /site is behaving fine, but the authoring /cms throws lots of exceptions and I lot the channels perspective, and details in the audience perspective.

15.10.2018 16:31:58 ERROR http-nio-8080-exec-2 [JAXRSUtils.logMessageHandlerProblem:1847] Problem with writing the data, class org.hippoecm.hst.rest.beans.BlueprintDataset, ContentType: application/json
15.10.2018 16:31:58 WARN  http-nio-8080-exec-2 [LogUtils.doLog:478] Interceptor for {http://services.cmsrest.hst.hippoecm.org/}DocumentsResource has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: com.fasterxml.jackson.jaxrs.cfg.EndpointConfigBase.<init>(Lcom/fasterxml/jackson/databind/cfg/MapperConfig;)V
at org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.handleWriteException(JAXRSOutInterceptor.java:396)
at org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.serializeMessage(JAXRSOutInterceptor.java:271)
...
Caused by: java.lang.NoSuchMethodError: com.fasterxml.jackson.jaxrs.cfg.EndpointConfigBase.<init>(Lcom/fasterxml/jackson/databind/cfg/MapperConfig;)V
at com.fasterxml.jackson.jaxrs.json.JsonEndpointConfig.<init>(JsonEndpointConfig.java:30)
...

This hinted to version conflicts in jackson-databind, but I find the expected com.fasterxml.jackson.core:jackson-databind:jar:2.8.8:compile jar file in the output of a build (essentials has v2.1.0, but that matches a working Hippo instance from maven archetype). The above stack trace is repeated for many “Problem with writing the data, class ___, ContentType: application/json”, where ___ is in [beans.BlueprintDataset, Boolean, ChannelDataset, pagecomposer.jaxrs.model.ExtResponsRepresentation]

Can you suggest what other conflicts might be happening? The logs aren’t helping me (or I fail to see it).

PS - I am actually trying to upgrade to the latest version of 11.2.x branch (v11.2.9), but I isolated the change to the 11.2.4 upgrade.

JsonEndpointConfig is from jackson-jaxrs-json-provider.jar; is that also on 2.8.8?

HTH
Jeroen

Yes, v2.8.8 of jackson-jaxrs-json-provider is there. I noticed essentials has an older version, but the Hippo 11.2.4 archetype also has the same version.

$ find . -name "jackson-jaxrs-json-provider*.jar"
./target/tomcat8x/webapps/cms/WEB-INF/lib/jackson-jaxrs-json-provider-2.8.8.jar
./target/tomcat8x/webapps/site/WEB-INF/lib/jackson-jaxrs-json-provider-2.8.8.jar
./target/tomcat8x/webapps/essentials/WEB-INF/lib/jackson-jaxrs-json-provider-2.0.0.jar
./common/target/dhi-hippo-common-2.35.0-SNAPSHOT/WEB-INF/lib/jackson-jaxrs-json-provider-2.8.8.jar
./cms/target/cms/WEB-INF/lib/jackson-jaxrs-json-provider-2.8.8.jar
./site/target/war/work/com.dhi/dhi-hippo-common/WEB-INF/lib/jackson-jaxrs-json-provider-2.8.8.jar
./site/target/site/WEB-INF/lib/jackson-jaxrs-json-provider-2.8.8.jar
./essentials/target/essentials/WEB-INF/lib/jackson-jaxrs-json-provider-2.0.0.jar

Since /site appears to work fine, I am going to study the jar differences between /site and /cms closer for any other conflicts. But I have been banging my head on this for several days now.

Check if all jackson versions are as in archetype. What we run into with one of our customers was a jar that was in their repository (nexus) was different than one coming from maven central. Might be a shot in the dark, but worth checking (it’s easy to check just by changing maven repository path and excluding your maven proxy)

I have been able to solve the upgrade problem. The orphaned-images plugin was bringing in and old depenency of jackson-core. Excluding it from the cms pom.xml resolved my build.

I built && run the code mvn clean verify && mvn -Pcargo.run
then compared all the jar files I found under target/tomcat. When I found duplicate libs with different versions, or versions that didn’t match the archetype build, I ran the mvn dependency:tree -Dverbose to trace where the bad versions came from.

Thanks for all your help!