Move file size – How to solve this Elasticsearch error

Opster Team

Aug-23, Version: 2.3-2.3

Briefly, this error occurs when Elasticsearch attempts to move a file that is larger than the maximum allowed size. This could be due to a configuration issue or a limitation of the underlying file system. To resolve this issue, you can try to increase the maximum allowed file size in your Elasticsearch configuration. Alternatively, you can split the large file into smaller chunks that are within the allowed size limit. Lastly, consider upgrading your file system to one that supports larger files if the current one is causing the limitation.

This guide will help you check for common problems that cause the log ” {} move file [{}] size: [{}] ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: discovery-file.

Log Context

Log “{} move file [{}] size: [{}]” classname is MultiDataPathUpgrader.java.
We extracted the following from Elasticsearch source code for those seeking an in-depth context :

                         Files.createDirectories(targetDir);
                        for (Path file : stream) {
                            if (IndexWriter.WRITE_LOCK_NAME.equals(file.getFileName().toString()) || Files.isDirectory(file)) {
                                continue; // skip write.lock
                            }
                            logger.info("{} move file [{}] size: [{}]"; shard; file.getFileName(); Files.size(file));
                            final Path targetFile = targetDir.resolve(file.getFileName());
                            /* We are pessimistic and do a copy first to the other path and then and atomic move to rename it such that
                               in the worst case the file exists twice but is never lost or half written.*/
                            final Path targetTempFile = Files.createTempFile(targetDir; "upgrade_"; "_" + file.getFileName().toString());
                            Files.copy(file; targetTempFile; StandardCopyOption.COPY_ATTRIBUTES; StandardCopyOption.REPLACE_EXISTING);




 

How helpful was this guide?

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?