[SPARK-55136][BUILD] Bump Db2 JDBC driver 12.1.3.0_special_74723#53920
[SPARK-55136][BUILD] Bump Db2 JDBC driver 12.1.3.0_special_74723#53920pan3793 wants to merge 1 commit intoapache:masterfrom
Conversation
JIRA Issue Information=== Dependency upgrade SPARK-55136 === This comment was automatically generated by GitHub Actions |
I've found that the new jar still only shades the lz4-java without performing relocation. In this case, when the version of lz4-java used by Spark differs from that used by DB2, there's still a possibility of classpath contamination. It seems that this hasn't addressed the root cause of the problem...
Unfortunately, it's true. I also advised the author to relocate the lz4-java classes, provide a vanilla Db2 JDBC driver without bundling 3rd-party libs, but have not received acknowledgment.
yes, it just mitigates the current specific lz4-java conflict issue, but anyway, this does not make things worse, the final solution depends on the artifacts provided by the author, and we don't have many options here. |
|
Currently, Spark is using lz4-java 1.10.3. Is it necessary for DB2 to release a new version? |
|
For the compatibility aspect, it seems not necessary, we can just upgrade when new versions are available. As I said before, we don't have many options here, except for waiting for the author fix the relocation issue or deploy another vanilla jar. I think we should move forward, because by default(I mean the official binary release), Db2 JDBC driver is only used for testing, it only affects devs, issue only happens if the user puts this jar into their SPARK_HOME/jars Additionally, Db2 JDBC driver is not the only jar that has shading issues, when I check Spark dependencies, I found |
|
cc @dbtsai, do you have ideas here? |
|
@viirya, this is the actual one block us to move forward to mitigate lz4 perf regression. |
dongjoon-hyun
left a comment
There was a problem hiding this comment.
To reviewers:
If the new jar file still has dependency issue, I'd like to propose to disable DB2 test coverage itself for a while with IDed TODO ID in order to unblock @pan3793 's PR.
|
@pan3793 , could you please forward the email communication with the maintainer of the Db2 JDBC driver to @dongjoon-hyun ? If I remember correctly, it seems that with each upgrade, we need to upgrade to a corresponding version of the Db2 JDBC driver to ensure that the expected lz4 code is used in the relevant tests, right? Please correct me if I've misunderstood. |
|
@LuciferYang, I forwarded the original mail to both you and @dongjoon-hyun
this is ideal, but it totally depends on the Db2 JDBC driver author, I don't think they can have an up-to-date release in time. |
|
Thank you for sharing. AFAIK, Lines 1360 to 1365 in 1d56813 That's the reason why I suggested to simply disable We don't want to give an extra recommendation like using From Apache Spark side, I believe the following is more important to achieve. |
+1 for simply disable Db2 test coverage for a while |
|
Let me make a PR for that independently since my suggestion was a new one. |
|
This is what I suggested. |
|
Close and in favor SPARK-55706 (#54505) |
What changes were proposed in this pull request?
Previously, lz4-java was upgraded to 1.10.1 to address CVEs,
lz4-javato 1.10.0 #53327lz4-javato 1.10.1 #53347Upgrades Db2 JDBC driver to a special version 12.1.3.0_special_74723 provided by Db2 team that also bundles lz4-java 1.10.1.
Why are the changes needed?
To address a
NoSuchMethodErrorissue (test only), see the whole story at #53454.Does this PR introduce any user-facing change?
No, Db2 JDBC driver is only used in testing.
How was this patch tested?
See #53454
Was this patch authored or co-authored using generative AI tooling?
No.