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
This commit is contained in:
Ryan Ernst 2019-08-30 11:37:18 -07:00 committed by Ryan Ernst
parent b89b0d5f84
commit a078bb4b92
1 changed files with 18 additions and 0 deletions

View File

@ -17,6 +17,8 @@
* under the License.
*/
import org.elasticsearch.gradle.test.RestIntegTestTask
/*
TODOs:
* fix permissions such that only netty4 can open sockets etc?
@ -68,6 +70,22 @@ integTestRunner {
systemProperty 'io.netty.allocator.numDirectArenas', '0'
}
TaskProvider<Test> 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