Hi Uwe, Sorry for the late reply but upgrading the docker image to use OpenJDK was easier said that done.
I am not a Java developer/expert so, sorry for the stupid question but, how do I specify the --enable-preview flag? ES has got a quite complex way to start so I cannot specify the flag on the command line. You suggested to use a jvm.properties file but I cannot find anything useful about it when google-ing. Where should it be placed? And what should I write in it? I can see ES recognising OpenJDK 19 while bootstrapping and suggesting to enable preview, but it does not suggest how, and I cannot find anything on the ES website. Many thanks. Seb > On 2 Jan 2023, at 11:48, Uwe Schindler <u...@thetaphi.de> wrote: > > Hi, > > in general you can still use MMapDirectory. There is no requirement to set > vm.max_map_count for smaller clusters. The information in Elastics > documentation is not mandatory and misleading. > > If you use newest version of Elasticsearch with Java 19 and you use > `--enable-preview` in you jvm.properties file, you don't even need to change > that setting even with larger clusters. > > Uwe > > Am 02.01.2023 um 11:18 schrieb S S: >> We are experimenting with Elastic Search deployed in Azure Container >> Instances (Debian + OpenJDK). The ES indexes are stored into an Azure file >> share mounted via SMB (3.0). The Elastic Search cluster is made up of 4 >> nodes, each one have a separate file share to store the indices. >> >> This configuration has been influenced by some ACIs limitations, >> specifically: >> >> we cannot set the max_map_count value as we do not have access to the >> underlying host >> (https://www.elastic.co/guide/en/elasticsearch/reference/current/vm-max-map-count.html). >> Unfortunately, this is required to run an ES cluster, therefore we were >> forced to use NIOF >> ACI’s storage is ephemera, therefore we had to map volumes to persist the >> indexes. ACIs only allow volume mappings using Azure File Shares, which only >> works with NFS or SMB. >> >> We are experiencing recurring index corruption, specifically a "read past >> EOF" exception. I asked on the Elastic Search forum but the answer I got was >> a bit generic and not really helpful other than confirming that, from ES >> point of view, ES should work on an SMB share as long as it behaves as a >> local drive. As the underlying exception relates to an issue with a Lucene >> index, I was wondering if you could help out? Specifically, can Lucene work >> on SMB? I can only find sparse information on this configuration and, while >> NFS seems a no-no, for SMB is not that clear. Below is the exception we are >> getting. >> >> java.io.IOException: read past EOF: >> NIOFSIndexInput(path="/bitnami/elasticsearch/data/indices/mS2bUbLtSeG0FSAMuKX7JQ/0/index/_ldsn_1.fnm") >> buffer: java.nio.HeapByteBuffer[pos=0 lim=1024 cap=1024] chunkLen: 1024 >> end: 2331: >> NIOFSIndexInput(path="/bitnami/elasticsearch/data/indices/mS2bUbLtSeG0FSAMuKX7JQ/0/index/_ldsn_1.fnm") >> at >> org.apache.lucene.store.NIOFSDirectory$NIOFSIndexInput.readInternal(NIOFSDirectory.java:200) >> ~[lucene-core-9.3.0.jar:?] >> at >> org.apache.lucene.store.BufferedIndexInput.refill(BufferedIndexInput.java:291) >> ~[lucene-core-9.3.0.jar:?] >> at >> org.apache.lucene.store.BufferedIndexInput.readByte(BufferedIndexInput.java:55) >> ~[lucene-core-9.3.0.jar:?] >> at >> org.apache.lucene.store.BufferedChecksumIndexInput.readByte(BufferedChecksumIndexInput.java:39) >> ~[lucene-core-9.3.0.jar:?] >> at >> org.apache.lucene.codecs.CodecUtil.readBEInt(CodecUtil.java:667) >> ~[lucene-core-9.3.0.jar:?] >> at >> org.apache.lucene.codecs.CodecUtil.checkHeader(CodecUtil.java:184) >> ~[lucene-core-9.3.0.jar:?] >> at >> org.apache.lucene.codecs.CodecUtil.checkIndexHeader(CodecUtil.java:253) >> ~[lucene-core-9.3.0.jar:?] >> at >> org.apache.lucene.codecs.lucene90.Lucene90FieldInfosFormat.read(Lucene90FieldInfosFormat.java:128) >> ~[lucene-core-9.3.0.jar:?] >> at >> org.apache.lucene.index.SegmentReader.initFieldInfos(SegmentReader.java:205) >> ~[lucene-core-9.3.0.jar:?] >> at >> org.apache.lucene.index.SegmentReader.<init>(SegmentReader.java:156) >> ~[lucene-core-9.3.0.jar:?] >> at >> org.apache.lucene.index.ReadersAndUpdates.createNewReaderWithLatestLiveDocs(ReadersAndUpdates.java:738) >> ~[lucene-core-9.3.0.jar:?] >> at >> org.apache.lucene.index.ReadersAndUpdates.swapNewReaderWithLatestLiveDocs(ReadersAndUpdates.java:754) >> ~[lucene-core-9.3.0.jar:?] >> at >> org.apache.lucene.index.ReadersAndUpdates.writeFieldUpdates(ReadersAndUpdates.java:678) >> ~[lucene-core-9.3.0.jar:?] >> at >> org.apache.lucene.index.ReaderPool.writeAllDocValuesUpdates(ReaderPool.java:251) >> ~[lucene-core-9.3.0.jar:?] >> at >> org.apache.lucene.index.IndexWriter.writeReaderPool(IndexWriter.java:3743) >> ~[lucene-core-9.3.0.jar:?] >> at >> org.apache.lucene.index.IndexWriter.getReader(IndexWriter.java:591) >> ~[lucene-core-9.3.0.jar:?] >> at >> org.apache.lucene.index.StandardDirectoryReader.doOpenFromWriter(StandardDirectoryReader.java:381) >> ~[lucene-core-9.3.0.jar:?] >> at >> org.apache.lucene.index.StandardDirectoryReader.doOpenIfChanged(StandardDirectoryReader.java:355) >> ~[lucene-core-9.3.0.jar:?] >> at >> org.apache.lucene.index.StandardDirectoryReader.doOpenIfChanged(StandardDirectoryReader.java:345) >> ~[lucene-core-9.3.0.jar:?] >> at >> org.apache.lucene.index.FilterDirectoryReader.doOpenIfChanged(FilterDirectoryReader.java:112) >> ~[lucene-core-9.3.0.jar:?] >> at >> org.apache.lucene.index.DirectoryReader.openIfChanged(DirectoryReader.java:170) >> ~[lucene-core-9.3.0.jar:?] >> at >> org.elasticsearch.index.engine.ElasticsearchReaderManager.refreshIfNeeded(ElasticsearchReaderManager.java:48) >> ~[elasticsearch-8.4.1.jar:?] >> at >> org.elasticsearch.index.engine.ElasticsearchReaderManager.refreshIfNeeded(ElasticsearchReaderManager.java:27) >> ~[elasticsearch-8.4.1.jar:?] >> at >> org.apache.lucene.search.ReferenceManager.doMaybeRefresh(ReferenceManager.java:167) >> ~[lucene-core-9.3.0.jar:?] >> at >> org.apache.lucene.search.ReferenceManager.maybeRefreshBlocking(ReferenceManager.java:240) >> ~[lucene-core-9.3.0.jar:?] >> at >> org.elasticsearch.index.engine.InternalEngine$ExternalReaderManager.refreshIfNeeded(InternalEngine.java:355) >> ~[elasticsearch-8.4.1.jar:?] >> at >> org.elasticsearch.index.engine.InternalEngine$ExternalReaderManager.refreshIfNeeded(InternalEngine.java:335) >> ~[elasticsearch-8.4.1.jar:?] >> at >> org.apache.lucene.search.ReferenceManager.doMaybeRefresh(ReferenceManager.java:167) >> ~[lucene-core-9.3.0.jar:?] >> Many thanks. >> >> Seb > > -- > Uwe Schindler > Achterdiek 19, D-28357 Bremen > https://www.thetaphi.de > eMail: u...@thetaphi.de > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org > For additional commands, e-mail: java-user-h...@lucene.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org For additional commands, e-mail: java-user-h...@lucene.apache.org