ROR 1.64.0 for ES9.0.1 Windows setup

Hello.
I am trying to install ROR 1.64.0 on a clean ES9.0.1 setup on a Windows 11 pro operating system.
Pluging install (with elasticsearch-plugin command) is ok.
When trying to apply the patch there is an error :

PS C:\Temp\es9\elasticsearch-9.0.1> jdk/bin/java -jar plugins/readonlyrest/ror-tools.jar patch --I_UNDERSTAND_AND_ACCEPT_ES_PATCHING=yes
WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
WARNING: sun.misc.Unsafe::objectFieldOffset has been called by tech.beshu.ror.tools.scala.runtime.LazyVals$ (file:/C:/Temp/es9/elasticsearch-9.0.1/plugins/readonlyrest/ror-tools.jar)
WARNING: Please consider reporting this to the maintainers of class tech.beshu.ror.tools.scala.runtime.LazyVals$
WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
Checking if Elasticsearch is patched ...
Creating backup ...
Patching ...
java.lang.IllegalStateException: Could not add ROR version to jar file elasticsearch-9.0.1.jar
        at tech.beshu.ror.tools.tech.beshu.ror.tools.core.patches.internal.filePatchers.JarManifestModifier$.addPatchedByRorVersionProperty$$anonfun$3(JarManifestModifier.scala:41)
        at tech.beshu.ror.tools.scala.util.Failure.getOrElse(Try.scala:219)
        at tech.beshu.ror.tools.tech.beshu.ror.tools.core.patches.internal.filePatchers.JarManifestModifier$.addPatchedByRorVersionProperty(JarManifestModifier.scala:41)
        at tech.beshu.ror.tools.tech.beshu.ror.tools.core.patches.internal.FileModifiersBasedPatch$.addPatchedByRorVersionPropertyToJarManifest(FilePatch.scala:72)
        at tech.beshu.ror.tools.tech.beshu.ror.tools.core.patches.internal.FileModifiersBasedPatch.patch(FilePatch.scala:57)
        at tech.beshu.ror.tools.tech.beshu.ror.tools.core.patches.internal.MultiFilePatch.patch$$anonfun$2(FilePatch.scala:85)
        at tech.beshu.ror.tools.scala.collection.immutable.List.flatMap(List.scala:293)
        at tech.beshu.ror.tools.scala.collection.immutable.List.flatMap(List.scala:79)
        at tech.beshu.ror.tools.tech.beshu.ror.tools.core.patches.internal.MultiFilePatch.patch(FilePatch.scala:85)
        at tech.beshu.ror.tools.tech.beshu.ror.tools.core.patches.base.SimpleEsPatch.performPatching(SimpleEsPatch.scala:43)
        at tech.beshu.ror.tools.tech.beshu.ror.tools.core.patches.base.EsPatchExecutor.doPatch$$anonfun$1(EsPatchExecutor.scala:76)
        at tech.beshu.ror.tools.scala.util.Try$.apply(Try.scala:210)
        at tech.beshu.ror.tools.tech.beshu.ror.tools.core.patches.base.EsPatchExecutor.doPatch(EsPatchExecutor.scala:76)
        at tech.beshu.ror.tools.tech.beshu.ror.tools.core.patches.base.EsPatchExecutor.patch(EsPatchExecutor.scala:39)
        at tech.beshu.ror.tools.RorTools$PatchCommandHandler.performPatching(RorToolsApp.scala:113)
        at tech.beshu.ror.tools.RorTools$PatchCommandHandler.handle(RorToolsApp.scala:99)
        at tech.beshu.ror.tools.RorTools.handleParsedArguments$$anonfun$1(RorToolsApp.scala:75)
        at tech.beshu.ror.tools.scala.util.Try$.apply(Try.scala:210)
        at tech.beshu.ror.tools.RorTools.handleParsedArguments(RorToolsApp.scala:81)
        at tech.beshu.ror.tools.RorTools.run(RorToolsApp.scala:65)
        at tech.beshu.ror.tools.RorTools.run$(RorToolsApp.scala:50)
        at tech.beshu.ror.tools.RorToolsApp$.run(RorToolsApp.scala:28)
        at tech.beshu.ror.tools.RorToolsApp$.main(RorToolsApp.scala:34)
        at tech.beshu.ror.tools.RorToolsApp.main(RorToolsApp.scala)
UNEXPECTED ERROR: Could not add ROR version to jar file elasticsearch-9.0.1.jar
()

Any idea how to fix the problem ?
Regards
Stephen

Thanks for the report. We will check this.
BTW, shouldn’t you use the custom ES path?

Sorry, what do you mean by “use the custom ES path” ?

Hello

We’ve managed to reproduce the issue on Windows environment. We think that we’ve found its cause. We will provide ROR prebuild version as soon as the fix is tested and ready.

Ror tools allow to specify a custom ES directory that will be patched/unpatched. It is done by providing --es-path parameter, as described here: For Elasticsearch | ReadonlyREST. But we checked, and it is not the cause of the error and should not be needed in this case.

Michał
Support Team

Ok, perfect, many thanks.
I can quickely test your pre build if you share the files !
Regards,
Stephen

Hello, here’s the link to the prebuild version: 1.65.0-pre2 for ES 9.0.1

Ok, I can confirm this version can patch ES9, thanks !
But I still have a problem:
This ES9 version is not compatible with our elasticsearch 8.14.3 database, and we need to upgrade first to 8.18.0
So I’ve try ES8.18.0 clean install with readonlyrest-1.64.1_es8.18.0.zip and there is here the same problem with this version…

So, sorry about that, but can you also produce an updated ROR version for Elasticsearch 8.18.0 with the fix in ?

Or maybe you can confirm readonlyrest-1.65.0-pre2_es9.0.1.zip is also valid for a Elasticsearch 8.18.0 install ?

Thanks in advance,
Stephen

@Stephen here it is ROR 1.65.0-pre2 for ES 8.18.0

Thanks for the confirmation. Now, we can release 1.64.2 with the fix (we’re going to do this over the weekend)

Thanks. i confirm ROR 1.65 for ES8.18 is also ok !

1 Like

ROR 1.64.2 with the fix was released today