-
-
Notifications
You must be signed in to change notification settings - Fork 2k
Closed
Description
👓 What did you see?
- It looks like IncrementingUuidGenerator cannot close/reuse sessionId´s if testcases have a short execution time
- CucumberException: Out of IncrementingUuidGenerator capacity. Please reuse existing instances or use another UuidGenerator implementation instead.
Stacktrace:
Exception in thread "main" java.util.ServiceConfigurationError: io.cucumber.core.eventbus.UuidGenerator: Provider io.cucumber.core.eventbus.IncrementingUuidGenerator could not be instantiated
at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:582)
at java.base/java.util.ServiceLoader$ProviderImpl.newInstance(ServiceLoader.java:804)
at java.base/java.util.ServiceLoader$ProviderImpl.get(ServiceLoader.java:722)
at java.base/java.util.ServiceLoader$3.next(ServiceLoader.java:1395)
at io.cucumber.core.runtime.UuidGeneratorServiceLoader.loadSingleUuidGeneratorOrDefault(UuidGeneratorServiceLoader.java:60)
at io.cucumber.core.runtime.UuidGeneratorServiceLoader.loadUuidGenerator(UuidGeneratorServiceLoader.java:46)
at io.cucumber.core.runtime.Runtime$Builder.build(Runtime.java:180)
at io.cucumber.core.cli.Main.run(Main.java:85)
at ta.TestRunner.main(TestRunner.java:59)
Caused by: io.cucumber.core.exception.CucumberException: Out of IncrementingUuidGenerator capacity. Please reuse existing instances or use another UuidGenerator implementation instead.
at io.cucumber.core.eventbus.IncrementingUuidGenerator.<init>(IncrementingUuidGenerator.java:102)
at jdk.internal.reflect.GeneratedConstructorAccessor87.newInstance(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at java.base/java.util.ServiceLoader$ProviderImpl.newInstance(ServiceLoader.java:780)
... 7 more
✅ What did you expect to see?
I would expect, that some other UUidGenerator would be used, if MAX_SESSION_ID from IncrementingUuidGenerator is out of capacity or the existing instances are reused
📦 Which tool/library version are you using?
io.cucumber, cucumber-junit, v7.19.0
org.seleniumhq.selenium, selenium-java, v.4.17.0
🔬 How could we reproduce it?
Not sure about steps to reproduce, any calls against an api should do the trick
📚 Any additional context?
- Workaround: Use io.cucumber, cucumber-junit v7.11.2 (last version before changes on UUID generator mentioned below)
- Found this issue: [Core] Add faster UUID generator selectable through SPI #2703 merged in 04/2023
- Some testcases have > 100 Steps
- Some testcases are very quick < 200 ms
- Nearly no break in between test executions
- Before the Exception there are two big AND fast testcases (111 Steps - 0,354s and 52 Steps - 0,229s)
- Steps and times in log
Metadata
Metadata
Assignees
Labels
No labels