Issue Summary
Bamboo fails to scan yaml specs with the error. Adding `-Dbamboo.specs.max.aliases.for.collections=3000` to server JAVA_OPTS does not help.
Specs scanning log:
Bamboo YAML import failed: Invalid format of the YAML file: Number of aliases for non-scalar nodes exceeds the specified max=50
Bamboo server log:
2020-08-13 04:57:23,023 INFO [AtlassianEvent::0-BAM::EVENTS:pool-1-thread-3] [BitbucketServerRssStatusUpdater] Sending RSS notification to Stash (repository: specsio)2020-08-13 04:57:23,023 INFO [AtlassianEvent::0-BAM::EVENTS:pool-1-thread-3] [BitbucketServerRssStatusUpdater] Sending RSS notification to Stash (repository: specsio)2020-08-13 04:57:23,034 INFO [16-BAM::SpecsDetection:pool-23-thread-3] [RssDetectionRunnable] Exception while executing RSS detection for RssDetectionWork[repository=1507343,branch=master]com.atlassian.bamboo.specs.yaml.YamlSpecsValidationException: Invalid format of the YAML file: Number of aliases for non-scalar nodes exceeds the specified max=50 at com.atlassian.bamboo.configuration.external.yaml.BambooYamlSpecsServiceImpl.splitDocuments(BambooYamlSpecsServiceImpl.java:54) at com.atlassian.bamboo.configuration.external.rss.YamlSpecsImportServiceImpl.processSimplifiedYaml(YamlSpecsImportServiceImpl.java:106) at com.atlassian.bamboo.configuration.external.RepositoryStoredSpecsServiceImpl.tryProcessYaml(RepositoryStoredSpecsServiceImpl.java:290) at com.atlassian.bamboo.configuration.external.RepositoryStoredSpecsServiceImpl.runBambooSpecs(RepositoryStoredSpecsServiceImpl.java:155) at com.atlassian.bamboo.configuration.external.RssDetectionServiceImpl.runRssDetection(RssDetectionServiceImpl.java:330) at com.atlassian.bamboo.configuration.external.detection.RssDetectionRunnable.run(RssDetectionRunnable.java:42) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at com.atlassian.bamboo.utils.BambooRunnables$1.run(BambooRunnables.java:48) at com.atlassian.bamboo.security.ImpersonationHelper.runWith(ImpersonationHelper.java:26) at com.atlassian.bamboo.security.ImpersonationHelper.runWithSystemAuthority(ImpersonationHelper.java:17) at com.atlassian.bamboo.security.ImpersonationHelper$1.run(ImpersonationHelper.java:41) at java.lang.Thread.run(Thread.java:748)Caused by: org.yaml.snakeyaml.error.YAMLException: Number of aliases for non-scalar nodes exceeds the specified max=50 at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:147) at org.yaml.snakeyaml.composer.Composer.composeValueNode(Composer.java:257) at org.yaml.snakeyaml.composer.Composer.composeMappingChildren(Composer.java:248) at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:236) at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:162) at org.yaml.snakeyaml.composer.Composer.composeValueNode(Composer.java:257) at org.yaml.snakeyaml.composer.Composer.composeMappingChildren(Composer.java:248) at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:236) at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:162) at org.yaml.snakeyaml.composer.Composer.composeValueNode(Composer.java:257) at org.yaml.snakeyaml.composer.Composer.composeMappingChildren(Composer.java:248) at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:236) at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:162) at org.yaml.snakeyaml.composer.Composer.getNode(Composer.java:95) at org.yaml.snakeyaml.constructor.BaseConstructor.getData(BaseConstructor.java:134) at org.yaml.snakeyaml.Yaml$1.next(Yaml.java:494) at com.atlassian.bamboo.configuration.external.yaml.BambooYamlSpecsServiceImpl.splitDocuments(BambooYamlSpecsServiceImpl.java:46) ... 14 more
Steps to Reproduce
Scan repo with yaml spec file in the attachment
Expected Results
Spec scanning is a success
Actual Results
Spec scanning fails
Workaround
Currently there is no known workaround for this behavior. A workaround will be added here when available