You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It may be necessary to implement an aggressive dictionary bootstrap pre-loading / dependency mechanisms that ensures any and all static model boostraps have executed before the ContentStore subsystem is first used.
In a very particular customer install situation, the activation of the mail.testmessage.send option combined with a new audit model that had not yet been recorded in the database caused an error during startup, which sort-of partially healed itself only because of a try-catch construct in Alfresco that did not throw the error further up the stack, and a subsequent attempt to initialise the ContentStore (may have) succeeded.
The error during initialisation of the ContentStore subsystem was related to a customer-defined aspect name, which could not be resolved to a qualified name as the dictionary bootstrap had not been triggered at this point. The underlying cause of the error in my opinion is that the UserAdminPatch over-aggressively accesses / initialises some authentication subsystem beans, which in turn through bean dependencies trigger the email action that due to the activated test message during startup calls a public service, triggering the audit model check + initialisation logic.
Stack trace of the error:
2024-02-15 22:23:19,760 ERROR [org.alfresco.repo.audit.model.AuditModelRegistryImpl] [dgc2eu-weblnk201.eu1.1corp.org-startStop-1] Failed to load audit model: file:/<rootPath>/webapps/alfresco/WEB-INF/classes/alfresco/module/org_alfresco_module_rm/audit/rm-audit.xml
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'fileContentStore' defined in URL [jar:file:/opt/app/AGItomcat/dev_amc/webapps/alfresco/WEB-INF/lib/de.acosix.alfresco.simplecontentstores.repo-1.2.2-installable.jar!/alfresco/subsystems/ContentStore/simple-content-stores/content-store-factory-context.xml]: Cannot resolve reference to bean 'riskClassificationRoutingStore' while setting bean property 'target'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'riskClassificationRoutingStore': Invocation of init method failed; nested exception is org.alfresco.error.AlfrescoRuntimeException: 01150001 Property 'selectorClassQName' has not been set: SelectorPropertyContentStore [instanceKey=433de809-fb3e-47ee-91ab-8afb34072b02] (class de.acosix.alfresco.simplecontentstores.repo.store.routing.SelectorPropertyContentStore)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:342)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:113)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1707)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1452)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:934)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583)
at org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ApplicationContextState.start(ChildApplicationContextFactory.java:824)
at org.alfresco.repo.management.subsystems.AbstractPropertyBackedBean.start(AbstractPropertyBackedBean.java:1098)
at org.alfresco.repo.management.subsystems.AbstractPropertyBackedBean.start(AbstractPropertyBackedBean.java:1064)
at org.alfresco.repo.management.subsystems.SwitchableApplicationContextFactory$SwitchableState.start(SwitchableApplicationContextFactory.java:125)
at org.alfresco.repo.management.subsystems.AbstractPropertyBackedBean.start(AbstractPropertyBackedBean.java:1098)
at org.alfresco.repo.management.subsystems.AbstractPropertyBackedBean.getState(AbstractPropertyBackedBean.java:320)
at org.alfresco.repo.management.subsystems.SwitchableApplicationContextFactory.getApplicationContext(SwitchableApplicationContextFactory.java:74)
at org.alfresco.repo.management.subsystems.SubsystemProxyFactory.locateBean(SubsystemProxyFactory.java:181)
at org.alfresco.repo.management.subsystems.SubsystemProxyFactory$1.invoke(SubsystemProxyFactory.java:79)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.alfresco.repo.management.subsystems.CryptodocSubsystemProxyFactory$1.invoke(CryptodocSubsystemProxyFactory.java:60)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215)
at com.sun.proxy.$Proxy41.getWriter(Unknown Source)
at org.alfresco.repo.content.ContentServiceImpl.getWriter(ContentServiceImpl.java:477)
at org.alfresco.repo.domain.audit.AbstractAuditDAOImpl.getOrCreateAuditModel(AbstractAuditDAOImpl.java:144)
at org.alfresco.repo.audit.model.AuditModelRegistryImpl$AuditModelRegistryState$1.execute(AuditModelRegistryImpl.java:430)
at org.alfresco.repo.audit.model.AuditModelRegistryImpl$AuditModelRegistryState$1.execute(AuditModelRegistryImpl.java:1)
at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:450)
at org.alfresco.repo.audit.model.AuditModelRegistryImpl$AuditModelRegistryState$2.doWork(AuditModelRegistryImpl.java:460)
at org.alfresco.repo.audit.model.AuditModelRegistryImpl$AuditModelRegistryState$2.doWork(AuditModelRegistryImpl.java:1)
at org.alfresco.repo.security.authentication.AuthenticationUtil.runAs(AuthenticationUtil.java:602)
at org.alfresco.repo.audit.model.AuditModelRegistryImpl$AuditModelRegistryState.start(AuditModelRegistryImpl.java:456)
at org.alfresco.repo.management.subsystems.AbstractPropertyBackedBean.start(AbstractPropertyBackedBean.java:1098)
at org.alfresco.repo.management.subsystems.AbstractPropertyBackedBean.getState(AbstractPropertyBackedBean.java:320)
at org.alfresco.repo.audit.model.AuditModelRegistryImpl.getAuditPathMapper(AuditModelRegistryImpl.java:226)
at org.alfresco.repo.audit.AuditComponentImpl.areAuditValuesRequired(AuditComponentImpl.java:302)
at org.alfresco.repo.audit.AuditMethodInterceptor.invoke(AuditMethodInterceptor.java:164)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215)
at com.sun.proxy.$Proxy71.createAction(Unknown Source)
at org.alfresco.repo.action.executer.MailActionExecuter$1.doWork(MailActionExecuter.java:455)
at org.alfresco.repo.security.authentication.AuthenticationUtil.runAs(AuthenticationUtil.java:602)
at org.alfresco.repo.action.executer.MailActionExecuter.init(MailActionExecuter.java:446)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1930)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1872)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:953)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583)
at org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ApplicationContextState.start(ChildApplicationContextFactory.java:824)
at org.alfresco.repo.management.subsystems.AbstractPropertyBackedBean.start(AbstractPropertyBackedBean.java:1098)
at org.alfresco.repo.management.subsystems.AbstractPropertyBackedBean.getState(AbstractPropertyBackedBean.java:320)
at org.alfresco.repo.management.subsystems.ChildApplicationContextFactory.getApplicationContext(ChildApplicationContextFactory.java:450)
at org.alfresco.repo.management.subsystems.SubsystemProxyFactory.locateBean(SubsystemProxyFactory.java:181)
at org.alfresco.repo.management.subsystems.SubsystemProxyFactory$1.invoke(SubsystemProxyFactory.java:79)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215)
at com.sun.proxy.$Proxy200.getActionDefinition(Unknown Source)
at org.alfresco.module.org_alfresco_module_rm.action.impl.DelegateAction.addParameterDefinitions(DelegateAction.java:102)
at org.alfresco.repo.action.ParameterizedItemAbstractBase.getLocalizedParameterDefinitions(ParameterizedItemAbstractBase.java:115)
at org.alfresco.repo.action.executer.ActionExecuterAbstractBase.getActionDefinition(ActionExecuterAbstractBase.java:229)
at org.alfresco.module.org_alfresco_module_rm.action.RMActionExecuterAbstractBase.getActionDefinition(RMActionExecuterAbstractBase.java:546)
at org.alfresco.module.org_alfresco_module_rm.action.AuditableActionExecuterAbstractBase.init(AuditableActionExecuterAbstractBase.java:132)
at org.alfresco.module.org_alfresco_module_rm.action.RMActionExecuterAbstractBase.init(RMActionExecuterAbstractBase.java:579)
at jdk.internal.reflect.GeneratedMethodAccessor167.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1930)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1872)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:330)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:113)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1707)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1452)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
at org.springframework.beans.factory.support.AbstractBeanFactory.getTypeForFactoryBean(AbstractBeanFactory.java:1709)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryBean(AbstractAutowireCapableBeanFactory.java:917)
at org.springframework.beans.factory.support.AbstractBeanFactory.isTypeMatch(AbstractBeanFactory.java:637)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:583)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:550)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:527)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:520)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveNamedBean(DefaultListableBeanFactory.java:1228)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveBean(DefaultListableBeanFactory.java:494)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveBean(DefaultListableBeanFactory.java:500)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:349)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:342)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1172)
at org.alfresco.repo.admin.patch.impl.AdminUserPatch.afterPropertiesSet(AdminUserPatch.java:117)
The text was updated successfully, but these errors were encountered:
It may be necessary to implement an aggressive dictionary bootstrap pre-loading / dependency mechanisms that ensures any and all static model boostraps have executed before the ContentStore subsystem is first used.
In a very particular customer install situation, the activation of the
mail.testmessage.send
option combined with a new audit model that had not yet been recorded in the database caused an error during startup, which sort-of partially healed itself only because of a try-catch construct in Alfresco that did not throw the error further up the stack, and a subsequent attempt to initialise the ContentStore (may have) succeeded.The error during initialisation of the ContentStore subsystem was related to a customer-defined aspect name, which could not be resolved to a qualified name as the dictionary bootstrap had not been triggered at this point. The underlying cause of the error in my opinion is that the UserAdminPatch over-aggressively accesses / initialises some authentication subsystem beans, which in turn through bean dependencies trigger the email action that due to the activated test message during startup calls a public service, triggering the audit model check + initialisation logic.
Stack trace of the error:
The text was updated successfully, but these errors were encountered: