Skip to content

[MNG-7182] Use a pull parser during the build/consumer transformation#486

Merged
gnodet merged 1 commit intoapache:masterfrom
gnodet:pull-parser
Nov 29, 2021
Merged

[MNG-7182] Use a pull parser during the build/consumer transformation#486
gnodet merged 1 commit intoapache:masterfrom
gnodet:pull-parser

Conversation

@gnodet
Copy link
Copy Markdown
Contributor

@gnodet gnodet commented Jul 5, 2021

Following this checklist to help us incorporate your
contribution quickly and easily:

  • Make sure there is a JIRA issue filed
    for the change (usually before you start working on it). Trivial changes like typos do not
    require a JIRA issue. Your pull request should address just this issue, without
    pulling in other changes.
  • Each commit in the pull request should have a meaningful subject line and body.
  • Format the pull request title like [MNG-XXX] - Fixes bug in ApproximateQuantiles,
    where you replace MNG-XXX with the appropriate JIRA issue. Best practice
    is to use the JIRA issue title in the pull request title and in the first line of the
    commit message.
  • Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
  • Run mvn clean verify to make sure basic checks pass. A more thorough check will
    be performed on your pull request automatically.
  • You have run the Core IT successfully.

If your pull request is about ~20 lines of code you don't need to sign an
Individual Contributor License Agreement if you are unsure
please ask on the developers list.

To make clear that you license your contribution under
the Apache License Version 2.0, January 2004
you have to acknowledge this by using the following check-box.

@michael-o
Copy link
Copy Markdown
Member

I think this needs a JIRA issue.

@eolivelli eolivelli requested a review from rfscholte July 5, 2021 16:04
@gnodet gnodet changed the title Use the MX xpp parser instead of a STAX transformation [MNG-7182] Use a pull parser during the build/consumer transformation Jul 6, 2021
@gnodet gnodet force-pushed the pull-parser branch 2 times, most recently from 2bb0e20 to e9b2184 Compare July 8, 2021 05:54
@gnodet
Copy link
Copy Markdown
Contributor Author

gnodet commented Jul 8, 2021

There's a single test failing on windows + jdk 1.8. Does that ring any bell @rfscholte ?
https://github.com/apache/maven/pull/486/checks?check_run_id=3016896271#step:8:6012

@michael-o
Copy link
Copy Markdown
Member

There's a single test failing on windows + jdk 1.8. Does that ring any bell @rfscholte ?
https://github.com/apache/maven/pull/486/checks?check_run_id=3016896271#step:8:6012

Bad code, concurrent write access, Windows file locking.

@rfscholte
Copy link
Copy Markdown
Contributor

That would be my guess too

@rfscholte
Copy link
Copy Markdown
Contributor

It is a bit weird that this IT is using an external plugin for verification. First step would be to update the version of the flatten-maven-plugin. Maybe in the future we need to reconsider rewriting this IT.

Copy link
Copy Markdown
Contributor

@MartinKanters MartinKanters left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The business logic is new to me and I'm not too experienced with XML transformation. I didn't see any red flags, but perhaps @rfscholte for example can take a better look at that? My review is more focused on small coding things. Nice job on the performance boost!

@gnodet gnodet force-pushed the pull-parser branch 2 times, most recently from 0963788 to c534644 Compare September 6, 2021 06:24
@gnodet gnodet requested review from rfscholte and removed request for rfscholte September 8, 2021 10:18
@gnodet
Copy link
Copy Markdown
Contributor Author

gnodet commented Sep 16, 2021

@rfscholte could you please review, I think that one is important to include in master asap to avoid the performance loss in the first alpha.
There's still this small problem on windows + jdk8 (file lock still in place) which I've worked around by using a fork + timeout in the tests, but It does not appear on any other combination and I've been unable to find a place where a file lock would be kept. In addition, I haven't been able to reproduce it in a real environment.

@rfscholte
Copy link
Copy Markdown
Contributor

Just ran the branch on Jenkins, it is unstable: https://ci-maven.apache.org/blue/organizations/jenkins/Maven%2Fmaven-box%2Fmaven/detail/MNG-7182/1/tests
One thing I notice is that it looks like the linebreaks around the license are better compared to what I could do. Please also provide a PR for that.

@gnodet
Copy link
Copy Markdown
Contributor Author

gnodet commented Sep 17, 2021

Just ran the branch on Jenkins, it is unstable: https://ci-maven.apache.org/blue/organizations/jenkins/Maven%2Fmaven-box%2Fmaven/detail/MNG-7182/1/tests
One thing I notice is that it looks like the linebreaks around the license are better compared to what I could do. Please also provide a PR for that.

Yes, it took me a bit of time to get that right ;-)
I'll have a look at those tests, I thought I did modify them to pass.

@gnodet
Copy link
Copy Markdown
Contributor Author

gnodet commented Sep 21, 2021

Just ran the branch on Jenkins, it is unstable: https://ci-maven.apache.org/blue/organizations/jenkins/Maven%2Fmaven-box%2Fmaven/detail/MNG-7182/1/tests
One thing I notice is that it looks like the linebreaks around the license are better compared to what I could do. Please also provide a PR for that.

Yes, it took me a bit of time to get that right ;-)
I'll have a look at those tests, I thought I did modify them to pass.

I fixed and squashed the PRs.

@gnodet gnodet requested review from cstamas and michael-o October 4, 2021 06:25
@cstamas
Copy link
Copy Markdown
Member

cstamas commented Oct 4, 2021

Re Caused by: java.lang.NoSuchMethodError: org.apache.maven.plugin.PluginParameterExpressionEvaluator.<init> see here #562 (comment)
Do you have some ancient enforcer? Or comment is wrong and there is something else (ancient) using this ctor?

@cstamas
Copy link
Copy Markdown
Member

cstamas commented Oct 4, 2021

Re Caused by: java.lang.NoSuchMethodError: org.apache.maven.plugin.PluginParameterExpressionEvaluator.<init> see here #562 (comment) Do you have some ancient enforcer? Or comment is wrong and there is something else (ancient) using this ctor?

Hm, but something is wrong, it WAS ancient and is already upped apache/maven-integration-testing#115

@cstamas
Copy link
Copy Markdown
Member

cstamas commented Oct 4, 2021

Hm, but something is wrong, it WAS ancient and is already upped apache/maven-integration-testing#115

Eh, update your fork please https://github.com/gnodet/maven-integration-testing (master on apache/maven-integration-testing contains fixes for you: upped enforcer)

@gnodet
Copy link
Copy Markdown
Contributor Author

gnodet commented Oct 4, 2021

Hm, but something is wrong, it WAS ancient and is already upped apache/maven-integration-testing#115

Eh, update your fork please https://github.com/gnodet/maven-integration-testing (master on apache/maven-integration-testing contains fixes for you: upped enforcer)

Thx, I've rebased both PRs on top of master, which looks much better indeed !

@gnodet gnodet requested a review from MartinKanters November 15, 2021 17:20
@gnodet
Copy link
Copy Markdown
Contributor Author

gnodet commented Nov 15, 2021

I'd like to get that in master to avoid the big performance loss. Anyone could take a look ?

Copy link
Copy Markdown
Contributor

@rmannibucau rmannibucau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(LGTM, the very minor note can be to write a one sentence description in the ticket since it lacks some context if anyone reviews it later ;))

@hboutemy
Copy link
Copy Markdown
Member

@rfscholte do you see any drawback to using plexus-utils' XPP3?

@gnodet gnodet merged commit ae8aebe into apache:master Nov 29, 2021
@jira-importer
Copy link
Copy Markdown

Resolve #8266

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants