fallintoplace opened a new pull request, #1955: URL: https://github.com/apache/iceberg-go/pull/1955
## Summary - **Lazy metadata builds:** `Transaction.apply` now waits to build immutable metadata until a new requirement needs validation. - **No-op requirement paths:** Empty requirement lists and duplicate requirements skip `MetadataBuilder.Build()` while keeping conflict checks. - **Atomic staging:** The existing cloned builder and publish behavior stay unchanged. ## Benchmark Apple M1 Pro, Go 1.26.3, 10,000 snapshots: - **No requirements:** about 1.50 MB / 65 allocs to 1.21 MB / 14 allocs - **Duplicate requirement:** about 1.50 MB / 70 allocs to 1.21 MB / 19 allocs - **New requirement:** about 1.51 MB / 77 allocs before and after ## Tests - `go test -timeout=5m` across all packages except `io/gocloud` - `go test -race -timeout=5m . ./table/...` - `golangci-lint run --timeout=10m` -- 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]
