Skip to content

Spotless Gradle plugin 7.0.0: Eclipse / p2 download race condition #2331

@breskeby

Description

@breskeby

I'm testing updating the elasticsearch build to use the Spotless Gradle plugin 7.0.0-BETA4.

In our CI we see multiple spotlessJava tasks in our build failing due to this error message:

Cannot fingerprint input property 'stepsInternalEquality': value 'com.diffplug.spotless.ConfigurationCacheHackList@a34eb6af' cannot be serialized.
> java.io.IOException: Failed to load eclipse jdt formatter: java.lang.RuntimeException: java.io.IOException: failed to rename /opt/buildkite-agent/.m2/repository/dev/equo/p2-data/metadata/connection/262c4c2033ccf5f3c3389c1676a00fac.0.tmp to /opt/buildkite-agent/.m2/repository/dev/equo/p2-data/metadata/connection/262c4c2033ccf5f3c3389c1676a00fac.0
  > Failed to load eclipse jdt formatter: java.lang.RuntimeException: java.io.IOException: failed to rename /opt/buildkite-agent/.m2/repository/dev/equo/p2-data/metadata/connection/262c4c2033ccf5f3c3389c1676a00fac.0.tmp to /opt/buildkite-agent/.m2/repository/dev/equo/p2-data/metadata/connection/262c4c2033ccf5f3c3389c1676a00fac.0
    > java.io.IOException: failed to rename /opt/buildkite-agent/.m2/repository/dev/equo/p2-data/metadata/connection/262c4c2033ccf5f3c3389c1676a00fac.0.tmp to /opt/buildkite-agent/.m2/repository/dev/equo/p2-data/metadata/connection/262c4c2033ccf5f3c3389c1676a00fac.0
      > failed to rename /opt/buildkite-agent/.m2/repository/dev/equo/p2-data/metadata/connection/262c4c2033ccf5f3c3389c1676a00fac.0.tmp to /opt/buildkite-agent/.m2/repository/dev/equo/p2-data/metadata/connection/262c4c2033ccf5f3c3389c1676a00fac.0

The further stacktrace

at dev.equo.solstice.p2.Unchecked.wrap(Unchecked.java:25) |  
-- | --
  | at dev.equo.solstice.p2.P2Model.query(P2Model.java:144) |  
  | at com.diffplug.spotless.extra.EquoBasedStepBuilder.lambda$build$0(EquoBasedStepBuilder.java:113) |  
  | at com.diffplug.spotless.JarState$Promised.get(JarState.java:53) |  
  | at com.diffplug.spotless.extra.EquoBasedStepBuilder$EquoStep.state(EquoBasedStepBuilder.java:168) |  
  | at com.diffplug.spotless.extra.EquoBasedStepBuilder.lambda$build$cc29b8bc$1(EquoBasedStepBuilder.java:129) |  
  | at com.diffplug.spotless.FormatterStepSerializationRoundtrip.stateSupplier(FormatterStepSerializationRoundtrip.java:57) |  
  | at com.diffplug.spotless.ThrowingEx.get(ThrowingEx.java:67) |  
  | at com.diffplug.spotless.FormatterStepSerializationRoundtrip$HackClone.writeObject(FormatterStepSerializationRoundtrip.java:113) |  
  | at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

It runs on Ubuntu 20.04.6

My changes are public available https://github.com/breskeby/elasticsearch/tree/update-spotless-gradle-plugin-700beta4

We don't run this in configuration cache mode.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions