Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] NoSuchMethodError: java.nio.file.Path.of(Ljava/lang/String;[Ljava/lang/String;) on Java 1.8 #1591

Closed
chenwei182729 opened this issue Nov 19, 2021 · 9 comments
Labels

Comments

@chenwei182729
Copy link

There are something wrong when i run openseach on jvm 1.8

  1. jvm
java version "1.8.0_301"
Java(TM) SE Runtime Environment (build 1.8.0_301-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.301-b09, mixed mode)
  1. os
Linux 5.11.0-40-generic #44~20.04.2-Ubuntu SMP Tue Oct 26 18:07:44 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
  1. openstack version
    opensearch-1.1.0-linux-x64.tar.gz
  2. error info
java.lang.NoSuchMethodError: java.nio.file.Path.of(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
	at org.opensearch.notebooks.settings.PluginSettings.<clinit>(PluginSettings.kt:269) ~[?:?]
	at org.opensearch.notebooks.NotebooksPlugin.getSettings(NotebooksPlugin.kt:79) ~[?:?]
	at org.opensearch.plugins.PluginsService.lambda$getPluginSettings$0(PluginsService.java:107) ~[opensearch-1.1.0.jar:1.1.0]
	at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:267) ~[?:1.8.0_301]
	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1384) ~[?:1.8.0_301]
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) ~[?:1.8.0_301]
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) ~[?:1.8.0_301]
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) ~[?:1.8.0_301]
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_301]
	at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) ~[?:1.8.0_301]
	at org.opensearch.plugins.PluginsService.getPluginSettings(PluginsService.java:107) ~[opensearch-1.1.0.jar:1.1.0]
	at org.opensearch.node.Node.<init>(Node.java:398) ~[opensearch-1.1.0.jar:1.1.0]
	at org.opensearch.node.Node.<init>(Node.java:301) ~[opensearch-1.1.0.jar:1.1.0]
	at org.opensearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:240) ~[opensearch-1.1.0.jar:1.1.0]
	at org.opensearch.bootstrap.Bootstrap.setup(Bootstrap.java:240) ~[opensearch-1.1.0.jar:1.1.0]
	at org.opensearch.bootstrap.Bootstrap.init(Bootstrap.java:406) ~[opensearch-1.1.0.jar:1.1.0]
	at org.opensearch.bootstrap.OpenSearch.init(OpenSearch.java:182) ~[opensearch-1.1.0.jar:1.1.0]
	at org.opensearch.bootstrap.OpenSearch.execute(OpenSearch.java:173) ~[opensearch-1.1.0.jar:1.1.0]
	at org.opensearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:99) ~[opensearch-1.1.0.jar:1.1.0]
	at org.opensearch.cli.Command.mainWithoutErrorHandling(Command.java:140) ~[opensearch-cli-1.1.0.jar:1.1.0]
	at org.opensearch.cli.Command.main(Command.java:103) ~[opensearch-cli-1.1.0.jar:1.1.0]
	at org.opensearch.bootstrap.OpenSearch.main(OpenSearch.java:139) ~[opensearch-1.1.0.jar:1.1.0]
	at org.opensearch.bootstrap.OpenSearch.main(OpenSearch.java:105) ~[opensearch-1.1.0.jar:1.1.0]
fatal error in thread [main], exiting
java.lang.NoSuchMethodError: java.nio.file.Path.of(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
	at org.opensearch.notebooks.settings.PluginSettings.<clinit>(PluginSettings.kt:269)
	at org.opensearch.notebooks.NotebooksPlugin.getSettings(NotebooksPlugin.kt:79)
	at org.opensearch.plugins.PluginsService.lambda$getPluginSettings$0(PluginsService.java:107)
	at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:267)
	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1384)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
	at org.opensearch.plugins.PluginsService.getPluginSettings(PluginsService.java:107)
	at org.opensearch.node.Node.<init>(Node.java:398)
	at org.opensearch.node.Node.<init>(Node.java:301)
	at org.opensearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:240)
	at org.opensearch.bootstrap.Bootstrap.setup(Bootstrap.java:240)
	at org.opensearch.bootstrap.Bootstrap.init(Bootstrap.java:406)
	at org.opensearch.bootstrap.OpenSearch.init(OpenSearch.java:182)
	at org.opensearch.bootstrap.OpenSearch.execute(OpenSearch.java:173)
	at org.opensearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:99)
	at org.opensearch.cli.Command.mainWithoutErrorHandling(Command.java:140)
	at org.opensearch.cli.Command.main(Command.java:103)
	at org.opensearch.bootstrap.OpenSearch.main(OpenSearch.java:139)
	at org.opensearch.bootstrap.OpenSearch.main(OpenSearch.java:105)
@chenwei182729 chenwei182729 added bug Something isn't working untriaged labels Nov 19, 2021
@anasalkouz anasalkouz changed the title [BUG] [BUG] NoSuchMethodError: java.nio.file.Path.of(Ljava/lang/String;[Ljava/lang/String;) on Java 1.8 Nov 23, 2021
@anasalkouz
Copy link
Member

anasalkouz commented Nov 23, 2021

Track if we missed running integration tests with plugins on Java 1.8. It looks a problem with notebooks plugin.

@joshuali925
Copy link
Member

notebooks is merged into observability, but I'm able to confirm the issue on 1.2 observability. We will look into this, as a workaround could you try running it with JAVA_HOME= ./bin/opensearch? This worked for me as it's going to use the JDK bundled in OpenSearch, which is JDK 15

@anirudha
Copy link

anirudha commented Nov 23, 2021

opensearch-project/opensearch-plugins#64
pending for java 8 support on plugins

@jcgraybill
Copy link

Looks like affected plugins are reports-scheduler, notebooks, observability - from that list above. (Everything else is test, unreleased, or data-prepper.) Pls create issues and fix in all three for the 1.3 release.

@saratvemulapalli
Copy link
Member

@joshuali925 / @anirudha I see notebooks plugin is already being built for 1.8. But we are using it with JDK 14.
Ref: https://github.com/opensearch-project/notifications/blob/main/notifications/build.gradle#L78
(I couldn't find a repo for observability)

Integration tests are being run with JDK 14.
Ref: https://github.com/opensearch-project/notifications/blob/main/.github/workflows/notifications-test-and-build-workflow.yml#L38

Yeah looks like even though plugins are being built for JDK 8/ Java version string 1.8, we are only testing it in JDK 14 or the bundled JDK with OpenSearch.

As @anirudha said opensearch-project/opensearch-plugins#64 should be completed before we can support them.

@dblock dblock added the v1.3.0 label Nov 24, 2021
@dblock
Copy link
Member

dblock commented Nov 24, 2021

Let's sort this all out for 1.3, starting with opensearch-project/opensearch-plugins#64 across all plugins.

@dblock
Copy link
Member

dblock commented Mar 10, 2022

@dblock
Copy link
Member

dblock commented Mar 15, 2022

OpenSearch 1.3.0 has restored JDK8 support via opensearch-project/opensearch-plugins#64. Please reopen if you're still seeing problems on JDK8. Note that in 2.0 support for JDK8 will be removed.

@dblock dblock closed this as completed Mar 15, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

7 participants