douglascrp / alfresco-cloud-store

Automatically exported from code.google.com/p/alfresco-cloud-store
8 stars 10 forks source link

S3ContentReader Failed to get Object Details: S3 HEAD request failed for #1

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. Configure alfresco with s3 on Amazon ec2 (Alfresco running on port 8080)
2. Solr is running without https
3. No data replication all data is pushed to s3.

What is the expected output? What do you see instead?
Webdav should work fine with alfresco-s3 integration.

What version of the product are you using? On what operating system?
Alfresco 4.0.d with s3 storage + alfresco-cloud-store + Cent OS 5 (Amazon EC2 + 
EBS) + Mysql

Please provide any additional information below.

Following is log error, first when we tried with webdav it throw some error, 
404. But things are working fine when same file is uploaded from Browser using 
Alfresco Explorer interface (Last 5 lines from logs).

2012-08-14 18:47:23,418  DEBUG [content.cloudstore.S3ContentReader] 
[http-8443-1] S3ContentReader Obtaining Input Stream: 
nodeUrl=store://2012/8/14/17/17/9b4a8402-d574-4032-98c3-9934bd832e44.bin
 2012-08-14 18:47:23,458  DEBUG [content.cloudstore.S3ContentReader] [http-8443-1] S3ContentReader Success Obtaining Input Stream: nodeUrl=store://2012/8/14/17/17/9b4a8402-d574-4032-98c3-9934bd832e44.bin
 2012-08-14 18:48:08,862  DEBUG [content.cloudstore.S3ContentWriter] [http-8443-2] S3ContentWriter Creating Temp File: uuid=598732c4-80fa-472c-81fe-42e957ef3572
 2012-08-14 18:48:08,862  DEBUG [content.cloudstore.S3ContentWriter] [http-8443-2] S3ContentWriter Returning Channel to Temp File: uuid=598732c4-80fa-472c-81fe-42e957ef3572
 2012-08-14 18:48:08,888  ERROR [content.cloudstore.S3ContentReader] [http-8443-2] S3ContentReader Failed to get Object Details: S3 HEAD request failed for '/store%3A%2F%2F2012%2F8%2F14%2F18%2F48%2Fb868bd7c-05de-4dcb-a99a-0d1bef477702.bin' - ResponseCode=404, ResponseMessage=Not Found
 org.jets3t.service.S3ServiceException: S3 HEAD request failed for '/store%3A%2F%2F2012%2F8%2F14%2F18%2F48%2Fb868bd7c-05de-4dcb-a99a-0d1bef477702.bin' - ResponseCode=404, ResponseMessage=Not Found
    at org.jets3t.service.impl.rest.httpclient.RestS3Service.performRequest(RestS3Service.java:398)
    at org.jets3t.service.impl.rest.httpclient.RestS3Service.performRestHead(RestS3Service.java:549)
    at org.jets3t.service.impl.rest.httpclient.RestS3Service.getObjectImpl(RestS3Service.java:1188)
    at org.jets3t.service.impl.rest.httpclient.RestS3Service.getObjectDetailsImpl(RestS3Service.java:1124)
    at org.jets3t.service.S3Service.getObjectDetails(S3Service.java:1325)
    at org.jets3t.service.S3Service.getObjectDetails(S3Service.java:1073)
    at org.alfresco.repo.content.cloudstore.S3ContentReader.getDetails(S3ContentReader.java:145)
    at org.alfresco.repo.content.cloudstore.S3ContentReader.<init>(S3ContentReader.java:79)
    at org.alfresco.repo.content.cloudstore.S3ContentWriter.createReader(S3ContentWriter.java:72)
    at org.alfresco.repo.content.AbstractContentWriter.getReader(AbstractContentWriter.java:142)
    at org.alfresco.repo.content.AbstractContentWriter.doGuessMimetype(AbstractContentWriter.java:626)
    at org.alfresco.repo.content.AbstractContentWriter.access$500(AbstractContentWriter.java:60)
    at org.alfresco.repo.content.AbstractContentWriter$DoGuessingOnCloseListener.contentStreamClosed(AbstractContentWriter.java:648)
    at org.alfresco.repo.content.AbstractContentAccessor$CallbackFileChannel.fireChannelClosed(AbstractContentAccessor.java:331)
    at org.alfresco.repo.content.AbstractContentAccessor$CallbackFileChannel.implCloseChannel(AbstractContentAccessor.java:315)
    at java.nio.channels.spi.AbstractInterruptibleChannel.close(AbstractInterruptibleChannel.java:97)
    at java.nio.channels.Channels$1.close(Channels.java:159)
    at java.io.FilterOutputStream.close(FilterOutputStream.java:143)
    at org.alfresco.repo.content.AbstractContentWriter.copyStreams(AbstractContentWriter.java:499)
    at org.alfresco.repo.content.AbstractContentWriter.putContent(AbstractContentWriter.java:436)
    at org.alfresco.repo.webdav.PutMethod.executeImpl(PutMethod.java:223)
    at org.alfresco.repo.webdav.WebDAVMethod$2.execute(WebDAVMethod.java:334)
    at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:388)
    at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:278)
    at org.alfresco.repo.webdav.WebDAVMethod.execute(WebDAVMethod.java:342)
    at org.alfresco.repo.webdav.WebDAVServlet.service(WebDAVServlet.java:128)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.alfresco.repo.webdav.auth.AuthenticationFilter.doFilter(AuthenticationFilter.java:172)
    at sun.reflect.GeneratedMethodAccessor394.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.alfresco.repo.management.subsystems.ChainingSubsystemProxyFactory$1.invoke(ChainingSubsystemProxyFactory.java:116)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
    at $Proxy232.doFilter(Unknown Source)
    at org.alfresco.repo.web.filter.beans.BeanProxyFilter.doFilter(BeanProxyFilter.java:82)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.alfresco.web.app.servlet.GlobalLocalizationFilter.doFilter(GlobalLocalizationFilter.java:58)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.jasig.cas.client.session.SingleSignOutFilter.doFilter(SingleSignOutFilter.java:76)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:662)
