Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
190ab77
first pass at removing strong guarantee
nonbinaryprogrammer Jul 12, 2021
3f28274
fix a few tests and the hang
nonbinaryprogrammer Jul 13, 2021
d3abf1b
fix another test; 1 still hanging
nonbinaryprogrammer Jul 13, 2021
3664bea
Restore prior functionality for subscriptions to be 'ready to publish'
jdeppe-pivotal Jul 14, 2021
1e7e419
fix flaky integration test by waiting for publish to happen before un…
nonbinaryprogrammer Jul 14, 2021
7213a5f
remove subscriber group from ExecutionHandlerContext
nonbinaryprogrammer Jul 14, 2021
5cf9260
remove more subscriber group stuff
nonbinaryprogrammer Jul 14, 2021
e65f933
remove eventLoopSwitched and eventLoopReady
nonbinaryprogrammer Jul 14, 2021
1a1d8e4
fix most dunit tests. concurrency test still fails, and crashes my co…
nonbinaryprogrammer Jul 15, 2021
bd4128d
use a fixed thread pool. at least one integration test is failing. pu…
nonbinaryprogrammer Jul 16, 2021
f03e119
Fix a few failing tests
jdeppe-pivotal Jul 19, 2021
5f9d8c0
fix a few tests
nonbinaryprogrammer Jul 19, 2021
7b910d5
await message receipt before unsubscribing
nonbinaryprogrammer Jul 19, 2021
b30a2a6
check individual elements of the list
nonbinaryprogrammer Jul 19, 2021
6420f10
Upgrade netty 4.1.59.Final -> 4.1.66.Final
jdeppe-pivotal Jul 22, 2021
17d38c9
Catch fn exe exceptions
jdeppe-pivotal Jul 21, 2021
b89607a
Fixed a test
jdeppe-pivotal Jul 22, 2021
f3da5c4
Improve logged error message
jdeppe-pivotal Jul 22, 2021
fb66f36
Add StripedExecutorService from Heinz Kabutz
jdeppe-pivotal Jul 22, 2021
2a9465d
Use identity of Client correctly for striped execution
jdeppe-pivotal Jul 23, 2021
4a353ed
Minor formatting changes
jdeppe-pivotal Jul 23, 2021
e896c07
Increase wait for messages to 20 seconds
jdeppe-pivotal Jul 23, 2021
986b407
Mostly housekeeping
jdeppe-pivotal Jul 23, 2021
93672be
Review updates
jdeppe-pivotal Jul 23, 2021
edc9048
More housekeeping
jdeppe-pivotal Jul 24, 2021
3fcb975
GEODE-8728: Isolate tests without Docker
demery-pivotal Apr 6, 2021
1179b02
Spotless
demery-pivotal Jul 22, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion boms/geode-all-bom/src/test/resources/expected-pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>4.1.59.Final</version>
<version>4.1.66.Final</version>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
Expand Down
1 change: 0 additions & 1 deletion buildSrc/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ dependencies {
implementation('org.apache.commons:commons-lang3:3.12.0')
implementation('org.apache.maven:maven-artifact:3.8.1')
implementation('com.google.guava:guava:30.1.1-jre')
implementation('com.github.docker-java:docker-java:3.2.8')
implementation('me.champeau.gradle:japicmp-gradle-plugin:0.2.9')
implementation('junit:junit:4.13.2')

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ class DependencyConstraints implements Plugin<Project> {
api(group: 'io.github.resilience4j', name: 'resilience4j-retry', version: '1.7.1')
api(group: 'io.lettuce', name: 'lettuce-core', version: '6.1.3.RELEASE')
api(group: 'io.micrometer', name: 'micrometer-core', version: get('micrometer.version'))
api(group: 'io.netty', name: 'netty-all', version: '4.1.59.Final')
api(group: 'io.netty', name: 'netty-all', version: '4.1.66.Final')
api(group: 'io.swagger', name: 'swagger-annotations', version: '1.6.2')
api(group: 'it.unimi.dsi', name: 'fastutil', version: get('fastutil.version'))
api(group: 'javax.annotation', name: 'javax.annotation-api', version: '1.3.2')
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more contributor license
* agreements. See the NOTICE file distributed with this work for additional information regarding
* copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance with the License. You may obtain a
* copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*
*/
package org.apache.geode.gradle.testing.isolation

import org.apache.geode.gradle.testing.Executers
import org.apache.geode.gradle.testing.Workers
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.api.tasks.testing.Test
import org.gradle.internal.remote.MessagingServer
import org.gradle.process.internal.worker.WorkerProcessFactory

import javax.inject.Inject

/**
* Configures isolated test tasks to launch each test worker with a distinct range of available
* ports. A test task is an isolated test task if it has an {@code isolatedTest} property.
*/
class IsolatedTestPlugin implements Plugin<Project> {
static def gradleWorkerProcessFactory
static def gradleMessagingServer
static def portRangeWorkerProcessFactory

@Inject
IsolatedTestPlugin(MessagingServer gradleMessagingServer,
WorkerProcessFactory gradleWorkerProcessFactory) {
initializeGradleWorkerProcessFactory(gradleWorkerProcessFactory)
initializeGradleMessagingServer(gradleMessagingServer)
}

@Override
void apply(Project project) {
initializePortRangeWorkerProcessFactory(project.gradle.startParameter.maxWorkerCount)

def usePortRangeTestWorker = {
if (!it.hasProperty('isolatedTest')) {
return
}
it.doFirst {
testExecuter = Executers.withFactory(it, portRangeWorkerProcessFactory)
}
}

project.tasks.withType(Test).each(usePortRangeTestWorker)
project.tasks.whenTaskAdded() {
if (it instanceof Test) {
it.configure(usePortRangeTestWorker)
}
}
}

synchronized static initializePortRangeWorkerProcessFactory(int partitionCount) {
if (portRangeWorkerProcessFactory != null) {
return
}
portRangeWorkerProcessFactory = Workers.createWorkerProcessFactory(
gradleWorkerProcessFactory,
new PortRangeProcessLauncher(partitionCount, new WorkingDirectoryIsolator()),
gradleMessagingServer
)
}

synchronized static initializeGradleMessagingServer(server) {
if (!gradleMessagingServer) {
gradleMessagingServer = server
}
}

synchronized static void initializeGradleWorkerProcessFactory(factory) {
if (!gradleWorkerProcessFactory) {
gradleWorkerProcessFactory = factory
}
}
}
Loading