Hi Divij, Thanks for the pointer to Gradle Enterprise! That’s exactly what I was looking for.
Did we track builds before July 12? I see only tiny blips of failures on the 90-day view. Thanks, Kirk > On Jul 26, 2023, at 2:08 AM, Divij Vaidya <divijvaidy...@gmail.com> wrote: > > Hi Kirk > > I have been using this new tool to analyze the trends of test > failures: > https://ge.apache.org/scans/tests?search.relativeStartTime=P28D&search.rootProjectNames=kafka&search.timeZoneId=Europe/Berlin > and general build failures: > https://ge.apache.org/scans/failures?search.relativeStartTime=P28D&search.rootProjectNames=kafka&search.timeZoneId=Europe/Berlin > > About the classes of build failure, if we look at the last 28 days, I > do not observe an increasing trend. The top causes of failure are: > (link [2]) > 1. Failures due to checkstyle (193 builds) > 2. Timeout waiting to lock cache. It is currently in-use by another > Gradle instance. > 3. Compilation failures (116 builds) > 4. "Gradle Test Executor" finished with a non-zero exit value. Process > 'Gradle Test Executor 180' finished with non-zero exit value 1 > > #4 is caused by a test failure that causes a crash of the Gradle > process. To debug this, I usually go to complete test output and try > to figure out which was the last test that 'Gradle Test Executor 180' > was running. As an example, consider > https://ge.apache.org/s/luizhogirob4e. We observe that this fails for > PR-14094. Now, we need to see the complete system out. To find that, I > will go to Kafka PR builder at > https://ci-builds.apache.org/job/Kafka/job/kafka-pr/view/change-requests/ > and find the build page for PR-14094. That page is > https://ci-builds.apache.org/job/Kafka/job/kafka-pr/job/PR-14094/. > Next, find last failed build at > https://ci-builds.apache.org/job/Kafka/job/kafka-pr/job/PR-14094/lastFailedBuild/ > , observe that we have a failure for "Gradle Test Executor 177", click > on view as plain text (it takes a long time to load), find what the > GradleTest Executor was doing. In this case, it failed with the > following error. I strongly believe that it is due to > https://github.com/apache/kafka/pull/13572 but unfortunately, this was > reverted and never fixed after that. Perhaps you might want to re > > Gradle Test Run :core:integrationTest > Gradle Test Executor 177 > > ProducerFailureHandlingTest > testTooLargeRecordWithAckZero() STARTED > >> Task :clients:integrationTest FAILED > org.gradle.internal.remote.internal.ConnectException: Could not > connect to server [bd7b0504-7491-43f8-a716-513adb302c92 port:43321, > addresses:[/127.0.0.1]]. Tried addresses: [/127.0.0.1]. > at > org.gradle.internal.remote.internal.inet.TcpOutgoingConnector.connect(TcpOutgoingConnector.java:67) > at > org.gradle.internal.remote.internal.hub.MessageHubBackedClient.getConnection(MessageHubBackedClient.java:36) > at > org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:103) > at > org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:65) > at > worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) > at > worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) > Caused by: java.net.ConnectException: Connection refused > at java.base/sun.nio.ch.Net.pollConnect(Native Method) > at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:672) > at > java.base/sun.nio.ch.SocketChannelImpl.finishTimedConnect(SocketChannelImpl.java:1141) > at > java.base/sun.nio.ch.SocketChannelImpl.blockingConnect(SocketChannelImpl.java:1183) > at java.base/sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:98) > at > org.gradle.internal.remote.internal.inet.TcpOutgoingConnector.tryConnect(TcpOutgoingConnector.java:81) > at > org.gradle.internal.remote.internal.inet.TcpOutgoingConnector.connect(TcpOutgoingConnector.java:54) > ... 5 more > > > > > About the classes of test failure problems, if we look at the last 28 > days, the following tests are the biggest culprits. If we fix just > these two, our CI would be in a much better shape. (link [1]) > 1. https://issues.apache.org/jira/browse/KAFKA-15197 (this test passes > only 53% of the time) > 2. https://issues.apache.org/jira/browse/KAFKA-15052 (this test passes > only 49% of the time) > > > [1] > https://ge.apache.org/scans/tests?search.relativeStartTime=P28D&search.rootProjectNames=kafka&search.timeZoneId=Europe/Berlin > [2] > https://ge.apache.org/scans/failures?search.relativeStartTime=P28D&search.rootProjectNames=kafka&search.timeZoneId=Europe/Berlin > > > -- > Divij Vaidya > > On Tue, Jul 25, 2023 at 8:09 PM Kirk True <k...@kirktrue.pro> wrote: >> >> Hi all! >> >> I’ve noticed that we’re back in the state where it’s tough to get a clean PR >> Jenkins test run. Spot checking the top ~10 pull request runs show this >> doesn’t appear to be an issue with just my PRs :P >> >> I know we have some chronic flaky tests, but I’ve seen at least two other >> classes of problems: >> >> 1. Jenkins test runners hanging and eventually timing out >> 2. Intra Jenkins-container/pod/VM/machine/turtle communication issues >> >> How do we go about diagnosing test runs that fail in such an opaque fashion? >> >> Thanks! >> Kirk