AnsweredAssumed Answered

Error Exporting Importing a tenant in 2.9C Multi-Tenancy

Question asked by jlabuelo on Mar 13, 2008
Latest reply on Aug 19, 2008 by jlabuelo
Good Morning

I am opening this new topic to see if any of you have found this issue before working in 2.9C Multi-Tenancy and if so you someone can give me a hand here.

Basically what i have tried is exporting an existing tenant from an Alfresco MT application I have running in a server ServerA and importing it in another server with the same version of the Alfresco application.

Let me explain you what I did:

I have Windows XP server SERVER_A running alfresco 2.9C got from the last nigthly build 3 - March. In there I have created a tenant "TenantA" and assigned users and documentation to it perfectly.

Then I have logged in the MT-Console as a super admin and I have exported the tenant to the folder "c:\TenantA_Export". This worked perfectly and files have been created adding the sufix "TenantA_" to each of them as explained in the documentation.

Then I have moved the folder to a second server windows XP server SERVER_B where the same version of Alfresco 2.9C is running. I have logged in the MT-Console as a super admin and tried to import this tenant that now is in WERVER_B: C:\TenantA_Export, and I have pointed the root storage directory:

import TenantA c:\TenantA_Export c:\SERVER_B_TenantA

after some time running I got this error message in the MT-Console:

org.alfresco.error.AlfrescoRuntimeException: Exception in Transaction.
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:318)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:166)
   at org.alfresco.repo.web.scripts.RepoStore$5.doWork(RepoStore.java:406)
   at org.alfresco.repo.web.scripts.RepoStore$5.doWork(RepoStore.java:404)
   at org.alfresco.repo.security.authentication.AuthenticationUtil.runAs(AuthenticationUtil.java:334)
   at org.alfresco.repo.web.scripts.RepoStore.getDocument(RepoStore.java:402)
   at org.alfresco.web.scripts.DeclarativeRegistry.initWebScripts(DeclarativeRegistry.java:205)
   at org.alfresco.web.scripts.DeclarativeRegistry.reset(DeclarativeRegistry.java:165)
   at org.alfresco.web.scripts.AbstractRuntimeContainer.reset(AbstractRuntimeContainer.java:221)
   at org.alfresco.repo.web.scripts.RepositoryContainer.init(RepositoryContainer.java:383)
   at org.alfresco.repo.web.scripts.RepositoryContainer.onEnableTenant(RepositoryContainer.java:362)
   at org.alfresco.repo.tenant.MultiTAdminServiceImpl$3.doWork(MultiTAdminServiceImpl.java:400)
   at org.alfresco.repo.security.authentication.AuthenticationUtil.runAs(AuthenticationUtil.java:334)
   at org.alfresco.repo.tenant.MultiTAdminServiceImpl.importTenant(MultiTAdminServiceImpl.java:382)
   at org.alfresco.repo.tenant.TenantInterpreter.executeCommand(TenantInterpreter.java:230)
   at org.alfresco.repo.admin.BaseInterpreter$1$1.execute(BaseInterpreter.java:163)
   at org.alfresco.repo.admin.BaseInterpreter$1$1.execute(BaseInterpreter.java:161)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:236)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:166)
   at org.alfresco.repo.admin.BaseInterpreter$1.doWork(BaseInterpreter.java:166)
   at org.alfresco.repo.admin.BaseInterpreter$1.doWork(BaseInterpreter.java:157)
   at org.alfresco.repo.security.authentication.AuthenticationUtil.runAs(AuthenticationUtil.java:334)
   at org.alfresco.repo.admin.BaseInterpreter.interpretCommand(BaseInterpreter.java:155)
   at org.alfresco.web.bean.repository.tenant.TenantAdminConsoleBean.interpretCommand(TenantAdminConsoleBean.java:190)
   at org.alfresco.web.bean.repository.tenant.TenantAdminConsoleBean.submitCommand(TenantAdminConsoleBean.java:166)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:132)
   at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:61)
   at javax.faces.component.UICommand.broadcast(UICommand.java:109)
   at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:97)
   at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:171)
   at org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32)
   at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:95)
   at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70)
   at javax.faces.webapp.FacesServlet.service(FacesServlet.java:139)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
   at org.alfresco.web.app.servlet.AdminAuthenticationFilter.doFilter(AdminAuthenticationFilter.java:80)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
   at org.alfresco.web.app.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:81)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
   at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
   at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
   at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
   at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
   at java.lang.Thread.run(Thread.java:619)
Caused by: java.io.IOException: Document rg/alfresco/sample/blogsearch.get.desc.xml does not exist.
   at org.alfresco.repo.web.scripts.RepoStore$5$1.execute(RepoStore.java:413)
   at org.alfresco.repo.web.scripts.RepoStore$5$1.execute(RepoStore.java:408)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:236)
   … 57 more


If I check the indexes in the application folder and the content in the contect folder c:\SERVER_B_TenantA everything seems to be fine. Also the folders have the same size and estructure than in SERVER_A. However if I try to log in the tenant with an existing user I cant, and if as a Super Admin I log in the MT-Console and run the "Show tenants" command, I get the answer that no tenants exists.

I think I have followed all the instructions described in the MT-Documentation, but if you see I did something wrong please let me know. If not I think this Import/Export functionality does not work.

I have tried to import the same tenant in SERVER_A deleting the exiting tenant in the alfresco instance following the instructions of the documentation ( deleting tenant in MT-Console, and deleting manually the content folders and contect indexes), but get the same error.

Hope this is clear enough, and also hope someone here knows how to deal with this :-D

Cheers

Outcomes