adutra commented on code in PR #17709:
URL: https://github.com/apache/iceberg/pull/17709#discussion_r3814008939
##########
core/src/main/java/org/apache/iceberg/rest/RESTTableScan.java:
##########
@@ -228,7 +228,24 @@ private CloseableIterable<FileScanTask>
planTableScan(PlanTableScanRequest planT
private FileIO scanFileIO(List<Credential> storageCredentials) {
ImmutableMap.Builder<String, String> builder =
- ImmutableMap.<String, String>builder().putAll(catalogProperties);
+ ImmutableMap.<String, String>builder()
+ .putAll(catalogProperties)
+ .put(
+ RESTCatalogProperties.REMOTE_SIGNING_ENDPOINT,
+ resourcePaths.remoteSign(tableIdentifier));
+
+ // If the original FileIO has a remote signing config property,
+ // we need to propagate it to the scan FileIO
+
+ @SuppressWarnings("resource")
+ Map<String, String> ioProperties = operations.io().properties();
+
+ if (ioProperties.containsKey(RESTCatalogProperties.REMOTE_SIGNING_CONFIG))
{
Review Comment:
Ah, my interpretation was that both storage credentials and remote signing
config could be present (as in: the client asked both delegation modes, and the
server returned both, leaving the final choice to the client).
If we can guarantee that if credentials are present then no remote signing
should occur, then I think we don't need to modify this class at all. I'll
revert the changes.
--
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]