douglascrp / alfresco-cloud-store Goto Github PK
View Code? Open in Web Editor NEWAutomatically exported from code.google.com/p/alfresco-cloud-store
Automatically exported from code.google.com/p/alfresco-cloud-store
make sure instructions make it clear that the initial configuration whether to cache or not needs to be made on initial install only. Once its set it cant be changed with out wiping db and stores.
Gives an error 408 read time out -
INFO [webscripts.connector.RemoteClient] [http-apr-8080-exec-10] Error status 408 Read timed out java.net.SocketTimeoutException: Read timed out
What steps will reproduce the problem?
1. service alfresco stop
2. java -jar alfresco-mmt.jar install
/opt/alfresco/amps/alfresco-cloud-store.amp
/opt/alfresco/tomcat/webapps/alfresco.war -force (also tried manually unpacking
AMP..)
3. directly modify XML for Authentication with S3 (access key, secret key,
bucket name etc)
4. rename caching-content-store-context.xml.sample
caching-content-store-context.xml
5. Rename replicating-content-services-context.xml.sample
replicating-content-services-context.xml
6. service alfresco restart && tail -f -n 100
/opt/alfresco/tomcat/logs/catalina.out
What is the expected output? What do you see instead?
Expected - Content store begins replicating from local to s3
What version of the product are you using? On what operating system?
using the latest version available on alfresco community 5.0a
running on amazon linux ami (enterprise linux)
Amazon ec2 server
MySQL Database
Please provide any additional information below.
I'm sorry, I'm very new to alfresco and not a developer... not sure how to
proceed past this error. Thanks
2015-02-19 18:33:15,262 ERROR [web.context.ContextLoader]
[localhost-startStop-1] Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'authorityBridgeTableCache' defined in class path resource [alfresco/cache-context.xml]: Cannot resolve reference to bean 'authorityBridgeDAO' while setting bean property 'authorityBridgeDAO'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'authorityBridgeDAO' defined in class path resource [alfresco/authority-services-context.xml]: Cannot resolve reference to bean 'nodeDAO' while setting bean property 'nodeDAO'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'nodeDAO': FactoryBean threw exception on object creation; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'nodeDAO.org.hibernate.dialect.MySQLInnoDBDialect' defined in class path resource [alfresco/dao/dao-context.xml]: Cannot resolve reference to bean 'contentDataDAO' while setting bean property 'contentDataDAO'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'contentDataDAO' defined in class path resource [alfresco/dao/dao-context.xml]: Cannot resolve reference to bean 'eagerContentStoreCleaner' while setting bean property 'contentStoreCleaner'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'eagerContentStoreCleaner' defined in class path resource [alfresco/content-services-context.xml]: Cannot resolve reference to bean 'contentStoresToClean' while setting bean property 'stores'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'contentStoresToClean' defined in class path resource [alfresco/content-services-context.xml]: Cannot resolve reference to bean 'fileContentStore' while setting constructor argument with key [0]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'fileContentStore' defined in file [/opt/alfresco/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/module/cloudstore/module-context.xml]: Cannot resolve reference to bean 'contentCache' while setting bean property 'cache'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'contentCache' defined in file [/opt/alfresco/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/module/cloudstore/module-context.xml]: Cannot resolve reference to bean 'cachingContentStoreCache' while setting bean property 'memoryStore'; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.alfresco.repo.cache.EhCacheAdapter] for bean with name 'cachingContentStoreCache' defined in file [/opt/alfresco/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/module/cloudstore/module-context.xml]; nested exception is java.lang.ClassNotFoundException: org.alfresco.repo.cache.EhCacheAdapter
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1325)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1086)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
at org.alfresco.web.app.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:63)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4973)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5467)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:632)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1073)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1857)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
(The comment was too long so I attached a file with the entire error..)
Original issue reported on code.google.com by [email protected]
on 19 Feb 2015 at 8:13
Attachments:
I want to give it a try using the official AWS Java Library to talk with S3.
after compiling amp, applying to war using standard apply_amps command, I see this ERROR. There are other amps present, but not errors get generated with them, only if this amp is added. Does that jar ring any bells?
00060000 ERROR: The amp will overwrite an existing file in the war '/WEB-INF/lib/jackson-mapper-asl-1.9.13.jar'. Execution halted. By specifying -force , you can force installation of AMP regardless of the current war state
2021-02-11 13:12:30,161 INFO [extensions.webscripts.TemplateProcessorRegistry] [localhost-startStop-1] Registered template processor freemarker for extension ftl
2021-02-11 13:12:30,164 INFO [extensions.webscripts.ScriptProcessorRegistry] [localhost-startStop-1] Registered script processor javascript for extension js
2021-02-11 13:12:30,165 INFO [extensions.webscripts.TemplateProcessorRegistry] [localhost-startStop-1] Registered template processor freemarker for extension ftl
2021-02-11 13:12:30,177 INFO [extensions.webscripts.ScriptProcessorRegistry] [localhost-startStop-1] Registered script processor javascript for extension js
2021-02-11 13:12:35,921 INFO [extensions.webscripts.DeclarativeRegistry] [localhost-startStop-1] Registered 393 Web Scripts (+0 failed), 411 URLs
2021-02-11 13:12:35,921 INFO [extensions.webscripts.DeclarativeRegistry] [localhost-startStop-1] Registered 8 Package Description Documents (+0 failed)
2021-02-11 13:12:35,921 INFO [extensions.webscripts.DeclarativeRegistry] [localhost-startStop-1] Registered 0 Schema Description Documents (+0 failed)
2021-02-11 13:12:36,004 INFO [extensions.webscripts.AbstractRuntimeContainer] [localhost-startStop-1] Initialised Surf Container Web Script Container (in 5805.6987ms)
2021-02-11 13:12:36,007 INFO [extensions.webscripts.TemplateProcessorRegistry] [localhost-startStop-1] Registered template processor freemarker for extension ftl
2021-02-11 13:12:36,007 INFO [extensions.webscripts.ScriptProcessorRegistry] [localhost-startStop-1] Registered script processor javascript for extension js
2021-02-11 13:12:47,761 INFO [solr.component.AsyncBuildSuggestComponent] [coreLoadExecutor-5-thread-2] Initializing SuggestComponent
2021-02-11 13:12:47,761 INFO [solr.component.AsyncBuildSuggestComponent] [coreLoadExecutor-5-thread-1] Initializing SuggestComponent
2021-02-11 13:12:47,959 INFO [solr.component.AsyncBuildSuggestComponent] [Suggestor-alfresco-1] Loading suggester index for: shingleBasedSuggestions
2021-02-11 13:12:48,475 INFO [solr.component.AsyncBuildSuggestComponent] [Suggestor-alfresco-1] Loaded suggester shingleBasedSuggestions, took 515 ms
2021-02-11 13:13:01,352 ERROR [solr.tracker.AbstractTracker] [org.alfresco.solr.AlfrescoCoreAdminHandler@34138be4_Worker-1] Model tracking failed
org.alfresco.error.AlfrescoRuntimeException: 01110000 archive GetModelsDiff return status is 404
at org.alfresco.solr.client.SOLRAPIClient.getModelsDiff(SOLRAPIClient.java:1181)
at org.alfresco.solr.tracker.ModelTracker.trackModelsImpl(ModelTracker.java:248)
at org.alfresco.solr.tracker.ModelTracker.trackModels(ModelTracker.java:206)
at org.alfresco.solr.tracker.ModelTracker.ensureFirstModelSync(ModelTracker.java:228)
at org.alfresco.solr.tracker.CoreWatcherJob.registerForCore(CoreWatcherJob.java:145)
at org.alfresco.solr.tracker.CoreWatcherJob.execute(CoreWatcherJob.java:82)
at org.quartz.core.JobRunShell.run(JobRunShell.java:216)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:563)
2021-02-11 13:13:01,468 ERROR [solr.tracker.AbstractTracker] [org.alfresco.solr.AlfrescoCoreAdminHandler@34138be4_Worker-1] Model tracking failed
org.alfresco.error.AlfrescoRuntimeException: 01110001 archive GetModelsDiff return status is 404
at org.alfresco.solr.client.SOLRAPIClient.getModelsDiff(SOLRAPIClient.java:1181)
at org.alfresco.solr.tracker.ModelTracker.trackModelsImpl(ModelTracker.java:248)
at org.alfresco.solr.tracker.ModelTracker.trackModels(ModelTracker.java:206)
at org.alfresco.solr.tracker.ModelTracker.ensureFirstModelSync(ModelTracker.java:228)
at org.alfresco.solr.tracker.CoreWatcherJob.registerForCore(CoreWatcherJob.java:145)
at org.alfresco.solr.tracker.CoreWatcherJob.execute(CoreWatcherJob.java:82)
at org.quartz.core.JobRunShell.run(JobRunShell.java:216)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:563)
2021-02-11 13:13:15,132 ERROR [solr.tracker.AbstractTracker] [org.alfresco.solr.AlfrescoCoreAdminHandler@34138be4_Worker-4] Tracking failed
org.alfresco.error.AlfrescoRuntimeException: 01110003 api/solr/aclchangesets return status:404
at org.alfresco.solr.client.SOLRAPIClient.getAclChangeSets(SOLRAPIClient.java:169)
at org.alfresco.solr.tracker.AclTracker.checkRepoAndIndexConsistency(AclTracker.java:346)
at org.alfresco.solr.tracker.AclTracker.trackRepository(AclTracker.java:312)
at org.alfresco.solr.tracker.AclTracker.doTrack(AclTracker.java:103)
at org.alfresco.solr.tracker.AbstractTracker.track(AbstractTracker.java:179)
at org.alfresco.solr.tracker.TrackerJob.execute(TrackerJob.java:54)
at org.quartz.core.JobRunShell.run(JobRunShell.java:216)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:563)
2021-02-11 13:13:15,134 ERROR [solr.tracker.AbstractTracker] [org.alfresco.solr.AlfrescoCoreAdminHandler@34138be4_Worker-6] Model tracking failed
org.alfresco.error.AlfrescoRuntimeException: 01110005 archive GetModelsDiff return status is 404
at org.alfresco.solr.client.SOLRAPIClient.getModelsDiff(SOLRAPIClient.java:1181)
at org.alfresco.solr.tracker.ModelTracker.trackModelsImpl(ModelTracker.java:248)
at org.alfresco.solr.tracker.ModelTracker.trackModels(ModelTracker.java:206)
at org.alfresco.solr.tracker.ModelTracker.ensureFirstModelSync(ModelTracker.java:228)
at org.alfresco.solr.component.EnsureModelsComponent.prepare(EnsureModelsComponent.java:87)
at org.apache.solr.handler.component.AlfrescoSearchHandler.handleRequestBody(AlfrescoSearchHandler.java:292)
at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
at org.alfresco.solr.Cloud.getResponse(Cloud.java:165)
at org.alfresco.solr.Cloud.getSolrDocumentList(Cloud.java:149)
at org.alfresco.solr.SolrInformationServer.getDocsWithUncleanContent(SolrInformationServer.java:722)
at org.alfresco.solr.tracker.ContentTracker.doTrack(ContentTracker.java:76)
at org.alfresco.solr.tracker.AbstractTracker.track(AbstractTracker.java:179)
at org.alfresco.solr.tracker.TrackerJob.execute(TrackerJob.java:54)
at org.quartz.core.JobRunShell.run(JobRunShell.java:216)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:563)
Integrate the HashBasedFileContentStore functionality from https://github.com/AFaust/content-stores to avoid unnecessary upload and download documents with the same content to/from S3, which will be quicker and cheaper.
Improve error reporting to show a warning, if a store is present but not valid. Is there any way to detect if the store is not valid for use with s3 if a valid key is found in global-properties?
I'm creating this as a reminder to test it when I find the time and see if it works.
When I copied the data from local to s3 and changed the URL in DB, alfresco is unable to start.
It is throwing a content integrity error.
Do we need to export and import the data to S3 or we can just copy the data to S3 ?
This feedback was provided by @jpotts back in January, 14, 2017
I had problems with the alfresco-cloud-store add-on for one of my clients that had a similar need to move a lot of data to Alfresco on AWS. The client had some very large files and those were frequently getting hung up as they were being transferred from local storage to S3. The client ended up dropping the S3 requirement and just paying for standard storage.
So before you commit to Alfresco CE on S3, you should obviously do a lot of testing using realistic use cases and data sizes/volumes.
Question from another user:
just for interest: Were the issues you hit related to the sync algorithm
(e.g. instability with timeouts/long running requests, jets3t issues) or
in the requirements for the local cache?
And again, Jeff's response:
It seemed to be instability with timeouts/long running requests.
For example, suppose someone uploads a 4 GB file to Alfresco. Then cloud store starts to move it to S3 but something happens to interrupt this. It seemed like the repo was being left in an inconsistent state at that point.
Sorry that I don't have additional details to offer--it has been well over a year since we tried using it.
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 + alfresco-cloud-store + Cent OS 5 (Amazon EC2) + 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.
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 [email protected]
on 15 Aug 2012 at 5:28
Anyone tried this connector with Minio (https://www.minio.io/) ?
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 [email protected]
on 15 Aug 2012 at 5:27
my alfresco and share were operationnal on my mysql database.
then i tried to fallow this tutorial which seemed easy to implement:
https://code.google.com/p/alfresco-cloud-store/wiki/Introduction
i will tell you what i did for each step:
<property name="alfresco.install.dir" value="/PATH/TO/ALFRESCO/INSTALL"/>
--> <property name="alfresco.install.dir" value="/opt/tomcat/alfresco/"/>
<property name="alfresco.src.dir" value="/PATH/TO/ALFRESCO/SOURCE/OR/SDK"/>
--> <property name="alfresco.src.dir"
value="/opt/tomcat/webapps/alfresco/WEB-INF/lib"/>
then i install the alfresco-mmt-2.1.0.jar to install the AMP
then i install the amp
java -jar alfresco-mmt-2.1.0.jar install
/opt/tomcat/webapps/alfresco/cloudstore/alfresco-cloud-store.amp
/opt/tomcat/webapps/alfresco.war
then i tried to find the "custom-repository.properties", i added the
s3.accesskey=12345ABCD1234ABCD
s3.secretkey=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
s3.bucketname=alfs3bucketsample
s3.bucketLocation=US
( with the good value :) )
in 2 files:
/opt/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/module/test/alfresco-globa
l.properties
/opt/tomcat/shared/classes/alfresco-global.properties
and then i restart the server with "reboot now"
i paste fast:
tail -f /opt/tomcat/logs/catalina.out
to see what is happenning when the server is launching tomcat and alfresco
root@ip-10-238-196-182:/# tail -f /opt/tomcat/logs/catalina.out
2013-09-10 21:40:58,439 INFO [extensions.webscripts.DeclarativeRegistry]
[localhost-startStop-1] Registered 339 Web Scripts (+0 failed), 352 URLs
2013-09-10 21:40:58,439 INFO [extensions.webscripts.DeclarativeRegistry]
[localhost-startStop-1] Registered 8 Package Description Documents (+0 failed)
2013-09-10 21:40:58,443 INFO [extensions.webscripts.DeclarativeRegistry]
[localhost-startStop-1] Registered 0 Schema Description Documents (+0 failed)
2013-09-10 21:41:01,006 INFO
[extensions.webscripts.AbstractRuntimeContainer][localhost-startStop-1]
Initialised Spring Surf Container Web Script Container(in 13179.753ms)
2013-09-10 21:41:01,099 INFO
[extensions.webscripts.TemplateProcessorRegistry] [localhost-startStop-1]
Registered template processor freemarker for extension ftl
2013-09-10 21:41:01,109 INFO
[extensions.webscripts.ScriptProcessorRegistry][localhost-startStop-1]
Registered script processor javascript for extension js
Sep 10, 2013 9:41:03 PM org.apache.catalina.util.SessionIdGenerator
createSecureRandom
INFO: Creation of SecureRandom instance for session ID generation using
[SHA1PRNG] took [180] milliseconds.
Sep 10, 2013 9:41:04 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive /opt/tomcat/webapps/alfresco.war
Sep 10, 2013 9:41:28 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/core is already defined
Sep 10, 2013 9:41:34 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
2013-09-10 21:42:22,389 INFO
[management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1]
Starting 'sysAdmin' subsystem, ID: [sysAdmin, default]
2013-09-10 21:42:22,428 INFO
[management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1]
Startup of 'sysAdmin' subsystem, ID: [sysAdmin, default] complete
2013-09-10 21:42:36,218 ERROR [content.cloudstore.S3ContentStore]
[localhost-startStop-1] S3ContentStore Initialization Error in Constructor:
org.jets3t.service.S3ServiceException: S3 Error Message. GET '/' on Host
's3.amazonaws.com' @ 'Tue, 10 Sep 2013 21:42:35 GMT'
-- ResponseCode: 403, ResponseStatus: Forbidden, XML Error Message:
<?xml version="1.0" encoding="UTF-8"?>
<Error>
<Code>InvalidAccessKeyId</Code>
<Message>The AWS Access Key Id you provided does not exist in our records.</Message>
<RequestId>0F19707A3F30E73F</RequestId>
<HostId>nWV6JjF9oS0AG4PlxgsDR9LQTtu37qPZgxfnpF/lvueTmiBk2lMBPKyGC0sFr1V+</HostId>
<AWSAccessKeyId>${s3.accesskey}</AWSAccessKeyId>
</Error>
2013-09-10 21:42:36,302 INFO
[management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1]
Stopping 'sysAdmin' subsystem, ID: [sysAdmin, default]
2013-09-10 21:42:36,302 INFO
[management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1]
Stopped 'sysAdmin' subsystem, ID: [sysAdmin, default]
2013-09-10 21:42:36,314 ERROR [web.context.ContextLoader]
[localhost-startStop-1] Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'messageService' defined in class path resource
[alfresco/core-services-context.xml]: Cannot resolve reference to bean
'contentService' while setting bean property 'contentService'; nested exception
is org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'contentService' defined in class path resource
[alfresco/content-services-context.xml]: Cannot resolve reference to bean
'avmService' while setting bean property 'avmService'; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'avmService' defined in class path resource
[alfresco/public-services-context.xml]: Cannot resolve reference to bean
'avmServiceMT' while setting bean property 'target'; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'avmServiceMT' defined in class path resource
[alfresco/public-services-context.xml]: Cannot resolve reference to bean
'avmServiceBase' while setting bean property 'avmService'; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'avmServiceBase' defined in class path resource
[alfresco/public-services-context.xml]: Cannot resolve reference to bean
'avmRepository' while setting bean property 'avmRepository'; nested exception
is org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'avmRepository' defined in class path resource
[alfresco/avm-services-context.xml]: Cannot resolve reference to bean
'fileContentStore' while setting bean property 'contentStore'; nested exception
is org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'fileContentStore' defined in file
[/opt/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/module/cloudstore/module-
context.xml]: Cannot resolve reference to bean 'contentCache' while setting
bean property 'cache'; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'contentCache' defined in file
[/opt/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/module/cloudstore/module-
context.xml]: Cannot resolve reference to bean 'cachingContentStoreCache' while
setting bean property 'memoryStore'; nested exception is
org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find
class [org.alfresco.repo.cache.EhCacheAdapter] for bean with name
'cachingContentStoreCache' defined in file
[/opt/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/module/cloudstore/module-
context.xml]; nested exception is java.lang.ClassNotFoundException:
org.alfresco.repo.cache.EhCacheAdapter
On my application manager from tomcat, i can see all my application as
operational=true except /alfresco
i'am on an Ubuntu 12.04 LTS which is on a m1.small EC2.
i use the Apache Tomcat/7.0.42 to run an Alfresco community
So we can see a first error with the key, but i'am pretty sure to edit the
properties with the good one, and then a second error
"Context initialization failed" that i don't understand, is due to the first
one? Pls help me with the key.
Original issue reported on code.google.com by [email protected]
on 10 Sep 2013 at 10:02
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.