chrajeshbabu commented on code in PR #14474:
URL: https://github.com/apache/pinot/pull/14474#discussion_r1851151881


##########
pinot-plugins/pinot-file-system/pinot-s3/src/main/java/org/apache/pinot/plugin/filesystem/S3PinotFS.java:
##########
@@ -501,12 +504,14 @@ public long length(URI fileUri)
   public String[] listFiles(URI fileUri, boolean recursive)
       throws IOException {
     ImmutableList.Builder<String> builder = ImmutableList.builder();
+    String scheme = fileUri.getScheme();
+    Preconditions.checkArgument(scheme.equals(S3_SCHEME) || 
scheme.equals(S3A_SCHEME));
     visitFiles(fileUri, recursive, s3Object -> {
       if (!s3Object.key().equals(fileUri.getPath()) && 
!s3Object.key().endsWith(DELIMITER)) {
-        builder.add(S3_SCHEME + fileUri.getHost() + DELIMITER + 
getNormalizedFileKey(s3Object));
+        builder.add(scheme + SCHEME_SEPARATOR + fileUri.getHost() + DELIMITER 
+ getNormalizedFileKey(s3Object));

Review Comment:
   Yes @mayankshriv.  Tested the patch in the real cluster as well just by 
configuring the protocols supported as s3a where ever s3 needs to be 
configured. Here is sample configurations done at controller, server and 
ingestion job level to make it work,
   
   ```
   controller.data.dir=s3a:<buckeneame>/data/pinot/controller/segment
   controller.local.temp.dir=<tmp-path>/pinot/
   controller.enable.split.commit=true
   controller.helix.cluster.name=pinot-s3-quickstart
   
pinot.controller.storage.factory.class.s3a=org.apache.pinot.plugin.filesystem.S3PinotFS
   pinot.controller.storage.factory.s3a.accessKey=<accesskey>
   pinot.controller.storage.factory.s3a.secretKey=<secret-key>
   pinot.controller.segment.fetcher.protocols=file,http,s3a
   
pinot.controller.segment.fetcher.s3a.class=org.apache.pinot.common.utils.fetcher.PinotFSSegmentFetcher
   pinot.controller.storage.factory.s3a.disableAcl=false
   pinot.controller.storage.factory.s3a.endpoint=<endpoint>
   pinot.controller.storage.factory.s3a.region=<region>
   
   ```
   
   ```
   
pinot.server.storage.factory.class.s3a=org.apache.pinot.plugin.filesystem.S3PinotFS
   pinot.server.storage.factory.s3a.accessKey=<access-key>
   pinot.server.storage.factory.s3a.secretKey=<secret-key>
   pinot.server.segment.fetcher.protocols=file,http,s3a
   
pinot.server.segment.fetcher.s3a.class=org.apache.pinot.common.utils.fetcher.PinotFSSegmentFetcher
   pinot.server.storage.factory.s3a.disableAcl=false
   pinot.server.storage.factory.s3a.endpoint=<endpoint>
   pinot.server.storage.factory.s3a.region=<region>
   
   ```
   
   ```
     - scheme: s3a
       className: org.apache.pinot.plugin.filesystem.S3PinotFS
       configs:
         region: '<region>'
         accessKey: <accesskey>
         secretKey: <secretkey>
         disableAcl: false
         endpoint: <endpoint>
   
   
   ```



-- 
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: commits-unsubscr...@pinot.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to