cancel
Showing results for 
Search instead for 
Did you mean: 

Error Exporting Importing a tenant in 2.9C Multi-Tenancy

jlabuelo
Champ on-the-rise
Champ on-the-rise
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
4 REPLIES 4

agey
Champ in-the-making
Champ in-the-making
Hello,

I would like to know if this problem is solved in Alfresco's new version. I use Alfresco 2.9C and have the same problem.

Thanks

janv
Employee
Employee
Yes, it should be - see also: https://issues.alfresco.com/jira/browse/AR-2181

Thanks,
Jan

jlabuelo
Champ on-the-rise
Champ on-the-rise
Hi Jan

Yes I remember creating this bug in march, and then I agreed with your answer in the JIRA issue, however I must say that if you create a Tenant in 2.9C  (I have the last version of it) empty or with just a few spaces (two or three) the export/import function works fine and I am able to recover the tenant and move it from one server to another….
However as the space structure of the Tenant is growing (and not even a lot) and we start adding content we always get this error message exporting the tenants where the mising "o" in the message is causing the problem. And this makes the tenant impossible to be backed up correctly.

I think this point is quite important as it affects direclty the back up process for each tenant individually, if not if something happens to a tenant we would need to restore the system as a whole, with all the tenants affected

I would like to know if this is also fixed in the 3.0 version we have now… or it is still a problem.

Thanks a lot for your help on this again

jlabuelo
Champ on-the-rise
Champ on-the-rise
Hi Jan

Any thoughts to share about the issue?
We think the here MT functionality in 2.9C is really great, however the Export/Import Functionality would need to work, well let me say it in another way,as it works, however we are experiencing that when we increase the number of spaces, rules, users, content, in a tenant, not just a tenant with a couple of spaces, if we export it we get the error message described in the initial post.

Do you know if this works in version 3.0? if so we will move to 3.0 right now  Smiley Very Happy …. or maybe can you point us what we should take a look to to see if we can try to fixt this error?

Thanks a lot mate