From 35f8eb7099ab17ff318003df840ccf0bff482e59 Mon Sep 17 00:00:00 2001 From: Ryan Ernst Date: Fri, 30 Aug 2019 11:37:18 -0700 Subject: [PATCH] Add test tasks for unpooled and direct buffer pooling to netty (#46049) Some netty behavior is controlled by system properties. While we want to test with the defaults for Elasticsearch for most tests, within netty we want to ensure these netty settings exhibit correct behavior. This commit adds variants of test and integTest tasks for netty which set the unpooled and direct buffer pooled allocators. relates #45881 --- modules/transport-netty4/build.gradle | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/modules/transport-netty4/build.gradle b/modules/transport-netty4/build.gradle index b390ab3af5829..62e2d6aa2bf86 100644 --- a/modules/transport-netty4/build.gradle +++ b/modules/transport-netty4/build.gradle @@ -17,6 +17,8 @@ * under the License. */ +import org.elasticsearch.gradle.test.RestIntegTestTask + /* TODOs: * fix permissions such that only netty4 can open sockets etc? @@ -61,6 +63,22 @@ integTestRunner { systemProperty 'es.set.netty.runtime.available.processors', 'false' } +TaskProvider pooledTest = tasks.register("pooledTest", Test) { + include '**/*Tests.class' + systemProperty 'es.set.netty.runtime.available.processors', 'false' + systemProperty 'io.netty.allocator.type', 'pooled' +} +// TODO: we can't use task avoidance here because RestIntegTestTask does the testcluster creation +RestIntegTestTask pooledIntegTest = tasks.create("pooledIntegTest", RestIntegTestTask) { + runner { + systemProperty 'es.set.netty.runtime.available.processors', 'false' + } +} +testClusters.pooledIntegTest { + systemProperty 'io.netty.allocator.type', 'pooled' +} +check.dependsOn(pooledTest, pooledIntegTest) + thirdPartyAudit { ignoreMissingClasses ( // classes are missing