Skip to content

[MNG-7433] [REGRESSION] Multiple maven instances working on same source tree can lock each other #9026

@jira-importer

Description

@jira-importer

Dan Tran opened MNG-7433 and commented

I have a large multi modules java maven build where:

  • phase 1 - basic build + unit tests + jacoco - 40 min
  • phase 2 - sonar:sonar 20 min
  • phase 3 - final packaging and basic smoke-test - 20 min

To take advantage of Maven multi-threaded build, during the reactor build, one of our maven module spins another instance of Maven to run sonar:sonar goal right after the basic build is done.

This means our phase 2 and phase 3 run in parallel sharing the same source tree, same local maven repo (where sonar:sonar should have all needed dependencies at the share local maven repo to run its task)

With maven-3.8.5, parallelization is no longer possible, phase 3 is blocked until phase 2 is done.

I am able to trace it to #628 where the locking started the happen

How does the lock mechanic work? there must be a local file where both Maven instances are watching each other. Is there an option to disable this lock?


Affects: 3.8.5

Issue Links:

  • MNG-7487 Fix deadlock during forked lifecycle executions
    ("is fixed by")
  • MNG-7476 Display a warning when an aggregator mojo is locking other mojo executions

Remote Links:

Backported to: 4.0.0-alpha-2, 3.9.0, 3.8.6

0 votes, 9 watchers

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingpriority:majorMajor loss of function

Type

No type
No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions