Closed NotMyFault closed 10 months ago
what about just making the dependency optional and marking the extension as optional instead?
Good idea, I didn't consider that :)
untested, looks good to me though, thanks!
annotated classes must have a public no-argument constructor
Rip, can we add a dummy constructor like:
public AzureStorageBlueArtifact() {
super(null);
this.action = null;
this.artifact = null;
}
or sth else?
untested, looks good to me though, thanks!
annotated classes must have a public no-argument constructor
Rip, can we add a dummy constructor like:
public AzureStorageBlueArtifact() { super(null); this.action = null; this.artifact = null; }
or sth else?
i think so
I removed the Rest API for Blue Ocean plugin after seeing this update that it was no longer required for the Azure Storage plugin to work. After removing these plugins and restarting Jenkins, I noticed the following errors in our Jenkins system logs. As far as I can tell, everything still works as expected, but seeing these errors in the logs after restart was initially startling:
Feb 14, 2024 8:36:30 PM INFO com.microsoftopentechnologies.windowsazurestorage.helper.CredentialMigration upgradeStorageConfig
/var/lib/jenkins/com.microsoftopentechnologies.windowsazurestorage.WAStoragePublisher.xml exists, upgrade will start now...
Feb 14, 2024 8:36:30 PM INFO com.microsoftopentechnologies.windowsazurestorage.helper.CredentialMigration backupFile
/var/lib/jenkins/com.microsoftopentechnologies.windowsazurestorage.WAStoragePublisher.xml.backup has been created for backup.
Feb 14, 2024 8:36:30 PM INFO com.microsoftopentechnologies.windowsazurestorage.helper.CredentialMigration upgradeStorageConfig
Migrated successfully, deleting legacy config files...
Feb 14, 2024 8:36:30 PM INFO com.microsoftopentechnologies.windowsazurestorage.helper.CredentialMigration removeFile
com.microsoftopentechnologies.windowsazurestorage.WAStoragePublisher.xml is deleted!
Feb 14, 2024 8:36:30 PM INFO com.microsoftopentechnologies.windowsazurestorage.helper.CredentialMigration removeFile
com.microsoftopentechnologies.windowsazurestorage.WAStoragePublisher.xml.backup is deleted!
Feb 14, 2024 8:36:30 PM WARNING hudson.ExtensionFinder$Sezpoz scout
Failed to scout com.microsoftopentechnologies.windowsazurestorage.AzureStorageBlueArtifact$FactoryImpl
java.lang.ClassNotFoundException: io.jenkins.blueocean.rest.factory.BlueArtifactFactory
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:476)
at jenkins.util.URLClassLoader2.findClass(URLClassLoader2.java:35)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:594)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:527)
Caused: java.lang.NoClassDefFoundError: io/jenkins/blueocean/rest/factory/BlueArtifactFactory
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1022)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:555)
at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:458)
at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:452)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:451)
at jenkins.util.URLClassLoader2.findClass(URLClassLoader2.java:35)
at jenkins.ClassLoaderReflectionToolkit.loadClass(ClassLoaderReflectionToolkit.java:148)
at hudson.PluginManager$UberClassLoader.computeValue(PluginManager.java:2347)
at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705)
at hudson.PluginManager$UberClassLoader.findClass(PluginManager.java:2340)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:594)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:527)
at net.java.sezpoz.IndexItem.element(IndexItem.java:134)
Caused: java.lang.InstantiationException
at net.java.sezpoz.IndexItem.element(IndexItem.java:146)
at hudson.ExtensionFinder.getClassFromIndex(ExtensionFinder.java:785)
at hudson.ExtensionFinder$Sezpoz.scout(ExtensionFinder.java:770)
at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:338)
at hudson.ExtensionList.load(ExtensionList.java:384)
at hudson.ExtensionList.ensureLoaded(ExtensionList.java:320)
at hudson.ExtensionList.getComponents(ExtensionList.java:184)
at jenkins.model.Jenkins$6.onInitMilestoneAttained(Jenkins.java:1202)
at jenkins.InitReactorRunner$1.onAttained(InitReactorRunner.java:88)
at org.jvnet.hudson.reactor.ReactorListener$Aggregator.lambda$onAttained$3(ReactorListener.java:108)
at org.jvnet.hudson.reactor.ReactorListener$Aggregator.run(ReactorListener.java:116)
at org.jvnet.hudson.reactor.ReactorListener$Aggregator.onAttained(ReactorListener.java:108)
at org.jvnet.hudson.reactor.Reactor$1.run(Reactor.java:182)
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:120)
at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
Feb 14, 2024 8:36:31 PM WARNING hudson.ExtensionFinder$Sezpoz _find
Failed to load com.microsoftopentechnologies.windowsazurestorage.AzureStorageBlueArtifact$FactoryImpl
java.lang.ClassNotFoundException: io.jenkins.blueocean.rest.factory.BlueArtifactFactory
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:476)
at jenkins.util.URLClassLoader2.findClass(URLClassLoader2.java:35)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:594)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:527)
Caused: java.lang.NoClassDefFoundError: io/jenkins/blueocean/rest/factory/BlueArtifactFactory
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1022)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:555)
at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:458)
at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:452)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:451)
at jenkins.util.URLClassLoader2.findClass(URLClassLoader2.java:35)
at jenkins.ClassLoaderReflectionToolkit.loadClass(ClassLoaderReflectionToolkit.java:148)
at hudson.PluginManager$UberClassLoader.computeValue(PluginManager.java:2347)
at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705)
at hudson.PluginManager$UberClassLoader.findClass(PluginManager.java:2340)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:594)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:527)
at net.java.sezpoz.IndexItem.element(IndexItem.java:134)
Caused: java.lang.InstantiationException
at net.java.sezpoz.IndexItem.element(IndexItem.java:146)
at hudson.ExtensionFinder.getClassFromIndex(ExtensionFinder.java:785)
at hudson.ExtensionFinder$Sezpoz._find(ExtensionFinder.java:745)
at hudson.ExtensionFinder$Sezpoz.find(ExtensionFinder.java:734)
at hudson.ExtensionFinder$GuiceFinder.refreshExtensionAnnotations(ExtensionFinder.java:301)
at hudson.ExtensionFinder$GuiceFinder.<init>(ExtensionFinder.java:262)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
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.lang.Class.newInstance(Class.java:584)
at net.java.sezpoz.IndexItem.instance(IndexItem.java:181)
at hudson.ExtensionFinder$Sezpoz._find(ExtensionFinder.java:748)
at hudson.ExtensionFinder$Sezpoz.find(ExtensionFinder.java:734)
at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:344)
at hudson.ExtensionList.load(ExtensionList.java:384)
at hudson.ExtensionList.ensureLoaded(ExtensionList.java:320)
at hudson.ExtensionList.getComponents(ExtensionList.java:184)
at jenkins.model.Jenkins$6.onInitMilestoneAttained(Jenkins.java:1202)
at jenkins.InitReactorRunner$1.onAttained(InitReactorRunner.java:88)
at org.jvnet.hudson.reactor.ReactorListener$Aggregator.lambda$onAttained$3(ReactorListener.java:108)
at org.jvnet.hudson.reactor.ReactorListener$Aggregator.run(ReactorListener.java:116)
at org.jvnet.hudson.reactor.ReactorListener$Aggregator.onAttained(ReactorListener.java:108)
at org.jvnet.hudson.reactor.Reactor$1.run(Reactor.java:182)
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:120)
at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
Feb 14, 2024 8:36:31 PM WARNING hudson.ExtensionFinder$Sezpoz _find
Failed to load com.microsoftopentechnologies.windowsazurestorage.AzureStorageBlueArtifact$FactoryImpl
java.lang.ClassNotFoundException: io.jenkins.blueocean.rest.factory.BlueArtifactFactory
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:476)
at jenkins.util.URLClassLoader2.findClass(URLClassLoader2.java:35)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:594)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:527)
Caused: java.lang.NoClassDefFoundError: io/jenkins/blueocean/rest/factory/BlueArtifactFactory
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1022)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:555)
at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:458)
at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:452)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:451)
at jenkins.util.URLClassLoader2.findClass(URLClassLoader2.java:35)
at jenkins.ClassLoaderReflectionToolkit.loadClass(ClassLoaderReflectionToolkit.java:148)
at hudson.PluginManager$UberClassLoader.computeValue(PluginManager.java:2347)
at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705)
at hudson.PluginManager$UberClassLoader.findClass(PluginManager.java:2340)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:594)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:527)
at net.java.sezpoz.IndexItem.element(IndexItem.java:134)
Caused: java.lang.InstantiationException
at net.java.sezpoz.IndexItem.element(IndexItem.java:146)
at hudson.ExtensionFinder.getClassFromIndex(ExtensionFinder.java:785)
at hudson.ExtensionFinder$Sezpoz._find(ExtensionFinder.java:745)
at hudson.ExtensionFinder$Sezpoz.find(ExtensionFinder.java:734)
at hudson.ExtensionFinder$GuiceFinder.<init>(ExtensionFinder.java:277)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
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.lang.Class.newInstance(Class.java:584)
at net.java.sezpoz.IndexItem.instance(IndexItem.java:181)
at hudson.ExtensionFinder$Sezpoz._find(ExtensionFinder.java:748)
at hudson.ExtensionFinder$Sezpoz.find(ExtensionFinder.java:734)
at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:344)
at hudson.ExtensionList.load(ExtensionList.java:384)
at hudson.ExtensionList.ensureLoaded(ExtensionList.java:320)
at hudson.ExtensionList.getComponents(ExtensionList.java:184)
at jenkins.model.Jenkins$6.onInitMilestoneAttained(Jenkins.java:1202)
at jenkins.InitReactorRunner$1.onAttained(InitReactorRunner.java:88)
at org.jvnet.hudson.reactor.ReactorListener$Aggregator.lambda$onAttained$3(ReactorListener.java:108)
at org.jvnet.hudson.reactor.ReactorListener$Aggregator.run(ReactorListener.java:116)
at org.jvnet.hudson.reactor.ReactorListener$Aggregator.onAttained(ReactorListener.java:108)
at org.jvnet.hudson.reactor.Reactor$1.run(Reactor.java:182)
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:120)
at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
Feb 14, 2024 8:36:32 PM WARNING hudson.ExtensionFinder$GuiceFinder$SezpozModule configure
Failed to load com.microsoftopentechnologies.windowsazurestorage.AzureStorageBlueArtifact$FactoryImpl
java.lang.ClassNotFoundException: io.jenkins.blueocean.rest.factory.BlueArtifactFactory
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:476)
at jenkins.util.URLClassLoader2.findClass(URLClassLoader2.java:35)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:594)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:527)
Caused: java.lang.NoClassDefFoundError: io/jenkins/blueocean/rest/factory/BlueArtifactFactory
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1022)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:555)
at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:458)
at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:452)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:451)
at jenkins.util.URLClassLoader2.findClass(URLClassLoader2.java:35)
at jenkins.ClassLoaderReflectionToolkit.loadClass(ClassLoaderReflectionToolkit.java:148)
at hudson.PluginManager$UberClassLoader.computeValue(PluginManager.java:2347)
at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705)
at hudson.PluginManager$UberClassLoader.findClass(PluginManager.java:2340)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:594)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:527)
at net.java.sezpoz.IndexItem.element(IndexItem.java:134)
Caused: java.lang.InstantiationException
at net.java.sezpoz.IndexItem.element(IndexItem.java:146)
at hudson.ExtensionFinder$GuiceFinder$SezpozModule.configure(ExtensionFinder.java:566)
at com.google.inject.AbstractModule.configure(AbstractModule.java:64)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:426)
at com.google.inject.spi.Elements.getElements(Elements.java:113)
at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:160)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107)
at com.google.inject.Guice.createInjector(Guice.java:87)
at com.google.inject.Guice.createInjector(Guice.java:69)
at hudson.ExtensionFinder$GuiceFinder.<init>(ExtensionFinder.java:282)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
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.lang.Class.newInstance(Class.java:584)
at net.java.sezpoz.IndexItem.instance(IndexItem.java:181)
at hudson.ExtensionFinder$Sezpoz._find(ExtensionFinder.java:748)
at hudson.ExtensionFinder$Sezpoz.find(ExtensionFinder.java:734)
at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:344)
at hudson.ExtensionList.load(ExtensionList.java:384)
at hudson.ExtensionList.ensureLoaded(ExtensionList.java:320)
at hudson.ExtensionList.getComponents(ExtensionList.java:184)
at jenkins.model.Jenkins$6.onInitMilestoneAttained(Jenkins.java:1202)
at jenkins.InitReactorRunner$1.onAttained(InitReactorRunner.java:88)
at org.jvnet.hudson.reactor.ReactorListener$Aggregator.lambda$onAttained$3(ReactorListener.java:108)
at org.jvnet.hudson.reactor.ReactorListener$Aggregator.run(ReactorListener.java:116)
at org.jvnet.hudson.reactor.ReactorListener$Aggregator.onAttained(ReactorListener.java:108)
at org.jvnet.hudson.reactor.Reactor$1.run(Reactor.java:182)
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:120)
at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
Feb 14, 2024 8:36:33 PM WARNING hudson.ExtensionFinder$Sezpoz _find
Failed to load com.microsoftopentechnologies.windowsazurestorage.AzureStorageBlueArtifact$FactoryImpl
java.lang.ClassNotFoundException: io.jenkins.blueocean.rest.factory.BlueArtifactFactory
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:476)
at jenkins.util.URLClassLoader2.findClass(URLClassLoader2.java:35)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:594)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:527)
Caused: java.lang.NoClassDefFoundError: io/jenkins/blueocean/rest/factory/BlueArtifactFactory
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1022)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:555)
at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:458)
at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:452)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:451)
at jenkins.util.URLClassLoader2.findClass(URLClassLoader2.java:35)
at jenkins.ClassLoaderReflectionToolkit.loadClass(ClassLoaderReflectionToolkit.java:148)
at hudson.PluginManager$UberClassLoader.computeValue(PluginManager.java:2347)
at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705)
at hudson.PluginManager$UberClassLoader.findClass(PluginManager.java:2340)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:594)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:527)
at net.java.sezpoz.IndexItem.element(IndexItem.java:134)
Caused: java.lang.InstantiationException
at net.java.sezpoz.IndexItem.element(IndexItem.java:146)
at hudson.ExtensionFinder.getClassFromIndex(ExtensionFinder.java:785)
at hudson.ExtensionFinder$Sezpoz._find(ExtensionFinder.java:745)
at hudson.ExtensionFinder$Sezpoz.find(ExtensionFinder.java:734)
at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:344)
at hudson.ExtensionList.load(ExtensionList.java:384)
at hudson.ExtensionList.ensureLoaded(ExtensionList.java:320)
at hudson.ExtensionList.getComponents(ExtensionList.java:184)
at jenkins.model.Jenkins$6.onInitMilestoneAttained(Jenkins.java:1202)
at jenkins.InitReactorRunner$1.onAttained(InitReactorRunner.java:88)
at org.jvnet.hudson.reactor.ReactorListener$Aggregator.lambda$onAttained$3(ReactorListener.java:108)
at org.jvnet.hudson.reactor.ReactorListener$Aggregator.run(ReactorListener.java:116)
at org.jvnet.hudson.reactor.ReactorListener$Aggregator.onAttained(ReactorListener.java:108)
at org.jvnet.hudson.reactor.Reactor$1.run(Reactor.java:182)
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:120)
at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
Fixes #278
As a user of the azure-storage plugin who doesn't use BO at all, it's frustrating that I need this dependency installed. Would you strongly object to removing the BO integration all together @timja?
It was added in 2018 when BO was alive, but 6 years later, it's declared abandoned and EOL. I see no real reason why we should keep up an integration for an end-of-life plugin.