tanmayrauth opened a new pull request, #1596:
URL: https://github.com/apache/iceberg-go/pull/1596
**What**
Emits a spec-compliant CommitReport from the commit path on successful
completion:
- doCommit's retry loop now records total-duration and attempts.
- The committed snapshot's summary is mapped into a CommitReport under
Java's commit-report metric names. iceberg-go's summary keys differ from those
names, so the mapping translates them (added-files-size →
added-files-size-bytes, deleted-data-files → removed-data-files,
added-position-deletes → added-positional-deletes, …) so the wire format
matches Java and dashboards line up across implementations.
- Metrics with no iceberg-go summary key (DVs, manifest counts) are
omitted rather than reported as zero, mirroring Java's counterFrom.
**Behavior notes**
- No behavior change for existing users: emission is guarded by
metrics.IsNop, so under the default no-op reporter it's a pure no-op (no report
assembled). Report failures can never fail a commit.
- Metadata-only commits emit nothing: a property/schema-only change
produces no snapshot, so reporting the unchanged branch head would misattribute
a prior snapshot's metrics. Skipped via
commitAddedSnapshot.
- Non-default branches resolve the just-committed head via
SnapshotByName(branch) rather than the table's current snapshot.
**Deferred**
CommitReport.Metadata (Java's engine/commit-context map) is left unset
with a TODO — iceberg-go doesn't thread that context into the commit path yet;
a follow-up will populate it.
**Testing**
- Unit tests for buildCommitReport: name-translated mappings, nil
snapshot, absent/unparseable summary values omitted.
- Integration tests: an append emits a CommitReport with correct
operation/attempts/records; a metadata-only commit emits none.
- go build, go vet, and full table/metrics suites pass.
Realted to #1236
--
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]