Caused by: org.jets3t.service.impl.rest.HttpException
    at org.jets3t.service.impl.rest.httpclient.RestS3Service.performRequest(RestS3Service.java:396)
    ... 55 more
2012-08-14 18:48:08,920  ERROR [content.cloudstore.S3ContentReader] 
[http-8443-2] S3ContentReader Failed to get Object Details: S3 HEAD request 
failed for 
'/store%3A%2F%2F2012%2F8%2F14%2F18%2F48%2Fb868bd7c-05de-4dcb-a99a-0d1bef477702.b
in' - ResponseCode=404, ResponseMessage=Not Found
 org.jets3t.service.S3ServiceException: S3 HEAD request failed for '/store%3A%2F%2F2012%2F8%2F14%2F18%2F48%2Fb868bd7c-05de-4dcb-a99a-0d1bef477702.bin' - ResponseCode=404, ResponseMessage=Not Found
    at org.jets3t.service.impl.rest.httpclient.RestS3Service.performRequest(RestS3Service.java:398)
    at org.jets3t.service.impl.rest.httpclient.RestS3Service.performRestHead(RestS3Service.java:549)
    at org.jets3t.service.impl.rest.httpclient.RestS3Service.getObjectImpl(RestS3Service.java:1188)
    at org.jets3t.service.impl.rest.httpclient.RestS3Service.getObjectDetailsImpl(RestS3Service.java:1124)
    at org.jets3t.service.S3Service.getObjectDetails(S3Service.java:1325)
    at org.jets3t.service.S3Service.getObjectDetails(S3Service.java:1073)
    at org.alfresco.repo.content.cloudstore.S3ContentReader.getDetails(S3ContentReader.java:145)
    at org.alfresco.repo.content.cloudstore.S3ContentReader.<init>(S3ContentReader.java:79)
    at org.alfresco.repo.content.cloudstore.S3ContentStore.getReader(S3ContentStore.java:96)
    at org.alfresco.repo.content.AbstractContentStore.isContentUrlSupported(AbstractContentStore.java:123)
    at org.alfresco.repo.content.cleanup.EagerContentStoreCleaner.deleteFromStores(EagerContentStoreCleaner.java:264)
    at org.alfresco.repo.content.cleanup.EagerContentStoreCleaner.afterRollback(EagerContentStoreCleaner.java:243)
    at org.alfresco.repo.transaction.AlfrescoTransactionSupport$TransactionSynchronizationImpl.afterCompletion(AlfrescoTransactionSupport.java:857)
    at org.springframework.transaction.support.TransactionSynchronizationUtils.invokeAfterCompletion(TransactionSynchronizationUtils.java:168)
    at org.springframework.transaction.support.AbstractPlatformTransactionManager.invokeAfterCompletion(AbstractPlatformTransactionManager.java:996)
    at org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerAfterCompletion(AbstractPlatformTransactionManager.java:971)
    at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:874)
    at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:822)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.completeTransactionAfterThrowing(TransactionAspectSupport.java:411)
    at org.alfresco.util.transaction.SpringAwareUserTransaction.completeTransactionAfterThrowing(SpringAwareUserTransaction.java:567)
    at org.alfresco.util.transaction.SpringAwareUserTransaction.rollback(SpringAwareUserTransaction.java:537)
    at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:457)
    at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:278)
    at org.alfresco.repo.webdav.WebDAVMethod.execute(WebDAVMethod.java:342)
    at org.alfresco.repo.webdav.WebDAVServlet.service(WebDAVServlet.java:128)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.alfresco.repo.webdav.auth.AuthenticationFilter.doFilter(AuthenticationFilter.java:172)
    at sun.reflect.GeneratedMethodAccessor394.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.alfresco.repo.management.subsystems.ChainingSubsystemProxyFactory$1.invoke(ChainingSubsystemProxyFactory.java:116)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
    at $Proxy232.doFilter(Unknown Source)
    at org.alfresco.repo.web.filter.beans.BeanProxyFilter.doFilter(BeanProxyFilter.java:82)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.alfresco.web.app.servlet.GlobalLocalizationFilter.doFilter(GlobalLocalizationFilter.java:58)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.jasig.cas.client.session.SingleSignOutFilter.doFilter(SingleSignOutFilter.java:76)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:662)
