sathesuraj commented on issue #2207:
URL: https://github.com/apache/polaris/issues/2207#issuecomment-3486495341

   @dimas-b  / @adutra : I attempted to create a catalog and tables using 
Polaris Catalog service version 1.2.0, but was unable to create a table when 
using a non-AWS S3-compatible object storage service without STS. Below, I have 
summarized the testing steps and observations. Please let me know if I have 
overlooked any configuration or setup requirements.
   
   Aim - To create a catalog and table in Polaris Catalog using a non-AWS 
S3-compatible storage endpoint.
   
   Setup Details
   
   1. Polaris Catalog Service
        - Version: 1.2.0 (Docker image)
        - Application property file added before service start.
        - Environment variable AWS_SHARED_CREDENTIALS_FILE set to a credentials 
file containing non-AWS S3 access key and secret.
        - Expectation: The default credential provider chain in Polaris should 
use these credentials.
   
   2. Python Application / REST API 
        - Used to call Polaris REST API for catalog creation and to set up 
roles, permissions, and related configurations.
   
   3. Spark Client
        - Used to create a table in the catalog.
        - X-Iceberg-Access-Delegation property is not set in spark client 
   
   
   Polaris Log Snippet (Catalog Creation)
   
   Created new catalog class PolarisCatalog {
       class Catalog {
           type: INTERNAL
           name: demo_catalog
           properties: class CatalogProperties {
               
{default-base-location=s3://non-aws-bucket/demo_catalog/warehouse/}
               defaultBaseLocation: s3://non-aws-bucket/demo_catalog/warehouse/
           }
           createTimestamp: 1234567891011
           lastUpdateTimestamp: 0
           entityVersion: 1
           storageConfigInfo: class AwsStorageConfigInfo {
               class StorageConfigInfo {
                   storageType: S3
                   allowedLocations: 
[s3://non-aws-bucket/demo_catalog/warehouse/*, 
s3://non-aws-bucket/demo_catalog/warehouse/]
               }
               roleArn: null
               externalId: null
               userArn: null
               region: null
               endpoint: https://s3.object.net:port
               stsEndpoint: null
               stsUnavailable: true
               endpointInternal: https://s3.object.net:port
               pathStyleAccess: true
           }
       }
   }
   
   Observed Error - 
   Caused by: java.net.UnknownHostException: 
non-aws-bucket-name.s3.region.amazonaws.com: Name or service not known
   
   
   Questions & Clarifications Needed
   
   1. Unexpected AWS Hostname Resolution
        - Why is Polaris still attempting to connect to 
non-aws-bucket-name.s3.region.amazonaws.com (AWS domain host) instead of the 
specified non-AWS S3 endpoint (https://s3.object.net:port)?
        - Is there a configuration or property that needs to be set to ensure 
Polaris uses the custom endpoint for S3 operations?
   
   2. Credential Provider Chain Behavior
        - When stsUnavailable is set to true, does Polaris use the default 
credential provider chain to retrieve access keys and secrets from the 
environment variable (AWS_SHARED_CREDENTIALS_FILE)?
        - Are there additional steps required to ensure Polaris picks up 
credentials for non-AWS S3 endpoints?
        
   Due to time constraints, I have not been able to review the Polaris source 
code in detail.   


-- 
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]

Reply via email to