Skip to content

Conversation

@kennknowles
Copy link
Member

There is no logging by default since 2.10.0

I don't totally understand why, but the :worker shadow jar already contains the JDK14 adapter while the :legacy-worker does not. I did check that this fixes the jar but have not run a job - I will let Jenkins do that work.


Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

  • Choose reviewer(s) and mention them in a comment (R: @username).
  • Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
  • If this contribution is large, please file an Apache Individual Contributor License Agreement.

Post-Commit Tests Status (on master branch)

Lang SDK Apex Dataflow Flink Gearpump Samza Spark
Go Build Status --- --- --- --- --- ---
Java Build Status Build Status Build Status Build Status
Build Status
Build Status
Build Status Build Status Build Status
Python Build Status
Build Status
--- Build Status
Build Status
Build Status --- --- ---

Pre-Commit Tests Status (on master branch)

--- Java Python Go Website
Non-portable Build Status Build Status Build Status Build Status
Portable --- Build Status --- ---

See .test-infra/jenkins/README for trigger phrase, status and link of all Jenkins jobs.

@kennknowles kennknowles requested a review from lukecwik May 23, 2019 20:02
// Each included dependency should have a matching relocation rule below that ensures
// that the shaded jar is correctly built.

dependencies {
Copy link
Member

Choose a reason for hiding this comment

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

This will fail the shadowJarValidationExcludes defined above.

Copy link
Member Author

Choose a reason for hiding this comment

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

Fixed.

@lukecwik
Copy link
Member

The :worker has the dependency as compile scope and also has a shadow configuration where it includes all dependencies in the uber jar while the :legacy-worker specifically enumerates which dependencies it includes in the uber jar. The difference is because the :worker is a standalone application while the :legacy-worker expects classes to be supplied by the user for the SDK.

Copy link
Member

@lukecwik lukecwik left a comment

Choose a reason for hiding this comment

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

Could you also add a test that ensures that slf4j-jdk14 is always included in the uber jar. The logic would be quite similar to the validateShadowJar task defined here

project.task('validateShadedJarDoesntLeakNonProjectClasses', dependsOn: 'shadowJar') {

Copy link
Member Author

@kennknowles kennknowles left a comment

Choose a reason for hiding this comment

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

I added the test you suggested and confirmed that without the runtime dependency it fails.

// Each included dependency should have a matching relocation rule below that ensures
// that the shaded jar is correctly built.

dependencies {
Copy link
Member Author

Choose a reason for hiding this comment

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

Fixed.

shadowTest library.java.mockito_core
}

project.task('validateShadedJarContainsSlf4jJdk14', dependsOn: 'shadowJar') {
Copy link
Member

Choose a reason for hiding this comment

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

worst camel case ever...
:-)

@lukecwik lukecwik merged commit 606b18b into apache:master May 24, 2019
@kennknowles kennknowles deleted the slf4j-jdk14 branch January 4, 2024 20:37
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.

2 participants