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]

Reply via email to