Hey all, I've been working on OMID-284 and OMID-276, specifically attempting to upgrade Protobuf in OMID, and I've encountered several challenges that I want to bring to the community for discussion.
I tried upgrading Protobuf to version 4.28.2: see PR #170 <https://github.com/apache/phoenix-omid/pull/170>. The primary motivation for using this version was to align with hbase-thirdparty, which also uses Protobuf 4. However, during testing, I encountered the following failure: java.lang.NoSuchMethodError:org.apache.hadoop.hdfs.server.namenode.FsImageProto$FileSummary.makeExtensionsImmutable()V This error suggests that Hadoop is still using an older version of Protobuf, and this is causing compatibility issues. I also tried using Protobuf version 3.25.5, and it worked without any test failures. However, this is not aligned with the Protobuf version used in hbase-thirdparty, and if we try to fully switch to hbase-thirdparty's shaded Protobuf, we are likely to run into the same issues that I faced with Protobuf 4. To resolve this, my current suggestion is to create a new Omid-thirdparty repository and shade Protobuf there. This would help us isolate OMID's dependencies and avoid any conflicts with Hadoop's older Protobuf version. Do you think creating an Omid-thirdparty repository for shading Protobuf is a viable solution? Are there any other options that might avoid introducing a new repository while still addressing the compatibility issues? Thanks in advance for your input! Best, Villő