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ő

Reply via email to