Răsfoiți Sursa

Remove FileSystemUtils#maxOpenFiles

This method basically forcefully creates as many files as possible
to find out the process limit in a brute-force manner. The number of
possible probles with this approach would exceed the number of lines
left on this commit message.

This commit uses a JMX based alternative to print the process limit.
Simon Willnauer 11 ani în urmă
părinte
comite
8dd5dd409e

+ 2 - 1
src/main/java/org/elasticsearch/bootstrap/Bootstrap.java

@@ -32,6 +32,7 @@ import org.elasticsearch.common.logging.log4j.LogConfigurator;
 import org.elasticsearch.common.settings.Settings;
 import org.elasticsearch.env.Environment;
 import org.elasticsearch.monitor.jvm.JvmInfo;
+import org.elasticsearch.monitor.process.JmxProcessProbe;
 import org.elasticsearch.node.Node;
 import org.elasticsearch.node.NodeBuilder;
 import org.elasticsearch.node.internal.InternalSettingsPreparer;
@@ -183,7 +184,7 @@ public class Bootstrap {
 
         if (System.getProperty("es.max-open-files", "false").equals("true")) {
             ESLogger logger = Loggers.getLogger(Bootstrap.class);
-            logger.info("max_open_files [{}]", FileSystemUtils.maxOpenFiles(new File(tuple.v2().workFile(), "open_files")));
+            logger.info("max_open_files [{}]", JmxProcessProbe.getMaxFileDescriptorCount());
         }
 
         // warn if running using the client VM

+ 0 - 30
src/main/java/org/elasticsearch/common/io/FileSystemUtils.java

@@ -20,18 +20,13 @@
 package org.elasticsearch.common.io;
 
 import org.apache.lucene.util.Constants;
-import org.apache.lucene.util.IOUtils;
 import org.apache.lucene.util.ThreadInterruptedException;
 import org.elasticsearch.Version;
 import org.elasticsearch.common.logging.ESLogger;
-import org.elasticsearch.common.logging.ESLoggerFactory;
-import org.elasticsearch.common.unit.TimeValue;
 
 import java.io.*;
 import java.nio.channels.FileChannel;
 import java.nio.file.StandardOpenOption;
-import java.util.ArrayList;
-import java.util.List;
 
 /**
  *
@@ -66,31 +61,6 @@ public class FileSystemUtils {
         }
     }
 
-    public static int maxOpenFiles(File testDir) {
-        boolean dirCreated = false;
-        if (!testDir.exists()) {
-            dirCreated = true;
-            testDir.mkdirs();
-        }
-        List<RandomAccessFile> files = new ArrayList<>();
-        try {
-            while (true) {
-                files.add(new RandomAccessFile(new File(testDir, "tmp" + files.size()), "rw"));
-            }
-        } catch (IOException ioe) {
-            int i = 0;
-            for (RandomAccessFile raf : files) {
-                IOUtils.closeWhileHandlingException(raf);
-                new File(testDir, "tmp" + i++).delete();
-            }
-            if (dirCreated) {
-                deleteRecursively(testDir);
-            }
-        }
-        return files.size();
-    }
-
-
     public static boolean hasExtensions(File root, String... extensions) {
         if (root != null && root.exists()) {
             if (root.isDirectory()) {