[
https://issues.apache.org/jira/browse/SOLR-9859?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15751963#comment-15751963
]
Mark Miller commented on SOLR-9859:
-----------------------------------
bq. but it's impl dependent on if that is supported and it wouldn't work for
the arbitrary FileSystem's we support
I've read this should actually work across the major operating systems (I'd
expect it on Unix systems, but seems Windows should be fine too).
We can support it on HDFS as well it seems. So perhaps something like this is
the easiest solution.
> replication.properties does not get updated the second time around if index
> recovers via replication
> ----------------------------------------------------------------------------------------------------
>
> Key: SOLR-9859
> URL: https://issues.apache.org/jira/browse/SOLR-9859
> Project: Solr
> Issue Type: Bug
> Security Level: Public(Default Security Level. Issues are Public)
> Affects Versions: 5.5.3, 6.3
> Reporter: Pushkar Raste
> Assignee: Mark Miller
> Priority: Minor
> Attachments: SOLR-9859.patch, SOLR-9859.patch
>
>
> If a shard recovers via replication (vs PeerSync) a file named
> {{replication.properties}} gets created. If the same shard recovers once more
> via replication, IndexFetcher fails to write latest replication information
> as it tries to create {{replication.properties}} but as file already exists.
> Here is the stack trace I saw
> {code}
> java.nio.file.FileAlreadyExistsException:
> <solr_home>\shard-3-001\cores\collection1\data\replication.properties
> at sun.nio.fs.WindowsException.translateToIOException(Unknown Source)
> at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
> at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
> at sun.nio.fs.WindowsFileSystemProvider.newByteChannel(Unknown Source)
> at java.nio.file.spi.FileSystemProvider.newOutputStream(Unknown Source)
> at java.nio.file.Files.newOutputStream(Unknown Source)
> at
> org.apache.lucene.store.FSDirectory$FSIndexOutput.<init>(FSDirectory.java:413)
> at
> org.apache.lucene.store.FSDirectory$FSIndexOutput.<init>(FSDirectory.java:409)
> at
> org.apache.lucene.store.FSDirectory.createOutput(FSDirectory.java:253)
> at
> org.apache.solr.handler.IndexFetcher.logReplicationTimeAndConfFiles(IndexFetcher.java:689)
> at
> org.apache.solr.handler.IndexFetcher.fetchLatestIndex(IndexFetcher.java:501)
> at
> org.apache.solr.handler.IndexFetcher.fetchLatestIndex(IndexFetcher.java:265)
> at
> org.apache.solr.handler.ReplicationHandler.doFetch(ReplicationHandler.java:397)
> at
> org.apache.solr.cloud.RecoveryStrategy.replicate(RecoveryStrategy.java:157)
> at
> org.apache.solr.cloud.RecoveryStrategy.doRecovery(RecoveryStrategy.java:409)
> at org.apache.solr.cloud.RecoveryStrategy.run(RecoveryStrategy.java:222)
> at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
> at java.util.concurrent.FutureTask.run(Unknown Source)
> at
> org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor.lambda$0(ExecutorUtil.java:229)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> at java.lang.Thread.run(Unknown Source)
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]