helong001 commented on issue #7398: URL: https://github.com/apache/gravitino/issues/7398#issuecomment-2974873591
> Did you place the iceberg S3 bundle jar in the classpath of the iceberg REST server (`iceberg-rest-server/libs`) and Iceberg catalog (`catalogs/lakehouse-iceberg/libs`) ? I’ve checked the classpath in both the iceberg-rest-server and the Iceberg catalog pods using the official image apache/gravitino:1.0.0-SNAPSHOT. The relevant JARs do exist in the expected locations: ```terminal # ls iceberg-rest-server/libs| grep aws gravitino-aws-1.0.0-SNAPSHOT-empty.jar gravitino-aws-1.0.0-SNAPSHOT.jar iceberg-aws-1.6.1.jar iceberg-aws-bundle-1.6.1.jar ``` ```terminal # ls catalogs/lakehouse-iceberg/libs | grep aws iceberg-aws-1.6.1.jar ``` It looks like the iceberg-aws-bundle-1.6.1.jar **is present in iceberg-rest-server/libs**, but **missing in catalogs/lakehouse-iceberg/libs**. Could that be the reason why I’m getting a NoClassDefFoundError when using the **Dynamic Config Provider**? I suspect the dynamic catalog loader uses a separate classloader that relies solely on the JARs under the catalogs directory, and since S3FileIO requires the AWS SDK classes bundled in that JAR, it fails to initialize. Please confirm if manually adding iceberg-aws-bundle-1.6.1.jar to the catalog’s libs path is the expected approach here. Thanks! -- 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]
