Can't share dashboards based on streams

Before you post: Your responses to these questions will help the community help you. Please complete this template if you’re asking a support question.
Don’t forget to select tags to help index your topic!

1. Describe your incident:
Hi,

This is a new install of Graylog 5.2.3+9aee303 with HTTPS enabled through server.conf (http_tls_cert_file, http_tls_key_file, http_enable_tls = true) with a letsencrypt cert. Almost everything seems to be working fine. logs are coming in (winlogbeat only in use) and are being indexed fine and are searchable. I have created dashboards and Streams. I can share streams fine but if i try to share a dashboard based on a stream I get the below error, if i try to share a dashboard not based on a stream it works fine:
reparing shares for DashboardName “dashboard” failed with status: type <stream_title> does not exist - There was an error fetching a resource: Internal Server Error. Additional information: type <stream_title> does not exist
server.log contains this:
2024-01-16T08:30:14.485Z ERROR [AnyExceptionClassMapper] Unhandled exception in REST resource
java.lang.IllegalArgumentException: type <stream_title> does not exist
at org.graylog.grn.GRNRegistry.lambda$newGRNBuilder$0(GRNRegistry.java:138) ~[graylog.jar:?]
at java.util.Optional.orElseThrow(Unknown Source) ~[?:?]
at org.graylog.grn.GRNRegistry.newGRNBuilder(GRNRegistry.java:138) ~[graylog.jar:?]
at org.graylog.grn.GRNRegistry.newGRN(GRNRegistry.java:100) ~[graylog.jar:?]
at org.graylog.security.entities.EntityDependencyResolver.lambda$resolve$3(EntityDependencyResolver.java:88) ~[graylog.jar:?]
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) ~[?:?]
at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source) ~[?:?]
at java.util.Iterator.forEachRemaining(Unknown Source) ~[?:?]
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Unknown Source) ~[?:?]
at java.util.stream.AbstractPipeline.copyInto(Unknown Source) ~[?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) ~[?:?]
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source) ~[?:?]
at java.util.stream.AbstractPipeline.evaluate(Unknown Source) ~[?:?]
at java.util.stream.ReferencePipeline.collect(Unknown Source) ~[?:?]
at org.graylog.security.entities.EntityDependencyResolver.resolve(EntityDependencyResolver.java:90) ~[graylog.jar:?]
at org.graylog.security.shares.EntitySharesService.checkMissingPermissionsOnDependencies(EntitySharesService.java:307) ~[graylog.jar:?]
at org.graylog.security.shares.EntitySharesService.prepareShare(EntitySharesService.java:110) ~[graylog.jar:?]
at org.graylog.security.rest.EntitySharesResource.prepareShare(EntitySharesResource.java:124) ~[graylog.jar:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:?]
at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52) ~[graylog.jar:?]
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:134) ~[graylog.jar:?]
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:177) ~[graylog.jar:?]
at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:219) ~[graylog.jar:?]
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:81) ~[graylog.jar:?]
at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:478) ~[graylog.jar:?]
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:400) ~[graylog.jar:?]
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:81) ~[graylog.jar:?]
at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:255) [graylog.jar:?]
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248) [graylog.jar:?]
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244) [graylog.jar:?]
at org.glassfish.jersey.internal.Errors.process(Errors.java:292) [graylog.jar:?]
at org.glassfish.jersey.internal.Errors.process(Errors.java:274) [graylog.jar:?]
at org.glassfish.jersey.internal.Errors.process(Errors.java:244) [graylog.jar:?]
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265) [graylog.jar:?]
at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:234) [graylog.jar:?]
at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:684) [graylog.jar:?]
at org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainer.service(GrizzlyHttpContainer.java:356) [graylog.jar:?]
at org.glassfish.grizzly.http.server.HttpHandler$1.run(HttpHandler.java:200) [graylog.jar:?]
at com.codahale.metrics.InstrumentedExecutorService$InstrumentedRunnable.run(InstrumentedExecutorService.java:180) [graylog.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:?]
at java.lang.Thread.run(Unknown Source) [?:?]

Everything semeed to work until I believe I enables HTTPS and ran the latest update through APT. I also changed the hostname when enabling HTTPS to match the cert

Details:
Ubuntu 22.04.3
Graylog 5.2.3+9aee303 installed through apt
Openseatch latest version through apt
Installed following this:
Ubuntu installation

Any thoughts on what I’ve broken?

Thanks in advance for any help.

Hi,

I have a Graylog instance running for two years now and sharing Dashboards has never been a problem. Right now, I’m facing exactly the same issue, sharing dashboards isn’t possible anymore due some error with the REST resource:

