El Multi-Tenancy asombroso, en teoria ...

cancel
Showing results for 
Search instead for 
Did you mean: 
darkmstr
Member II

El Multi-Tenancy asombroso, en teoria ...

Hola ! me he pasado últimamente por aquí múltiples veces, y creo que mi mas grande dolor de cabeza en este momento son los tenants de Alfresco.

Tengo un Alfresco en producción con un tenant habilitado, que necesito ?
- Poder actualizar esa instalacion de 4.0.d a 4.2.a.
- Poder generar un tenant aparte, con los mismos usuarios (obvio que cambiaria usuario@tenanta.com por usuario@tenantb.com) y replicar algunos sitios del tenant a al tenant b.

Con que me he encontrado hasta ahora en el camino.

- Para poder actualizar, pues intente primero (cuando estaba la version 4.0.e) de exportar e importar el tenant en este, con que me encontre? con que no se podia realizar esta accion. Pensé que el problema seria la version (d ó e) pero gracias a  Cristina por el caso similar vi que era por el versionamiento, lamentablemente por mas que desactive el versionamiento, los archivos que se encuentran con el al parecer se mantienen y no se puede generar el tenant de manera correcta.

- Para generar sitios estoy usando simplemente exportacion e importacion de sitios, lo hago manual, es mas facil ya que los tenant no permiten replicacion.

Tengo un problema ahora es que tengo un CSV de todos los usuarios me sale el siguiente error.

El fichero subido no pudo ser procesado por la siguiente razón:
Se ha producido un problema al crear los usuarios 09240012 domain mismatch: expected = tenanta, actual =

La verdad creo que la parte de los tenant por ahora es un problema en produccion ya que en mi caso por ejemplo me esta limitando demaciado y no encuentro forma de poder hacer un upgrade mas adelante sin encontrarme con posibles perdidas de informacion masivas, o simplemente hacer el proceso de montar todo de nuevo manual.
1 Reply
darkmstr
Member II

Re: El Multi-Tenancy asombroso, en teoria ...

algo del log de errores que me genera cada vez que intento exportar


2012-10-24 15:12:16,264  WARN  [security.person.PersonServiceImpl] [http-apr-8080-exec-8] Added domain to username: abernal@tenanta
2012-10-24 15:12:16,266  ERROR [extensions.webscripts.AbstractRuntime] [http-apr-8080-exec-8] Exception from executeScript - redirecting to status template error: Se ha producido un problema al crear los usuarios
09240040 domain mismatch: expected = tenanta, actual = <none>
org.alfresco.repo.web.scripts.person.UserCSVUploadPost$ResourceBundleWebScriptException: Se ha producido un problema al crear los usuarios
09240040 domain mismatch: expected = tenanta, actual = <none>
   at org.alfresco.repo.web.scripts.person.UserCSVUploadPost.doAddUsers(UserCSVUploadPost.java:337)
   at org.alfresco.repo.web.scripts.person.UserCSVUploadPost.access$000(UserCSVUploadPost.java:73)
   at org.alfresco.repo.web.scripts.person.UserCSVUploadPost$1.execute(UserCSVUploadPost.java:221)
   at org.alfresco.repo.web.scripts.person.UserCSVUploadPost$1.execute(UserCSVUploadPost.java:216)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:433)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:304)
   at org.alfresco.repo.web.scripts.person.UserCSVUploadPost.executeImpl(UserCSVUploadPost.java:244)
   at org.springframework.extensions.webscripts.DeclarativeWebScript.executeImpl(DeclarativeWebScript.java:235)
   at org.springframework.extensions.webscripts.DeclarativeWebScript.execute(DeclarativeWebScript.java:64)
   at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecute(RepositoryContainer.java:377)
   at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecuteAs(RepositoryContainer.java:529)
   at org.alfresco.repo.web.scripts.RepositoryContainer.executeScript(RepositoryContainer.java:345)
   at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:377)
   at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:209)
   at org.springframework.extensions.webscripts.servlet.WebScriptServlet.service(WebScriptServlet.java:118)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
   at org.alfresco.web.app.servlet.GlobalLocalizationFilter.doFilter(GlobalLocalizationFilter.java:61)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
   at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
   at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
   at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
   at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
   at org.apache.tomcat.util.net.AprEndpoint$SocketWithOptionsProcessor.run(AprEndpoint.java:1771)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
   at java.lang.Thread.run(Thread.java:722)
Caused by: org.alfresco.repo.tenant.TenantDomainMismatchException: 09240040 domain mismatch: expected = tenanta, actual = <none>
   at org.alfresco.repo.tenant.MultiTServiceImpl.checkDomainUser(MultiTServiceImpl.java:422)
   at org.alfresco.repo.security.person.PersonServiceImpl.createPerson(PersonServiceImpl.java:901)
   at org.alfresco.repo.security.person.PersonServiceImpl.createPerson(PersonServiceImpl.java:868)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:601)
   at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
   at net.sf.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:80)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
   at org.alfresco.repo.security.permissions.impl.ExceptionTranslatorMethodInterceptor.invoke(ExceptionTranslatorMethodInterceptor.java:46)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
   at org.alfresco.repo.audit.AuditMethodInterceptor.invoke(AuditMethodInterceptor.java:159)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
   at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
   at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
   at $Proxy81.createPerson(Unknown Source)
   at org.alfresco.repo.web.scripts.person.UserCSVUploadPost.doAddUsers(UserCSVUploadPost.java:312)
   … 34 more


Hay que tener en cuenta que solo sucede en un tenant, ya que importe todos estos usuarios con el admin general y lo hizo efectivamente.