wypoon commented on PR #12721:
URL: https://github.com/apache/iceberg/pull/12721#issuecomment-2811124141

   @danielcweeks thank you for looking into this.
   I have considered something along the lines of your suggestion before. I had 
implemented something similar in https://github.com/apache/iceberg/pull/2512, 
following the input of the community at the time, when we first added support 
for Spark 3.1. The idea was to build using Spark 3.0 but test using Spark 3.1 
as well by defining a configuration within the module. I believe this is your 
idea here as well: build using Hive 2, and test using Hive 2, 3 and 4. The 
problem with that was that by not building against Spark 3.1, we failed to 
discover some issue (the `RepartitionByExpression` constructor changed 
signature in 3.1 and I'd failed to replace one occurrence of 
`RepartitionByExpression` by the necessary reflection in a code path that was 
not exercised by tests). Subsequently someone tried to add tests that exercised 
that code path and I had to put up https://github.com/apache/iceberg/pull/2954. 
As you know, subsequently the community decided to follow a different approach 
when th
 e time came to support Spark 3.2.
   Considering this, I really think it is best to build the module against all 
versions and test accordingly. While I may flushed out issues in the process of 
working through this PR to achieve a source set that appears to build and run 
successfully with Hive 2, 3, and 4, that is not a guarantee that new issues may 
not manifest when we upgrade the Hive 4 version, for example, that would be 
caught by building against it.
   
   (That said, I tried to follow the suggestion you outlined, but it didn't 
quite work as-is, and I tried to fix it, but without success thus far due to my 
limited Gradle knowledge. I'm continuing to look into it.)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org

Reply via email to