Graylog2 / Graylog2/graylog2-server

Old dashboard parsing broken after update to 3.2.2

Open
#7,583 3 comments 1 reaction 0 assignees View on GitHub
bug dashboards triaged
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.