Lost All dashboards after upgrade from 3.1.x to 3.3.5

Hi
i upgraded from 3.1.x to 3.3.5 , now all dashboards are missing , yet i can still see it’s collection in the mongoDB. i get the below error when the master node starts `

2020-08-28T09:52:05.394+02:00 ERROR [ConfigurationManagementPeriodical] Error while running migration <V20191125144500_MigrateDashboardsToViews{2019-11-25T14:45:00Z}>
java.lang.RuntimeException: Unable to parse function: max(http.monitor.responseSize)
at org.graylog.plugins.views.migrations.V20191125144500_MigrateDashboardsToViewsSupport.viewwidgets.Series.toSeriesSpec(Series.java:60) ~[graylog.jar:?]
at org.graylog.plugins.views.migrations.V20191125144500_MigrateDashboardsToViewsSupport.AggregationWidget.lambda$toSearchTypes$2(AggregationWidget.java:82) ~[graylog.jar:?]
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) ~[?:?]
at java.util.Collections$2.tryAdvance(Collections.java:4747) ~[?:?]
at java.util.Collections$2.forEachRemaining(Collections.java:4755) ~[?:?]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) ~[?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[?:?]
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) ~[?:?]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578) ~[?:?]
at org.graylog.plugins.views.migrations.V20191125144500_MigrateDashboardsToViewsSupport.AggregationWidget.toSearchTypes(AggregationWidget.java:82) ~[graylog.jar:?]
at org.graylog.plugins.views.migrations.V20191125144500_MigrateDashboardsToViewsSupport.V20191125144500_MigrateDashboardsToViews.createSearchType(V20191125144500_MigrateDashboardsToViews.java:186) ~[graylog.jar:?]
at org.graylog.plugins.views.migrations.V20191125144500_MigrateDashboardsToViewsSupport.V20191125144500_MigrateDashboardsToViews.lambda$migrateDashboard$5(V20191125144500_MigrateDashboardsToViews.java:154) ~[graylog.jar:?]
at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:271) ~[?:?]
at java.util.Iterator.forEachRemaining(Iterator.java:133) ~[?:?]
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) ~[?:?]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) ~[?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[?:?]
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) ~[?:?]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578) ~[?:?]
at org.graylog.plugins.views.migrations.V20191125144500_MigrateDashboardsToViewsSupport.V20191125144500_MigrateDashboardsToViews.migrateDashboard(V20191125144500_MigrateDashboardsToViews.java:155) ~[graylog.jar:?]
at org.graylog.plugins.views.migrations.V20191125144500_MigrateDashboardsToViewsSupport.V20191125144500_MigrateDashboardsToViews.lambda$upgrade$0(V20191125144500_MigrateDashboardsToViews.java:90) ~[graylog.jar:?]
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) ~[?:?]
at java.util.ArrayList.forEach(ArrayList.java:1541) ~[?:?]
at java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:395) ~[?:?]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485) ~[?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[?:?]
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) ~[?:?]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578) ~[?:?]
at org.graylog.plugins.views.migrations.V20191125144500_MigrateDashboardsToViewsSupport.V20191125144500_MigrateDashboardsToViews.upgrade(V20191125144500_MigrateDashboardsToViews.java:91) ~[graylog.jar:?]
at org.graylog2.periodical.ConfigurationManagementPeriodical.doRun(ConfigurationManagementPeriodical.java:43) [graylog.jar:?]
at org.graylog2.plugin.periodical.Periodical.run(Periodical.java:77) [graylog.jar:?]
at java.lang.Thread.run(Thread.java:834) [?:?]

`
is there a script that can be run offline to migrate to views, or even a patch to get the old dashboards back

I know there was some problem with names of fields (dash and @) in widget which was fixed in 3.2.X version. Maybe problem is fields with dot e.g. http.monitor.responseSize.

is there is any way to get around it , maybe if i edited the old name in the DB ?

many thanks for the hint , i manged to solve it by editing the document collection manually ( was not much 18 dashboard) :slight_smile: and it solved the issue and now all my old dashboard are back again
thanks

Please post some example how you solved you problem, so other users can use it.

2 Likes