However, if I use the AWS CLI, then I am able to read from the bucket (and I know it is populated):
My conf/alluxio-site.properties file is populated with the following configurations:
2016-11-04 15:31:42,144 ERROR logger.type (S3AUnderFileSystem.java:mkdirsInternal) - Failed to create directory: testfolder
com.amazonaws.services.s3.model.AmazonS3Exception: Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: XXXXXXXXXXXXXX), S3 Extended Request ID: XXXXXXXXXXXXXXXXXXXXXXXXXXXX
at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:1305)
at com.amazonaws.http.AmazonHttpClient.executeOneRequest(AmazonHttpClient.java:852)
at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:630)
at com.amazonaws.http.AmazonHttpClient.doExecute(AmazonHttpClient.java:405)
at com.amazonaws.http.AmazonHttpClient.executeWithTimer(AmazonHttpClient.java:367)
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:318)
at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:3787)
at com.amazonaws.services.s3.AmazonS3Client.putObject(AmazonS3Client.java:1399)
at alluxio.underfs.s3a.S3AUnderFileSystem.mkdirsInternal(S3AUnderFileSystem.java:786)
at alluxio.underfs.s3a.S3AUnderFileSystem.getFolderMetadata(S3AUnderFileSystem.java:633)
at alluxio.underfs.s3a.S3AUnderFileSystem.getObjectDetails(S3AUnderFileSystem.java:654)
at alluxio.underfs.s3a.S3AUnderFileSystem.exists(S3AUnderFileSystem.java:278)
at alluxio.master.file.FileSystemMaster.mountInternal(FileSystemMaster.java:2122)
at alluxio.master.file.FileSystemMaster.mountAndJournal(FileSystemMaster.java:2055)
at alluxio.master.file.FileSystemMaster.mount(FileSystemMaster.java:2022)
at alluxio.master.file.FileSystemMasterClientServiceHandler$12.call(FileSystemMasterClientServiceHandler.java:233)
at alluxio.master.file.FileSystemMasterClientServiceHandler$12.call(FileSystemMasterClientServiceHandler.java:230)
at alluxio.RpcUtils.call(RpcUtils.java:62)
at alluxio.master.file.FileSystemMasterClientServiceHandler.mount(FileSystemMasterClientServiceHandler.java:230)
at alluxio.thrift.FileSystemMasterClientService$Processor$mount.getResult(FileSystemMasterClientService.java:1611)
at alluxio.thrift.FileSystemMasterClientService$Processor$mount.getResult(FileSystemMasterClientService.java:1595)
at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
at org.apache.thrift.TMultiplexedProcessor.process(TMultiplexedProcessor.java:123)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:286)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
2016-11-04 15:31:42,208 WARN logger.type (RpcUtils.java:call) - I/O error when running rpc
java.io.IOException: Ufs path /testfolder does not exist
at alluxio.master.file.FileSystemMaster.mountInternal(FileSystemMaster.java:2123)
at alluxio.master.file.FileSystemMaster.mountAndJournal(FileSystemMaster.java:2055)
at alluxio.master.file.FileSystemMaster.mount(FileSystemMaster.java:2022)
at alluxio.master.file.FileSystemMasterClientServiceHandler$12.call(FileSystemMasterClientServiceHandler.java:233)
at alluxio.master.file.FileSystemMasterClientServiceHandler$12.call(FileSystemMasterClientServiceHandler.java:230)
at alluxio.RpcUtils.call(RpcUtils.java:62)
at alluxio.master.file.FileSystemMasterClientServiceHandler.mount(FileSystemMasterClientServiceHandler.java:230)
at alluxio.thrift.FileSystemMasterClientService$Processor$mount.getResult(FileSystemMasterClientService.java:1611)
at alluxio.thrift.FileSystemMasterClientService$Processor$mount.getResult(FileSystemMasterClientService.java:1595)
at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
at org.apache.thrift.TMultiplexedProcessor.process(TMultiplexedProcessor.java:123)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:286)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)