I think the requirement of supporting different version should be quite
common. As Iceberg is a table format which should be adapted to different
engines like Hive, Flink, Spark. To support different versions is a real
problem, Spark is just one case, Hive, Flink could also be the case if the
I think the key is that this wouldn't be using the same published
artifacts. This work would create a spark-2.4 artifact and a spark-3.0
artifact. (And possibly a spark-common artifact.)
It seems reasonable to me to have those in the same build instead of in
separate branches, as long as the
Just think a bit on this. I agree that generally introducing different
versions of same dependencies could be error prone. But I think the case
here should not lead to issue:
1. These two sub-modules spark-2 and spark-3 are isolated, they're not
dependent on either.
2. They can be