Caused by: org.jets3t.service.impl.rest.HttpException
    at org.jets3t.service.impl.rest.httpclient.RestS3Service.performRequest(RestS3Service.java:396)
    ... 54 more
2012-08-14 18:48:08,923  DEBUG [content.cloudstore.S3ContentStore] 
[http-8443-2] S3ContentStore Deleting Object: 
contentUrl=store://2012/8/14/18/48/b868bd7c-05de-4dcb-a99a-0d1bef477702.bin
 2012-08-14 18:48:08,973  ERROR [alfresco.webdav.protocol] [http-8443-2] java.io.PrintWriter@1ffaee7
 HTTP Status Code: 500 caused by: org.alfresco.service.cmr.repository.ContentIOException: 07140052 Failed to open stream onto channel: 
   accessor: ContentAccessor[ contentUrl=store://2012/8/14/18/48/b868bd7c-05de-4dcb-a99a-0d1bef477702.bin, mimetype=null, size=0, encoding=UTF-8, locale=en_US]
    at org.alfresco.repo.webdav.PutMethod.executeImpl(PutMethod.java:259)
    at org.alfresco.repo.webdav.WebDAVMethod$2.execute(WebDAVMethod.java:334)
    at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:388)
    at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:278)
    at org.alfresco.repo.webdav.WebDAVMethod.execute(WebDAVMethod.java:342)
    at org.alfresco.repo.webdav.WebDAVServlet.service(WebDAVServlet.java:128)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.alfresco.repo.webdav.auth.AuthenticationFilter.doFilter(AuthenticationFilter.java:172)
    at sun.reflect.GeneratedMethodAccessor394.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.alfresco.repo.management.subsystems.ChainingSubsystemProxyFactory$1.invoke(ChainingSubsystemProxyFactory.java:116)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
    at $Proxy232.doFilter(Unknown Source)
    at org.alfresco.repo.web.filter.beans.BeanProxyFilter.doFilter(BeanProxyFilter.java:82)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.alfresco.web.app.servlet.GlobalLocalizationFilter.doFilter(GlobalLocalizationFilter.java:58)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.jasig.cas.client.session.SingleSignOutFilter.doFilter(SingleSignOutFilter.java:76)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:662)
