Graylog2 / Graylog2/graylog2-server
Old dashboard parsing broken after update to 3.2.2
- Dominant language
- Java
- Stars
- 8.1k
- Forks
- 1.1k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 217
Description
After update from 3.1.x to 3.2.2 one of our older dashboards broke Dashboards view in UI – it gave 500 errors. We resolved issue temporarily with removing dashboard at all from dashboards and views collections in mongodb.
Snippet from log:
```
ERROR [AnyExceptionClassMapper] Unhandled exception in REST resource
java.lang.RuntimeException: IOException encountered while reading from a byte array input stream
at org.mongojack.internal.stream.JacksonDBDecoder.decode(JacksonDBDecoder.java:67) ~[graylog.jar:?]
at com.mongodb.DBDecoderAdapter.decode(DBDecoderAdapter.java:49) ~[graylog.jar:?]
...
Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `org.graylog.plugins.views.search.searchtypes.pivot.buckets.TimeUnitInterval$Builder`, problem: Time unit must be {quantity}{unit}, where quantity is a positive number and unit [smhdwM].
at [Source: de.undercouch.bson4jackson.io.LittleEndianInputStream@11f5586e; pos: 3165] (through reference chain: org.graylog.plugins.views.search.AutoValue_Search$Builder["queries"]->org.graylog.plugins.views.search.AutoValue_Query$Builder["search_types"]->java.util.HashSet[6]->org.graylog.plugins.views.search.searchtypes.pivot.AutoValue_Pivot$Builder["row_groups"]->java.util.ArrayList[0]->org.graylog.plugins.views.search.searchtypes.pivot.buckets.AutoValue_Time$Builder["interval"])
at com.fasterxml.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:67) ~[graylog.jar:?]
at com.fasterxml.jackson.databind.DeserializationContext.instantiationException(DeserializationContext.java:1608) ~[graylog.jar:?]
at com.fasterxml.jackson.databind.DeserializationContext.handleInstantiationProblem(DeserializationContext.java:1073) ~[graylog.jar:?]
at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.wrapInstantiationProblem(BeanDeserializerBase.java:1754) ~[graylog.jar:?]
at com.fasterxml.jackson.databind.deser.BuilderBasedDeserializer.finishBuild(BuilderBasedDeserializer.java:178) ~[graylog.jar:?]
...
Caused by: java.lang.IllegalArgumentException: Time unit must be {quantity}{unit}, where quantity is a positive number and unit [smhdwM].
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:141) ~[graylog.jar:?]
at org.graylog.plugins.views.search.searchtypes.pivot.buckets.TimeUnitInterval$Builder.build(TimeUnitInterval.java:80) ~[graylog.jar:?]
at sun.reflect.GeneratedMethodAccessor270.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_242]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_242]
...
```
Slightly anonymized problematic document: [dashboard3.txt](https://github.com/Graylog2/graylog2-server/files/4266427/dashboard3.txt)
* Graylog Version: 3.2.2
* Elasticsearch Version: 6.8.6
* MongoDB Version: Percona v4.0.16-9
* Operating System: Linux x64
* Browser version: Firefox
Contributor guide
Assessment
This issue has not been assessed yet.