Closed
Description
Environment Details
- Helidon Version: 4.x
- Helidon SE or Helidon MP SE
- JDK version:
- OS:
- Docker version (if applicable):
Problem Description
Occasionally, a user is seeing code that has invoked MeterRegistry#meters()
throw an exception like the one below.
Presumably, this is because a meter has been registered by another thread while the meters()
method is running.
Helidon should protect against this.
java.lang.IllegalStateException: Accept exceeded fixed size of 104
at java.base/java.util.stream.Nodes$FixedNodeBuilder.accept(Nodes.java:1233)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.HashMap$ValueSpliterator.forEachRemaining(HashMap.java:1787)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575)
at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616)
at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622)
at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627)
at io.helidon.metrics.providers.micrometer.MMeterRegistry.meters(MMeterRegistry.java:232)
Steps to reproduce
Metadata
Metadata
Assignees
Type
Projects
Status
Closed