Listener notifier inkonsistencen

german

#1

im listerlog treten regelmässige Fehlermeldungen auf
Die betreffenden user sind auf ucs-seite schon gelöscht.
Wie kann ich den listener/notifier zuzu überreden nicht mehr zu versuchen diese einträge zum ox zu übertragen??
Wir hilfreiche Tips wäre ich sehr dankbar!
Gruß
H. Otten

Auszug aus listener.log

2.11.15 09:48:58.295 LISTENER ( PROCESS ) : ox-user: New Object is OX-User: True
12.11.15 09:48:58.295 LISTENER ( PROCESS ) : ox-user: Old Object is OX-User: False
12.11.15 09:48:58.295 LISTENER ( PROCESS ) : ox-user: aliases hnetto@studenten.hs-bremerhaven.de,Henry .Netto@studenten.hs-bremerhaven.de
UNIVENTION_DEBUG_BEGIN : uldap.__open host=smail.hs-bremerhaven.de port=7389 base=dc=studenten,dc=hs-bremerhaven,dc=de
UNIVENTION_DEBUG_END : uldap.__open host=smail.hs-bremerhaven.de port=7389 base=dc=studenten,dc=hs-bremerhaven,dc=de
12.11.15 09:48:59.119 LISTENER ( PROCESS ) : ox-user: lockfilename: /var/lock/deleteuid-7073
12.11.15 09:48:59.900 LISTENER ( ERROR ) : OX: failed with 103: user in context 10 could not be created:
Server response:
Invalid email address
at com.openexchange.admin.tools.GenericChecks.checkValidMailAddress(GenericChecks.java:107)
at com.openexchange.admin.storage.mysqlStorage.OXToolMySQLStorage.checkValidEmailsInUserObject(OXToolMySQLStorage.java:2425)
at com.openexchange.admin.storage.mysqlStorage.OXToolMySQLStorage.checkCreateUserData(OXToolMySQLStorage.java:2323)
at com.openexchange.admin.rmi.impl.OXUser.createUserCommon(OXUser.java:747)
at com.openexchange.admin.rmi.impl.OXUser.create(OXUser.java:662)
at sun.reflect.GeneratedMethodAccessor314.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)
at sun.rmi.transport.Transport$1.run(Transport.java:177)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:553)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667)
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:636)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:273)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:251)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:160)
at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:194)
at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:148)
at $Proxy0.create(Unknown Source)
at com.openexchange.admin.console.user.Create.maincall(Create.java:85)
at com.openexchange.admin.console.user.CreateCore.commonfunctions(CreateCore.java:133)
at com.openexchange.admin.console.user.Create.(Create.java:75)
at com.openexchange.admin.console.user.Create.main(Create.java:69)

