Bug #1126

Auto-completion is totally broken when only one LDAP server is unreachable

Added by Florent Angebault almost 2 years ago. Updated almost 2 years ago.

Status:Resolved Start date:01/08/2016
Priority:Normal Due date:
Assignee:Alioune KONE % Done:

100%

Category:-
Target version:1.11.4
Reproductible:Yes Browsers:
Product version:1.11.x criticity:major

Description

This problem should be considered non-blocking, but users consider that file sharing is broken just because completion was working fine yesterday and not today.

I suggest that the fix simply ignore unreachable LDAP servers (with a try... catch) and logs an ERROR.


Related issues

related to LinShare - Bug #1127: Sharing with external user is impossible when a single LD... Resolved 01/08/2016

History

Updated by Florent Angebault almost 2 years ago

Here is the corresponding stacktrace:

ERROR [2016-01-08 11:22:39] [core.service.impl.UserProviderServiceImpl#throwError] Error while searching for a user with ldap connection 1fff349b-c06e-4b7a-928f-c37e956d027e
ERROR [2016-01-08 11:22:39] [core.service.impl.UserProviderServiceImpl#throwError] localhost:389; nested exception is javax.naming.CommunicationException: localhost:389 [Root excep
tion is java.net.ConnectException: Connexion refusée]
ERROR [2016-01-08 11:22:39] [tapestry.pages.files.Upload#performSearch] Failed to autocomplete user on ConfirmSharePopup
org.linagora.linshare.core.exception.BusinessException: Couldn't connect to the directory.
        at org.linagora.linshare.core.service.impl.UserProviderServiceImpl.throwError(UserProviderServiceImpl.java:436)
        at org.linagora.linshare.core.service.impl.UserProviderServiceImpl.autoCompleteUser(UserProviderServiceImpl.java:314)
        at org.linagora.linshare.core.service.impl.AbstractDomainServiceImpl.autoCompleteUserWithDomainPolicies(AbstractDomainServiceImpl.java:494)
        at org.linagora.linshare.core.service.impl.AbstractDomainServiceImpl.autoCompleteUserWithDomainPolicies(AbstractDomainServiceImpl.java:455)
        at org.linagora.linshare.core.service.impl.UserServiceImpl.completionSearchOnInternal(UserServiceImpl.java:459)
        at org.linagora.linshare.core.service.impl.UserServiceImpl.autoCompleteUser(UserServiceImpl.java:535)
        at org.linagora.linshare.core.facade.impl.UserAutoCompleteFacadeImpl.autoCompleteUser(UserAutoCompleteFacadeImpl.java:102)
        at org.linagora.linshare.core.facade.impl.UserAutoCompleteFacadeImpl.autoCompleteUserSortedByFavorites(UserAutoCompleteFacadeImpl.java:95)
        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:606)
        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 org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
        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.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
        at com.sun.proxy.$Proxy57.autoCompleteUserSortedByFavorites(Unknown Source)
        at org.linagora.linshare.view.tapestry.pages.files.Upload.performSearch(Upload.java:583)
        at org.linagora.linshare.view.tapestry.pages.files.Upload.onProvideCompletionsFromRecipientsPattern(Upload.java:490)
        at org.linagora.linshare.view.tapestry.pages.files.Upload$MethodAccess_onProvideCompletionsFromRecipientsPattern_15220ad8335.invoke(Upload$MethodAccess_onProvideCompletionsFromRecipientsPattern_15220ad8335.java)
        at org.apache.tapestry5.internal.transform.BaseEventHandlerMethodInvoker.invokeEventHandlerMethod(BaseEventHandlerMethodInvoker.java:52)
        at org.apache.tapestry5.internal.transform.OnEventWorker$4.invokeEventHandlers(OnEventWorker.java:157)
        at org.apache.tapestry5.internal.transform.OnEventWorker$4.advise(OnEventWorker.java:136)
        at org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86)
        at org.linagora.linshare.view.tapestry.pages.files.Upload.dispatchComponentEvent(Upload.java)

Updated by Florent Angebault almost 2 years ago

  • 08000 changed from No to Yes

Updated by Frédéric MARTIN almost 2 years ago

  • Project changed from linshare-core to LinShare

Updated by Alioune KONE almost 2 years ago

  • Status changed from New to Resolved
  • Assignee set to Alioune KONE
  • % Done changed from 0 to 100

Updated by Florent Angebault almost 2 years ago

  • Target version set to 1.11.4

Also available in: Atom PDF