madisonmlin commented on code in PR #3995:
URL: https://github.com/apache/texera/pull/3995#discussion_r2471748365


##########
file-service/src/main/scala/org/apache/texera/service/util/S3StorageClient.scala:
##########
@@ -51,6 +56,29 @@ object S3StorageClient {
       .build()
   }
 
+  // Initialize S3-compatible presigner for LakeFS S3 Gateway
+  private lazy val s3Presigner: S3Presigner = {
+    val fullUri = new URI(StorageConfig.lakefsEndpoint)

Review Comment:
   Sorry, as an amendment to my previous explanation, the LakeFS presigner 
actually does have the LakeFS endpoint explicitly specified:
   ```
     private lazy val apiClient: ApiClient = {
       val client = new ApiClient()
       client.setApiKey(StorageConfig.lakefsPassword)
       client.setUsername(StorageConfig.lakefsUsername)
       client.setPassword(StorageConfig.lakefsPassword)
       client.setServers(
         List(
           new ServerConfiguration(
             StorageConfig.lakefsEndpoint,
             "LakeFS API server endpoint",
             new java.util.HashMap[String, ServerVariable]()
           )
         ).asJava
       )
       client
     }
   ```
   This `apiClient` is used to generate the pre-signed URL. It uses the same 
`StorageConfig.lakefsEndpoint` that I use to override the s3Presigner endpoint. 
The only difference is that I parse to remove "api/v1" from the endpoint for 
the s3Presigner. Could this be causing the incorrect URL issue you mention?



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