2024-01-22T12:28:24.379+01:00 ERROR [AnyExceptionClassMapper] Unhandled exception in REST resource
java.lang.IllegalArgumentException: type <stream_title> does not exist
        at org.graylog.grn.GRNRegistry.lambda$newGRNBuilder$0(GRNRegistry.java:138) ~[graylog.jar:?]
        at java.util.Optional.orElseThrow(Unknown Source) ~[?:?]
        at org.graylog.grn.GRNRegistry.newGRNBuilder(GRNRegistry.java:138) ~[graylog.jar:?]
        at org.graylog.grn.GRNRegistry.newGRN(GRNRegistry.java:100) ~[graylog.jar:?]
        at org.graylog.security.entities.EntityDependencyResolver.lambda$resolve$3(EntityDependencyResolver.java:88) ~[graylog.jar:?]
        at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) ~[?:?]
        at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source) ~[?:?]
        at java.util.Iterator.forEachRemaining(Unknown Source) ~[?:?]
        at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Unknown Source) ~[?:?]
        at java.util.stream.AbstractPipeline.copyInto(Unknown Source) ~[?:?]
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) ~[?:?]
        at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source) ~[?:?]
        at java.util.stream.AbstractPipeline.evaluate(Unknown Source) ~[?:?]
        at java.util.stream.ReferencePipeline.collect(Unknown Source) ~[?:?]
        at org.graylog.security.entities.EntityDependencyResolver.resolve(EntityDependencyResolver.java:90) ~[graylog.jar:?]
        at org.graylog.security.shares.EntitySharesService.checkMissingPermissionsOnDependencies(EntitySharesService.java:307) ~[graylog.jar:?]
        at org.graylog.security.shares.EntitySharesService.prepareShare(EntitySharesService.java:110) ~[graylog.jar:?]
        at org.graylog.security.rest.EntitySharesResource.prepareShare(EntitySharesResource.java:124) ~[graylog.jar:?]
        at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
        at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
        at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:?]
        at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52) ~[graylog.jar:?]
        at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:134) ~[graylog.jar:?]
        at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:177) ~[graylog.jar:?]
        at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:219) ~[graylog.jar:?]
        at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:81) ~[graylog.jar:?]
        at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:478) ~[graylog.jar:?]
        at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:400) ~[graylog.jar:?]
        at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:81) ~[graylog.jar:?]
        at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:255) [graylog.jar:?]
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248) [graylog.jar:?]
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244) [graylog.jar:?]
        at org.glassfish.jersey.internal.Errors.process(Errors.java:292) [graylog.jar:?]
        at org.glassfish.jersey.internal.Errors.process(Errors.java:274) [graylog.jar:?]
        at org.glassfish.jersey.internal.Errors.process(Errors.java:244) [graylog.jar:?]
        at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265) [graylog.jar:?]
        at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:234) [graylog.jar:?]
        at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:684) [graylog.jar:?]
        at org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainer.service(GrizzlyHttpContainer.java:356) [graylog.jar:?]
        at org.glassfish.grizzly.http.server.HttpHandler$1.run(HttpHandler.java:200) [graylog.jar:?]
        at com.codahale.metrics.InstrumentedExecutorService$InstrumentedRunnable.run(InstrumentedExecutorService.java:180) [graylog.jar:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:?]
        at java.lang.Thread.run(Unknown Source) [?:?]

Ubuntu 22.04.1 LTS, kernel 6.2.0-1018-azure
Graylog 5.2.3+9aee303
Eclipse Adoptium 17.0.9
elasticsearch-oss 7.10.2
mongodb 6.0.13 community edition (same issue with 6.0.12)

Any help appreciated.

Interesting! Wonder if it’s an issue in 5.2.3? I initially installed 5.2.2 then updated to 5.2.3 last week, which is when I noticed the issue. I’ve got round the issue for now by not basing dashboards on Streams, but that’s not a solution really.

Last time I shared a Stream is a while ago and I cannot confirm if this issue came up with 5.2.3 but you’re probably right though. Found this one:

https://github.com/Graylog2/graylog2-server/issues/17945

And found something else:

https://github.com/Graylog2/graylog2-server/issues/17882

Seems to be fixed by pr #17891.

There’s some workaround mentioned in the thread.

Superb, thanks. I’ve removed the streams for the dashbaord to workaround the issue, so looks like we are waiting for the next release to officially fix the issue.

After sharing a Dashboard (without streams), it’s no problem to add streams back :wink:

True. FYI, We’ve also noticed the same problem in Alerts.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.