syun64 commented on PR #473: URL: https://github.com/apache/iceberg-python/pull/473#issuecomment-1969470701
> The [spec calls out](https://iceberg.apache.org/spec/#table-metadata-fields) the `current_snapshot_id` as optional, so omitting it "should" be valid. I think I agree with @Fokko that we shouldn't just blindly follow java's implementation. I would suggest a compatibility flag that sets the value to -1, but default it to off. > > The reason I think this is safe is that the situation where someone is using an older version of java but also using python to create tables (no commits) is relatively narrow and they would identify the problem quickly and turn the flag on for their use cases. I feel like this is the best approach to move forward with the correct solution, but still accommodate backward compatibility. That makes sense @danielcweeks @Fokko . Thank you for sharing your opinions. Would the compatibility flag be included as a environment variable? If we think this supporting this change is a hassle, and we want to honor correctness of the implementation according to the Spec, maybe we can make a conscious decision to not accommodate for backward compatibility in this use case. My goal with putting this PR was to at least document this issue and the discussion so others running into it can refer to 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
