Kip Kohn created GOBBLIN-1972:
---------------------------------

             Summary: Fix Iceberg-Distcp, which now erroneously shows the job 
finishing as "SUCCESSFUL", despite the commit step failing with an exception.
                 Key: GOBBLIN-1972
                 URL: https://issues.apache.org/jira/browse/GOBBLIN-1972
             Project: Apache Gobblin
          Issue Type: Bug
          Components: gobblin-core
            Reporter: Kip Kohn
            Assignee: Abhishek Tiwari


Find and fix what appears to be a regression in `CopyDataPublisher` or 
`SafeDatasetCommit`...

Here, the same Iceberg-Distcp `CommitStep` fails 
(`org.apache.gobblin.data.management.copy.iceberg.IcebergRegisterStep`), but 
with apache gobblin build `0.18.0-dev-493` it correctly shows "FAILED" yet with 
`0.18.0-dev-515` it claims "SUCCEEDED".

BOTH display the same error:
{code:java}
ERROR [CopyDataPublisher] [Azkaban] Failed to publish tracking_db.MyEvent
  [then the exception stacktrace for the commit step, followed by...]

ERROR [SafeDatasetCommit] [Azkaban] Failed to commit dataset
 - java.io.IOException: Not all datasets published successfully
 -     at 
org.apache.gobblin.data.management.copy.publisher.CopyDataPublisher.publishData(CopyDataPublisher.java:160)
 -     at 
org.apache.gobblin.publisher.DataPublisher.publish(DataPublisher.java:79)
 -     at 
org.apache.gobblin.runtime.SafeDatasetCommit.commitDataset(SafeDatasetCommit.java:260)
 -     at 
org.apache.gobblin.runtime.SafeDatasetCommit.call(SafeDatasetCommit.java:168)
  [...]{code}
but only "FAILED" continues with:


{code:java}
WARN [SafeDatasetCommit] [Azkaban] At least one task in 
CopyEntity.DatasetAndPartition(dataset=CopyableDatasetMetadata(datasetURN=tracking_db.MyEvent),
 partition=tracking_db.MyEvent) did not get committed successfully. Setting 
dataset state to FAILED. java.io.IOException: Not all datasets published 
successfully
 -     at 
org.apache.gobblin.data.management.copy.publisher.CopyDataPublisher.publishData(CopyDataPublisher.java:160)
 -     at 
org.apache.gobblin.publisher.DataPublisher.publish(DataPublisher.java:79)
 -     at 
org.apache.gobblin.runtime.SafeDatasetCommit.commitDataset(SafeDatasetCommit.java:260)
 -     at 
org.apache.gobblin.runtime.SafeDatasetCommit.call(SafeDatasetCommit.java:168)
[...]

INFO [AbstractJobLauncher] [Azkaban] Due to task failure, will report that no 
records or bytes were written for 
CopyEntity.DatasetAndPartition(dataset=CopyableDatasetMetadata(datasetURN=tracking_db.MyEvent),
 partition=tracking_db.MyEvent){code}
by contrast, "SUCCEEDED" announces:
{code:java}
INFO [SafeDatasetCommit] [Azkaban] Persisting dataset state for dataset 
CopyEntity.DatasetAndPartition(dataset=CopyableDatasetMetadata(datasetURN=tracking_db.MyEvent),
 partition=tracking_db.MyEvent)
[...]
INFO [AbstractJobLauncher] [Azkaban] DatasetMetrics for 
'CopyEntity.DatasetAndPartition(dataset=CopyableDatasetMetadata(datasetURN=tracking_db.MyEvent),
 partition=tracking_db.MyEvent)' - (records: 0; bytes: 0) {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to