Skip to content

Commit b6155dc

Browse files
committed
Allow disabling of sigar via settings
Sigar can only be disabled by removing the binaries. This is tricky for our tests and might cause a lot of trouble if a user wants or needs to do it. This commit allows to disable sigar with a simple boolean flag in the settings. Closes #9582 Conflicts: src/main/java/org/elasticsearch/bootstrap/Bootstrap.java src/test/java/org/elasticsearch/bootstrap/BootstrapForTesting.java src/test/java/org/elasticsearch/test/InternalTestCluster.java
1 parent 8ceaf80 commit b6155dc

File tree

2 files changed

+18
-15
lines changed

2 files changed

+18
-15
lines changed

src/main/java/org/elasticsearch/monitor/sigar/SigarService.java

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -34,22 +34,23 @@ public class SigarService extends AbstractComponent {
3434
@Inject
3535
public SigarService(Settings settings) {
3636
super(settings);
37-
3837
Sigar sigar = null;
39-
try {
40-
sigar = new Sigar();
41-
// call it to make sure the library was loaded
42-
sigar.getPid();
43-
logger.trace("sigar loaded successfully");
44-
} catch (Throwable t) {
45-
logger.trace("failed to load sigar", t);
46-
if (sigar != null) {
47-
try {
48-
sigar.close();
49-
} catch (Throwable t1) {
50-
// ignore
51-
} finally {
52-
sigar = null;
38+
if (settings.getAsBoolean("bootstrap.sigar", true)) {
39+
try {
40+
sigar = new Sigar();
41+
// call it to make sure the library was loaded
42+
sigar.getPid();
43+
logger.trace("sigar loaded successfully");
44+
} catch (Throwable t) {
45+
logger.trace("failed to load sigar", t);
46+
if (sigar != null) {
47+
try {
48+
sigar.close();
49+
} catch (Throwable t1) {
50+
// ignore
51+
} finally {
52+
sigar = null;
53+
}
5354
}
5455
}
5556
}

src/test/java/org/elasticsearch/test/InternalTestCluster.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@
8888
import org.elasticsearch.indices.breaker.HierarchyCircuitBreakerService;
8989
import org.elasticsearch.indices.fielddata.cache.IndicesFieldDataCache;
9090
import org.elasticsearch.indices.recovery.RecoverySettings;
91+
import org.elasticsearch.monitor.sigar.SigarService;
9192
import org.elasticsearch.node.Node;
9293
import org.elasticsearch.node.internal.InternalNode;
9394
import org.elasticsearch.node.service.NodeService;
@@ -274,6 +275,7 @@ public InternalTestCluster(long clusterSeed,
274275
builder.put("path.data", dataPath.toString());
275276
}
276277
}
278+
builder.put("bootstrap.sigar", rarely());
277279
final int basePort = 9300 + (100 * (jvmOrdinal+1));
278280
builder.put("transport.tcp.port", basePort + "-" + (basePort+100));
279281
builder.put("http.port", basePort+101 + "-" + (basePort+200));

0 commit comments

Comments
 (0)