Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

lineage-integrator-api includes additional logging implementation #7426

Closed
planetf1 opened this issue Feb 28, 2023 · 2 comments
Closed

lineage-integrator-api includes additional logging implementation #7426

planetf1 opened this issue Feb 28, 2023 · 2 comments

Comments

@planetf1
Copy link
Member

The lineage-integrator-api module has a dependency:

        implementation("commons-logging:commons-logging:${commonsloggingVersion}")

This causes a warning when checking for duplicate logging frameworks, ie when building the lineage sample connector:

* What went wrong:
Could not determine the dependencies of task ':shadowJar'.
> Could not resolve all dependencies for configuration ':runtimeClasspath'.
   > Could not resolve commons-logging:commons-logging:1.2.
     Required by:
         project : > org.odpi.egeria:lineage-integrator-api:3.15 > io.openlineage:openlineage-java:0.18.0
         project : > org.odpi.egeria:lineage-integrator-api:3.15 > io.openlineage:openlineage-java:0.18.0 > org.apache.httpcomponents:httpclient:4.5.13
      > Module 'commons-logging:commons-logging' has been rejected:
           Cannot select module with conflict on capability 'dev.jacomet.logging:commons-logging-impl:1.0' also provided by [org.springframework:spring-jcl:5.3.24(runtimeElements)]
   > Could not resolve org.springframework:spring-jcl:5.3.24.
     Required by:
         project : > org.odpi.egeria:lineage-integrator-api:3.15 > org.odpi.egeria:ffdc-services:3.15 > org.springframework:spring-core:5.3.24
      > Module 'org.springframework:spring-jcl' has been rejected:
           Cannot select module with conflict on capability 'dev.jacomet.logging:commons-logging-impl:1.0' also provided by [commons-logging:commons-logging:1.2(runtime)]

This may cause logging framework issues and should be resolved through adapter configuration - such as making use of jcl-over-slf4j

See https://www.alibabacloud.com/blog/598223 for some suggestions

@planetf1
Copy link
Member Author

planetf1 commented Mar 1, 2023

See PR #7458 and https://github.com/odpi/egeria/actions/runs/4299969609

This is a run from the PR that bumps the plugin version to perform a more thorough check.

For now will leave the plugin at the current version since

  • more changes will be introduced by our spring changes
  • this logging issue needs investigation

If this is fixed before then, this plugin can be updated at the same time

We should also test (runtime) the lineage support after making a change

@mandy-chessell I don't think there's any fvt coverage yet. is this something you have planned? what's the best way to validate any change here. We need to check with v4, and after new spring updates in any case

@planetf1
Copy link
Member Author

planetf1 commented Mar 1, 2023

Further investigation shows this affects many (most?) modules - it is NOT specific to lineage.

#7489 implemented a fix to dependencies to ensure only a single implementation is used ie in this case with slf4j bridge being used as the commons logging implementation (and slfj itself being implemented by logback in our application)

@planetf1 planetf1 closed this as completed Mar 1, 2023
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

No branches or pull requests

1 participant