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 😄
Cheers