We are encountering consistent build timeouts in CI related to what appears to be deadlock during parallel execution of the extractIncludeProto task. We've cleaned up our usage of the plugin as a result of the errors but we're still seeing a relatively high rate of failures (15%).
Here are the relevant plugin configuration portions from our convention:
plugins {
id("com.google.protobuf")
}
protobuf {
protoc {
val protobufVersion = extensionLibs.findLibrary("google.protobuf").orElseThrow().get().version
artifact = "com.google.protobuf:protoc:${protobufVersion}"
}
plugins {
id("grpc") {
val grpcVersion = extensionLibs.findLibrary("grpc.protobuf").orElseThrow().get().version
artifact = "io.grpc:protoc-gen-grpc-java:${grpcVersion}"
}
}
generateProtoTasks {
all().forEach { task ->
task.builtins {
id("python") { }
}
task.plugins {
id("grpc") {
outputSubDir = "java"
}
}
}
}
}
We have 3 projects that appear to get stuck in every build failure (timeout due to no progress):
> Task :hummingbird:interfaces:dmz:customer:extractIncludeProto
> Task :hummingbird:interfaces:dmz:quoting:extractIncludeProto
> Task :hummingbird:interfaces:dmz:user:extractIncludeProto
Two of the projects do not include any external protos but one does include common google types (timestamp, date, money, etc). There are no dependencies between these projects - each should build independently of the others.
Any insight on what could be happening here and steps to remedy?
We are encountering consistent build timeouts in CI related to what appears to be deadlock during parallel execution of the
extractIncludePrototask. We've cleaned up our usage of the plugin as a result of the errors but we're still seeing a relatively high rate of failures (15%).Here are the relevant plugin configuration portions from our convention:
We have 3 projects that appear to get stuck in every build failure (timeout due to no progress):
Two of the projects do not include any external protos but one does include common google types (
timestamp,date,money, etc). There are no dependencies between these projects - each should build independently of the others.Any insight on what could be happening here and steps to remedy?