10-19-2017 05:05 PM
Bonjour,
Je rencontre un problème lors de la synchronisation avec mon AD. En effet, Alfresco n'arrive plus à se synchroniser avec l'AD et le message d'erreur No property value exists for ID 369172 s'affiche (voir LOG plus bas).
Je ne comprend pas cette erreur dans la mesure où la configuration d'Alfresco n'a pas été modifiée ni celle de l'AD. D'ailleurs, un clone du serveur qui avait été effectué il y a quelque temps fonctionne parfaitement alors que les 2 serveurs disposent d'une configuration identique.
J'en déduis que le problème ne doit pas provenir d'une mauvaise configuration bien que ça a fonctionné auparavant.
J'ai suivi les indications sur ce site : [ACE-5139] CleanAlfPropTables deleting more than it should - Alfresco JIRA
mais sans succès :
POSTGRESQL :
alfresco=> SELECT * FROM alf_prop_link WHERE root_prop_id=369172;
root_prop_id | prop_index | contained_in | key_prop_id | value_prop_id
--------------+------------+--------------+-------------+---------------
(0 rows)
alfresco=> DELETE FROM alf_prop_link WHERE root_prop_id=369172;
DELETE 0
LOG :
2017-10-19 18:17:06,151 INFO [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Starting 'Synchronization' subsystem, ID: [Synchronization, default]
2017-10-19 18:17:45,056 ERROR [security.sync.ChainingUserRegistrySynchronizer] [localhost-startStop-1] Synchronization aborted due to error
org.springframework.dao.DataIntegrityViolationException: No property value exists for ID 369172
at org.alfresco.repo.domain.propval.AbstractPropertyValueDAOImpl.getPropertyById(AbstractPropertyValueDAOImpl.java:848)
at org.alfresco.repo.domain.propval.AbstractPropertyValueDAOImpl.getPropertyUniqueContext(AbstractPropertyValueDAOImpl.java:1300)
at org.alfresco.repo.attributes.AttributeServiceImpl.setAttribute(AttributeServiceImpl.java:182)
at org.alfresco.repo.security.sync.ChainingUserRegistrySynchronizer$8.execute(ChainingUserRegistrySynchronizer.java:2215)
at org.alfresco.repo.security.sync.ChainingUserRegistrySynchronizer$8.execute(ChainingUserRegistrySynchronizer.java:1)
at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:464)
at org.alfresco.repo.security.sync.ChainingUserRegistrySynchronizer.notifySyncStart(ChainingUserRegistrySynchronizer.java:2183)
at org.alfresco.repo.security.sync.ChainingUserRegistrySynchronizer.synchronizeInternal(ChainingUserRegistrySynchronizer.java:616)
at org.alfresco.repo.security.sync.ChainingUserRegistrySynchronizer.access$16(ChainingUserRegistrySynchronizer.java:474)
at org.alfresco.repo.security.sync.ChainingUserRegistrySynchronizer$7.doWork(ChainingUserRegistrySynchronizer.java:2141)
at org.alfresco.repo.security.authentication.AuthenticationUtil.runAs(AuthenticationUtil.java:555)
at org.alfresco.repo.security.sync.ChainingUserRegistrySynchronizer.onBootstrap(ChainingUserRegistrySynchronizer.java:2135)
at org.springframework.extensions.surf.util.AbstractLifecycleBean.onApplicationEvent(AbstractLifecycleBean.java:56)
at org.alfresco.repo.security.sync.ChainingUserRegistrySynchronizer.onApplicationEvent(ChainingUserRegistrySynchronizer.java:2498)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:96)
at org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ChildApplicationContext.publishEvent(ChildApplicationContextFactory.java:569)
at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:954)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482)
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.onApplicationEvent(AbstractPropertyBackedBean.java:637)
at org.alfresco.repo.management.SafeApplicationEventMulticaster.multicastEventInternal(SafeApplicationEventMulticaster.java:214)
at org.alfresco.repo.management.SafeApplicationEventMulticaster.multicastEvent(SafeApplicationEventMulticaster.java:185)
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:334)
at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:954)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:410)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)
at org.alfresco.web.app.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:70)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5016)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5524)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1081)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1877)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
2017-10-19 18:17:45,075 WARN [security.sync.ChainingUserRegistrySynchronizer] [localhost-startStop-1] Failed initial synchronize with user registries
org.springframework.dao.DataIntegrityViolationException: No property value exists for ID 369172
at org.alfresco.repo.domain.propval.AbstractPropertyValueDAOImpl.getPropertyById(AbstractPropertyValueDAOImpl.java:848)
at org.alfresco.repo.domain.propval.AbstractPropertyValueDAOImpl.getPropertyUniqueContext(AbstractPropertyValueDAOImpl.java:1300)
at org.alfresco.repo.attributes.AttributeServiceImpl.setAttribute(AttributeServiceImpl.java:182)
at org.alfresco.repo.security.sync.ChainingUserRegistrySynchronizer$8.execute(ChainingUserRegistrySynchronizer.java:2215)
at org.alfresco.repo.security.sync.ChainingUserRegistrySynchronizer$8.execute(ChainingUserRegistrySynchronizer.java:1)
at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:464)
at org.alfresco.repo.security.sync.ChainingUserRegistrySynchronizer.notifySyncStart(ChainingUserRegistrySynchronizer.java:2183)
at org.alfresco.repo.security.sync.ChainingUserRegistrySynchronizer.synchronizeInternal(ChainingUserRegistrySynchronizer.java:616)
at org.alfresco.repo.security.sync.ChainingUserRegistrySynchronizer.access$16(ChainingUserRegistrySynchronizer.java:474)
at org.alfresco.repo.security.sync.ChainingUserRegistrySynchronizer$7.doWork(ChainingUserRegistrySynchronizer.java:2141)
at org.alfresco.repo.security.authentication.AuthenticationUtil.runAs(AuthenticationUtil.java:555)
at org.alfresco.repo.security.sync.ChainingUserRegistrySynchronizer.onBootstrap(ChainingUserRegistrySynchronizer.java:2135)
at org.springframework.extensions.surf.util.AbstractLifecycleBean.onApplicationEvent(AbstractLifecycleBean.java:56)
at org.alfresco.repo.security.sync.ChainingUserRegistrySynchronizer.onApplicationEvent(ChainingUserRegistrySynchronizer.java:2498)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:96)
at org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ChildApplicationContext.publishEvent(ChildApplicationContextFactory.java:569)
at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:954)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482)
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.onApplicationEvent(AbstractPropertyBackedBean.java:637)
at org.alfresco.repo.management.SafeApplicationEventMulticaster.multicastEventInternal(SafeApplicationEventMulticaster.java:214)
at org.alfresco.repo.management.SafeApplicationEventMulticaster.multicastEvent(SafeApplicationEventMulticaster.java:185)
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:334)
at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:954)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:410)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)
at org.alfresco.web.app.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:70)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5016)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5524)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1081)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1877)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
2017-10-19 18:17:45,077 INFO [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Startup of 'Synchronization' subsystem, ID: [Synchronization, default] complete
Par contre, je n'ai plus le message d'erreur après avoir désactivé l'authentification ldap et en ne gardant que celle de base. Ce qui est normal.
Je n'ai pas trouvé plus d'info sur internet et vous remercie par avance de votre aide.
10-20-2017 03:59 AM
Bonjour,
Cela semble être lié à une information manquante en base.
Depuis quand est-tu face à ce problème ?
Dispose tu d'une sauvegarde antérieur à l'apparition du problème ?
Pourrais-tu préciser la version d'Alfresco que tu utilises ?
10-20-2017 06:59 AM
Bonjour Yann,
Je me suis aperçu de ce problème il y 3-4 jours mais il a du apparaitre il y a 2-3 semaines environ. C'est vraiment une estimation large car le serveur Alfresco est un clone issue d'un serveur (machine virtuelle) qui fonctionne à l'heure actuelle. J'ai bien comparé si il y avait eu des modifications particulères sur les fichiers de configuration mais je n'ai rien trouvé. D'ailleurs, je n'ai rien modifié depuis.
J'ai exécuté une optimisation de Solr4 https://alfresco/solr4 mais sans succès.
Et la version d'Alfresco est celle-ci : Alfresco 5.2 f (r135134-b14) version Community + Ubuntu 16.04 LTS
Merci pour ta réponse.
10-20-2017 07:09 AM
Bonjour,
Quel est la fonction de ce clone?
Serait il envisageable de refaire le clone et surveiller si le problème se reproduit ?
Il faudrait sinon chercher dans la base "saine" si on trouve des traces de cette propriété.
Y.
10-20-2017 08:13 AM
Bonjour,
Sur une infra virtuelle, j'ai installé Alfresco sur un serveur "propre" disposant du strict minimum. Après avoir configuré Alfresco et installer les addons, j'en ai fait un modèle afin de déployer des instances "prêtes à être utilisé".
J'en ai donc déployé une qui fonctionne très bien puis cloné celle-ci et les 2 ont été mises à disposition pour 2 services différents.
Voilà un peu le contexte.
Sinon je ne peux redéployer une nouvelle instance avec mon modèle ou avec le clone car entre temps il y a eu pas mal d'ajout de doc, de modification, de règle créé
Par contre, je n'ai pas encore essayé de chercher dans le serveur qui fonctionne.
Je regarde.
Merci encore pour ta réponse et ce début de piste
10-20-2017 12:42 PM
Je reviens sur mon problème.
D'après les logs, il n'existe pas de propriété pour la valeur 369172. Et le fait de l'avoir supprimé ne change rien du coup
J'ai pensé à y insérer les propriétés via la commande INSERT INTO mais je bute sur la syntaxe et je ne sais quelle valeur y mettre.
Je pense à vider la table ou à la recharger par Alfresco mais je ne sais comment faire.
alfresco=> SELECT * FROM alf_prop_link WHERE root_prop_id=369172;
root_prop_id | prop_index | contained_in | key_prop_id | value_prop_id
--------------+------------+--------------+-------------+---------------
(0 rows)
alfresco=> DELETE FROM alf_prop_link WHERE root_prop_id=369172;
DELETE 0
10-23-2017 09:48 AM
Bonjour,
Je repositionne le contexte de mon environnement.
J'utilise un chainage d'authentification qui se présente comme suit :
authentication.chain=ldap01:ldap-ad,ldap02:ldap-ad,ldap03:ldap-ad,alfrescoNtlm1:alfrescoNtlm
Avec ldap01=serviceA et ldap02=serviceB et ldap03=ServiceC
La configuration du fichier ldap-authentication.properties est identique pour serviceA, serviceB et serviceC sauf les 2 paramètres ci-dessous :
ldap.synchronization.groupSearchBase=l'OU du service
ldap.synchronization.userSearchBase=l'OU du service
Avec ce chainage, j'ai le message d'erreur No property value exists for ID 369172 qui empêche la synchronisation.
J'ai bien essayé de faire un nettoyage des tables avec ce script SQL script for properly clearing Alfresco unused audit data / property values (NOT node properties, ... mais le problème est toujours présent.
Du coup, je reteste avec le chainage suivant :
authentication.chain=ldap01:ldap-ad,alfrescoNtlm1:alfrescoNtlm
Le problème persiste toujours.
Je refais un test avec ce chainage
authentication.chain=ldap02:ldap-ad,ldap03:ldap-ad,alfrescoNtlm1:alfrescoNtlm
Et oh surprise tout fonctionne !
Pourtant la configuration est absolument identique sur les 3 fichiers mis à part l'OU.
Je créé un 4ème chainage ldap04 en utilisant le fichier de configuration ldap01 ce qui donne :
authentication.chain=ldap02:ldap-ad,ldap03:ldap-ad,ldap04:ldap-ad,alfrescoNtlm1:alfrescoNtlm
Et là tout fonctionne, pas d'erreur.
En conclusion, mon problème est résolu bien que j'en connais pas la cause ni la solution.
11-03-2017 08:13 AM
I've been having this problem since 5.1.
And now I updated a perfectly functional 5.1 instance to 5.2.g and suddenly the synchronization has this problem, again.
I saw somewhere that the solution is to:
delete from alf_prop_unique_ctx where prop1_id = 369172
delete from alf_prop_root where id = 369172
Usually when I do this it fixes the problem... until it shows up again.
BTW, I don't recommend anyone to do this, because I'm deleting stuff from the database without really understanding what I'm deleting. It might be important???
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.