[
https://issues.apache.org/jira/browse/MNG-8106?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tamas Cservenak updated MNG-8106:
---------------------------------
Description:
In case certain directory role in repository is manifold (which IS against best
practices), data loss occurs. Metadata will contain this or that, but not both
data.
Example: consider project producing these artifacts
* org.foo:bar:1.0
* org.foo.bar:baz:1.0
In this case, the local (and remote) repository path {{org/foo/bar}} that is a
directory, will overlap in a way, it is G level for one artifact, and A level
for another. Now, if org.foo.bar:baz is a Maven Plugin, the G level should
contain plugin related (G level) metadata. At the same time, due org.foo:bar
this directory should contain A level metadata (list of versions). Affected
maven versions will simply drop "the other" metadata (so if last deployed using
this directory as G, the A data will be missing, and other way around).
Have to note that doing this kind of naming is against "best practices", but
still, can occur, for example in case of some refactoring/renaming of long
running project modules.
was:
In case certain directory role in repository is manifold (which IS against best
practices), data loss occurs. Metadata will contain this or that, but not both
data.
Example: consider project producing these artifacts
* org.foo:bar:1.0
* org.foo.bar:baz:1.0
In this case, the local (and remote) repository path {{org/foo/bar}} that is a
directory, will overlap in a way, it is G level for one artifact, and A level
for another. Now, if org.foo.bar:baz is a Maven Plugin, the G level should
contain plugin related (G level) metadata. At the same time, due org.foo:bar
this directory should contain A level metadata (list of versions). Affected
maven versions will simply drop "the other" metadata (so if last deployed using
this directory as G, the A data will be missing, and other way around).
> Maven Metadata corruption if repository directory role overlaps
> ---------------------------------------------------------------
>
> Key: MNG-8106
> URL: https://issues.apache.org/jira/browse/MNG-8106
> Project: Maven
> Issue Type: Bug
> Components: Artifacts and Repositories
> Affects Versions: 3.9.0, 3.9.1, 3.9.2, 3.9.3, 3.9.4, 3.9.5, 3.9.6,
> 4.0.0-alpha-2, 4.0.0-alpha-3, 4.0.0-alpha-4, 4.0.0-alpha-5, 4.0.0-alpha-7,
> 4.0.0-alpha-8, 4.0.0-alpha-9, 4.0.0-alpha-10, 4.0.0-alpha-12, 4.0.0-alpha-13
> Reporter: Tamas Cservenak
> Assignee: Tamas Cservenak
> Priority: Major
> Fix For: 3.9.7, 4.0.0-beta-1
>
>
> In case certain directory role in repository is manifold (which IS against
> best practices), data loss occurs. Metadata will contain this or that, but
> not both data.
> Example: consider project producing these artifacts
> * org.foo:bar:1.0
> * org.foo.bar:baz:1.0
> In this case, the local (and remote) repository path {{org/foo/bar}} that is
> a directory, will overlap in a way, it is G level for one artifact, and A
> level for another. Now, if org.foo.bar:baz is a Maven Plugin, the G level
> should contain plugin related (G level) metadata. At the same time, due
> org.foo:bar this directory should contain A level metadata (list of
> versions). Affected maven versions will simply drop "the other" metadata (so
> if last deployed using this directory as G, the A data will be missing, and
> other way around).
> Have to note that doing this kind of naming is against "best practices", but
> still, can occur, for example in case of some refactoring/renaming of long
> running project modules.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)