[
https://issues.apache.org/jira/browse/GOBBLIN-1994?focusedWorklogId=904190&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-904190
]
ASF GitHub Bot logged work on GOBBLIN-1994:
-------------------------------------------
Author: ASF GitHub Bot
Created on: 08/Feb/24 01:26
Start Date: 08/Feb/24 01:26
Worklog Time Spent: 10m
Work Description: phet opened a new pull request, #3876:
URL: https://github.com/apache/gobblin/pull/3876
Dear Gobblin maintainers,
Please accept this PR. I understand that it will not be reviewed until I
have checked off all the steps below!
### JIRA
- [ ] My PR addresses the following [Gobblin
JIRA](https://issues.apache.org/jira/browse/GOBBLIN/) issues and references
them in the PR title. For example, "[GOBBLIN-XXX] My Gobblin PR"
- https://issues.apache.org/jira/browse/GOBBLIN-1994
### Description
- [ ] Here are some details about my PR, including screenshots (if
applicable):
The recent change to "ensure iceberg-distcp consistency...",
https://github.com/apache/gobblin/pull/3870 , unwisely relied on the dest-side
catalog to enforce matching `TableMetadata`. Alas, the client-side
`BaseMetastoreTableOperations.commit` evidently compares using `==`, rather
than `.equals` (for value comparison). Since the `TableMetadata` from WU
planning will always have already been serialized and deserialized, this
invariably leads to:
```
org.apache.iceberg.exceptions.CommitFailedException: Cannot commit: stale
table metadata
```
Our fix is to essentially implement our own (ID-only) value comparison
within `IcebergRegisterStep`.
### Tests
- [ ] My PR adds the following unit tests __OR__ does not need testing for
this extremely good reason:
added unit tests
### Commits
- [ ] My commits all reference JIRA issues in their subject lines, and I
have squashed multiple commits if they address the same issue. In addition, my
commits follow the guidelines from "[How to write a good git commit
message](http://chris.beams.io/posts/git-commit/)":
1. Subject is separated from body by a blank line
2. Subject is limited to 50 characters
3. Subject does not end with a period
4. Subject uses the imperative mood ("add", not "adding")
5. Body wraps at 72 characters
6. Body explains "what" and "why", not "how"
Issue Time Tracking
-------------------
Worklog Id: (was: 904190)
Time Spent: 1h (was: 50m)
> Ensure iceberg-distcp replication consistency
> ---------------------------------------------
>
> Key: GOBBLIN-1994
> URL: https://issues.apache.org/jira/browse/GOBBLIN-1994
> Project: Apache Gobblin
> Issue Type: Bug
> Components: gobblin-core
> Reporter: Kip Kohn
> Assignee: Abhishek Tiwari
> Priority: Major
> Time Spent: 1h
> Remaining Estimate: 0h
>
> Ensure iceberg-distcp consistency by using same `TableMetadata` for both WU
> planning and final commit
--
This message was sent by Atlassian Jira
(v8.20.10#820010)