Caused by: org.alfresco.service.cmr.repository.ContentIOException: 07140052 
Failed to open stream onto channel: 
   accessor: ContentAccessor[ contentUrl=store://2012/8/14/18/48/b868bd7c-05de-4dcb-a99a-0d1bef477702.bin, mimetype=null, size=0, encoding=UTF-8, locale=en_US]
    at org.alfresco.repo.content.AbstractContentReader.getContentInputStream(AbstractContentReader.java:401)
    at org.alfresco.repo.content.MimetypeMap.detectType(MimetypeMap.java:441)
    at org.alfresco.repo.content.MimetypeMap.guessMimetype(MimetypeMap.java:536)
    at org.alfresco.repo.content.AbstractContentWriter.doGuessMimetype(AbstractContentWriter.java:626)
    at org.alfresco.repo.content.AbstractContentWriter.access$500(AbstractContentWriter.java:60)
    at org.alfresco.repo.content.AbstractContentWriter$DoGuessingOnCloseListener.contentStreamClosed(AbstractContentWriter.java:648)
    at org.alfresco.repo.content.AbstractContentAccessor$CallbackFileChannel.fireChannelClosed(AbstractContentAccessor.java:331)
    at org.alfresco.repo.content.AbstractContentAccessor$CallbackFileChannel.implCloseChannel(AbstractContentAccessor.java:315)
    at java.nio.channels.spi.AbstractInterruptibleChannel.close(AbstractInterruptibleChannel.java:97)
    at java.nio.channels.Channels$1.close(Channels.java:159)
    at java.io.FilterOutputStream.close(FilterOutputStream.java:143)
    at org.alfresco.repo.content.AbstractContentWriter.copyStreams(AbstractContentWriter.java:499)
    at org.alfresco.repo.content.AbstractContentWriter.putContent(AbstractContentWriter.java:436)
    at org.alfresco.repo.webdav.PutMethod.executeImpl(PutMethod.java:223)
    ... 35 more
Caused by: org.alfresco.service.cmr.repository.ContentIOException: 07140051 
Failed to open channel: ContentAccessor[ 
contentUrl=store://2012/8/14/18/48/b868bd7c-05de-4dcb-a99a-0d1bef477702.bin, 
mimetype=null, size=0, encoding=UTF-8, locale=en_US]
    at org.alfresco.repo.content.cloudstore.S3ContentReader.getDirectReadableChannel(S3ContentReader.java:104)
    at org.alfresco.repo.content.AbstractContentReader.getReadableChannel(AbstractContentReader.java:271)
    at org.alfresco.repo.content.AbstractContentReader.getContentInputStream(AbstractContentReader.java:375)
    ... 48 more
Caused by: org.alfresco.service.cmr.repository.ContentIOException: 07140050 
Content object does not exist
    at org.alfresco.repo.content.cloudstore.S3ContentReader.getDirectReadableChannel(S3ContentReader.java:93)
    ... 50 more
start[1344970193443] time[6] tag[FastBindLdapAuthenticationHandler]
2012-08-14 18:50:56,798  DEBUG [content.cloudstore.S3ContentWriter] 
[http-8443-2] S3ContentWriter Creating Temp File: 
uuid=9bc0d6c4-47c2-4d67-88e2-5513fda6ac2d
 2012-08-14 18:50:56,858  DEBUG [content.cloudstore.S3ContentWriter] [http-8443-2] S3ContentWriter Returning Channel to Temp File: uuid=9bc0d6c4-47c2-4d67-88e2-5513fda6ac2d
 2012-08-14 18:51:07,678  DEBUG [content.cloudstore.S3ContentReader] [http-8080-1] S3ContentReader Obtaining Input Stream: nodeUrl=store://2012/8/14/18/50/9045d33b-61fa-4754-bceb-8c99de5ff576.bin
 2012-08-14 18:51:07,704  DEBUG [content.cloudstore.S3ContentReader] [http-8080-1] S3ContentReader Success Obtaining Input Stream: nodeUrl=store://2012/8/14/18/50/9045d33b-61fa-4754-bceb-8c99de5ff576.bin
 2012-08-14 18:51:31,256  DEBUG [content.cloudstore.S3ContentReader] [http-8080-2] S3ContentReader Obtaining Input Stream: nodeUrl=store://2012/8/14/18/50/9045d33b-61fa-4754-bceb-8c99de5ff576.bin
 2012-08-14 18:51:31,335  DEBUG [content.cloudstore.S3ContentReader] [http-8080-2] S3ContentReader Success Obtaining Input Stream: nodeUrl=store://2012/8/14/18/50/9045d33b-61fa-4754-bceb-8c99de5ff576.bin

Original issue reported on code.google.com by liferay....@gmail.com on 15 Aug 2012 at 5:27

GoogleCodeExporter commented 8 years ago
I believe either the jets3t API or the S3 API has changed since this code was 
originally written. I have this code working with Alfresco Enterprise version 
4.0.2 which should be fairly similar to 4.0.d. 

First change S3ContentStore.java:
Change the line in the S3ContentStore constructor
  bucket = s3.createBucket(bucketName);
To
  bucket = s3.getOrCreateBucket(bucketName);

This should help some of the 404 errors.

Second change, in S3ContentReader:
Add the following to the getDetails() method, inside the catch block:
} catch (S3ServiceException e) {
            if(e.getResponseCode() == 404) {
                // The object key doesn't exist, create it and try again
                try {
                    s3.putObject(bucket, new S3Object(nodeUrl));
                    objectDetails = s3.getObjectDetails(bucket, nodeUrl);
                    return;
                } catch (S3ServiceException e1) {
                    logger.error("S3ContentReader Failed to get Object Details, attempted to create object ["+nodeUrl+"]: " + e1.getMessage());
                    e1.printStackTrace();
                }
            }
            logger.error("S3ContentReader Failed to get Object Details: " + e.getMessage());

Hope that helps.
Michael

Original comment by mmccar...@gmail.com on 16 Aug 2012 at 8:56

GoogleCodeExporter commented 8 years ago
Thanks, it works :) I just need to update jets3t version from 0.6 to 0.9.

Thanks Michael!

Original comment by liferay....@gmail.com on 17 Aug 2012 at 5:02

douglascrp commented 8 years ago

Closing