Skip to content

Instantly share code, notes, and snippets.

@shawnjohnson
Created December 20, 2016 01:28
Show Gist options
  • Save shawnjohnson/8296e6c800e759d32d6a9bc17f7414d3 to your computer and use it in GitHub Desktop.
Save shawnjohnson/8296e6c800e759d32d6a9bc17f7414d3 to your computer and use it in GitHub Desktop.
stacktrace after adding custom objectmapper
2016-12-19 20:25:08,042 WARN io.katharsis.servlet.AbstractKatharsisServlet - Katharsis Invoker exception.
io.katharsis.invoker.KatharsisInvokerException: com.fasterxml.jackson.databind.JsonMappingException: (was java.lang.NullPointerException) (through reference chain: io.katharsis.response.CollectionResponseContext["response"]->io.katharsis.response.JsonApiResponse["entity"]->org.springframework.data.elasticsearch.core.aggregation.impl.AggregatedPageImpl["facets"])
at io.katharsis.invoker.KatharsisInvoker.invoke(KatharsisInvoker.java:63)
at io.katharsis.servlet.AbstractKatharsisServlet.service(AbstractKatharsisServlet.java:63)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1099)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Caused by: com.fasterxml.jackson.databind.JsonMappingException: (was java.lang.NullPointerException) (through reference chain: io.katharsis.response.CollectionResponseContext["response"]->io.katharsis.response.JsonApiResponse["entity"]->org.springframework.data.elasticsearch.core.aggregation.impl.AggregatedPageImpl["facets"])
at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:378)
at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:338)
at com.fasterxml.jackson.databind.ser.std.StdSerializer.wrapAndThrow(StdSerializer.java:342)
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:686)
at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157)
at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:672)
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:678)
at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157)
at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:672)
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:678)
at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157)
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:130)
at com.fasterxml.jackson.databind.ObjectMapper._configAndWriteValue(ObjectMapper.java:3631)
at com.fasterxml.jackson.databind.ObjectMapper.writeValue(ObjectMapper.java:2964)
at io.katharsis.invoker.KatharsisInvoker.dispatchRequest(KatharsisInvoker.java:107)
at io.katharsis.invoker.KatharsisInvoker.invoke(KatharsisInvoker.java:61)
... 23 more
Caused by: java.lang.NullPointerException
at org.springframework.data.elasticsearch.core.FacetedPageImpl.processAggregations(FacetedPageImpl.java:89)
at org.springframework.data.elasticsearch.core.FacetedPageImpl.getFacets(FacetedPageImpl.java:68)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:633)
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:678)
... 35 more
@shawnjohnson
Copy link
Author

I'm guessing that there's some option set somewhere in Katharsis for it's default ObjectMapper that allows it to bypass the NPE we see above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment