google / google/protobuf-gradle-plugin
extractIncludeProto deadlocks
- Dominant language
- Groovy
- Stars
- 1.8k
- Forks
- 288
- PR merge metrics
- No merged PRs in 30d
Description
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?
Contributor guide
Assessment
This issue has not been assessed yet.