12.11.15 09:48:59.900 LISTENER ( PROCESS ) : ox-user: transaction deferred: dn=‘uid=hnetto,cn=users,dc=studenten,dc=hs-bremerhaven,dc=de’ [’/opt/open-xchange/sbin/createuser’, ‘–adminuser=oxadmin’, ‘–adminpass=J3wXgodjW’, ‘–contextid=10’, ‘–username=hnetto’, ‘–password=dummy’, '–defaultsenderaddress=hnetto@studente … erhaven.de’, ‘–language=de_DE’, ‘–timezone=Europe/Berlin’] returned 103: user in context 10 could not be created:
Server response:
Invalid email address
at com.openexchange.admin.tools.GenericChecks.checkValidMailAddress(GenericChecks.java:107)
at com.openexchange.admin.storage.mysqlStorage.OXToolMySQLStorage.checkValidEmailsInUserObject(OXToolMySQLStorage.java:2425)
at com.openexchange.admin.storage.mysqlStorage.OXToolMySQLStorage.checkCreateUserData(OXToolMySQLStorage.java:2323)
at com.openexchange.admin.rmi.impl.OXUser.createUserCommon(OXUser.java:747)
at com.openexchange.admin.rmi.impl.OXUser.create(OXUser.java:662)
at sun.reflect.GeneratedMethodAccessor314.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)
at sun.rmi.transport.Transport$1.run(Transport.java:177)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:553)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667)
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:636)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:273)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:251)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:160)
at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:194)
at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:148)
at $Proxy0.create(Unknown Source)
at com.openexchange.admin.console.user.Create.maincall(Create.java:85)
at com.openexchange.admin.console.user.CreateCore.commonfunctions(CreateCore.java:133)
at com.openexchange.admin.console.user.Create.(Create.java:75)
at com.openexchange.admin.console.user.Create.main(Create.java:69)
12.11.15 09:49:03.111 LISTENER ( PROCESS ) : ox-user: transaction deferred: dn=‘uid=cbedoyatoro2,cn=users,dc=studenten,dc=hs-bremerhaven,dc=de’ [’/opt/open-xchange/sbin/createuser’, ‘–adminuser=oxadmin’, ‘–adminpass=J3wXgodjW’, ‘–contextid=10’, ‘–username=cbedoyatoro2’, ‘–password=dummy’, '–defaultsenderaddress=cbedoyatoro2@st … erhaven.de’, ‘–language=de_DE’, ‘–timezone=Europe/Berlin’] returned 103: user in context 10 could not be created:
Server response:
Invalid email address
at com.openexchange.admin.tools.GenericChecks.checkValidMailAddress(GenericChecks.java:107)
at com.openexchange.admin.storage.mysqlStorage.OXToolMySQLStorage.checkValidEmailsInUserObject(OXToolMySQLStorage.java:2425)
at com.openexchange.admin.storage.mysqlStorage.OXToolMySQLStorage.checkCreateUserData(OXToolMySQLStorage.java:2323)
at com.openexchange.admin.rmi.impl.OXUser.createUserCommon(OXUser.java:747)
at com.openexchange.admin.rmi.impl.OXUser.create(OXUser.java:662)
at sun.reflect.GeneratedMethodAccessor314.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)
at sun.rmi.transport.Transport$1.run(Transport.java:177)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:553)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667)
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:636)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:273)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:251)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:160)
at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:194)
at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:148)
at $Proxy0.create(Unknown Source)
at com.openexchange.admin.console.user.Create.maincall(Create.java:85)
at com.openexchange.admin.console.user.CreateCore.commonfunctions(CreateCore.java:133)
at com.openexchange.admin.console.user.Create.(Create.java:75)
at com.openexchange.admin.console.user.Create.main(Create.java:69)

12.11.15 09:49:03.113 LISTENER ( PROCESS ) : ox-user: New Object is OX-User: True
12.11.15 09:49:03.113 LISTENER ( PROCESS ) : ox-user: Old Object is OX-User: False
12.11.15 09:49:03.113 LISTENER ( PROCESS ) : ox-user: aliases rruff@studenten.hs-bremerhaven.de,roman.ruff@studenten.hs-bremerhaven.de
UNIVENTION_DEBUG_BEGIN : uldap.__open host=smail.hs-bremerhaven.de port=7389 base=dc=studenten,dc=hs-bremerhaven,dc=de
UNIVENTION_DEBUG_END : uldap.__open host=smail.hs-bremerhaven.de port=7389 base=dc=studenten,dc=hs-bremerhaven,dc=de
12.11.15 09:49:04.063 LISTENER ( PROCESS ) : ox-user: lockfilename: /var/lock/deleteuid-4044


#2

Sehr geehrter Herr Otten,
Über unseren Supportkanal sollten Sie bereits eine Antwort erhalten haben, ich möchte das Thema hier noch einmal auch für andere Forenbesucher aufgreifen:

Hintergrund:
Der OX Listener speichert pflichtbewusst alle “Anfragen” - wenn etwas nicht klappt, wird es beim nächsten mal erneut versucht. Wenn viele Transaktionen passieren kann sich hier eine Menge ansammeln, was zu langen Replikationszeiten führt - Der Listener wird bei jeder Änderung wieder alle gespeicherten Anfragen abarbeiten und die fehlerhaften verwerfen bis er zu einer Anfrage kommt die verarbeitet werden kann.

Es gibt einen Fix hierfür:
“OX App Suite [version] ==> 7.6.2-25-ucs4” (Patch steht zur Verfügung für UCS 4.x und UCS 3.x)

Vor Installation des Fixes muss der Listener Cache geleert werden:

  1. Listener anhalten
  2. Anlegen eines TEMP Verzeichnisses
  3. Verschieben des Zwischenspeichers in den TEMP Ordner
  4. Start des Listeners

Es sollte sichergestellt werden, dass keine validen OX Requests mehr vorhanden sind.

-> /etc/init.d/univention-directory-listener stop
-> mkdir /opt/ox-user-tmp/
-> mv /var/spool/univention-directory-listener/ox-user/* /opt/ox-user-tmp/
-> /etc/init.d/univention-directory-listener start

Mit freundlichem Gruß,
Jens Thorp-Hansen