fallintoplace opened a new pull request, #1333: URL: https://github.com/apache/iceberg-go/pull/1333
Summary replace the panic-wrapping memoized factory helper with an error-carrying cache propagate cached factory errors through scanner planning, filtered overwrite classification, and conflict validation add regression coverage for cached factory failures and an invalid-spec manifest path that used to panic Why The scanner code memoized several per-spec builders using `newKeyDefaultMapWrapErr`, which converted any factory error into a panic. That meant ordinary failures like unknown partition spec ids or projection/evaluator build errors could crash the process instead of being returned to the caller. The shared helper is also reused in transaction-side manifest classification and conflict validation, so the same panic behavior leaked there too. Testing go test ./table -run 'Test(KeyDefaultMapWrapErrCachesError|FetchPartitionSpecFilteredManifests_InvalidSpecIDDoesNotPanic|BuildPartitionProjectionWithInvalidSpecID|BuildManifestEvaluatorWithInvalidSpecID|BuildPartitionEvaluatorWithInvalidSpecID|FetchPartitionSpecFilteredManifests_PropagatesEvalError)$' -count=1 go test ./table -count=1 go run github.com/golangci/golangci-lint/v2/cmd/[email protected] run --timeout=10m ./table/... git diff --check -- 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]
