Snapshot deployment fails with: IllegalArgumentException: Passed List had more than one value

Problem

Deployment fails with the following error:

java.lang.IllegalArgumentException: Passed List had more than one value.    at 
org.ofbiz.core.entity.EntityUtil.getOnly(EntityUtil.java:68)    at
com.atlassian.jira.issue.search.OfBizSearchRequestStore.getRequestByAuthorAndName(OfBizSearchRequestStore.java:196)    at
com.atlassian.jira.issue.search.CachingSearchRequestStore.getRequestByAuthorAndName(CachingSearchRequestStore.java:123)    at
com.botronsoft.jira.rollout.impl.lookup.FilterLookupProvider.findFilterByNameAndOwner(FilterLookupProvider.java:81)    at 
com.botronsoft.jira.rollout.impl.lookup.FilterLookupProvider.findMatch(FilterLookupProvider.java:38)    at
com.botronsoft.jira.rollout.impl.lookup.FilterLookupProvider.findMatch(FilterLookupProvider.java:20)    at 
com.botronsoft.jira.rollout.impl.lookup.JiraObjectLookupImpl.findMatchingObject(JiraObjectLookupImpl.java:37)    at
com.botronsoft.jira.rollout.ui.diff.DiffModelBuilder.validateAdditionalDependencies(DiffModelBuilder.java:639)    at 
com.botronsoft.jira.rollout.ui.diff.DiffModelBuilder.validateDiffNode(DiffModelBuilder.java:427)    at
com.botronsoft.jira.rollout.ui.diff.DiffModelBuilder.attachDiffNode(DiffModelBuilder.java:375)    at 
com.botronsoft.jira.rollout.ui.diff.DiffModelBuilder.build(DiffModelBuilder.java:187)    at
com.botronsoft.jira.rollout.ui.DeployModelBuilder.buildDiffModel(DeployModelBuilder.java:131)    at 
com.botronsoft.jira.rollout.impl.ui.DeployModeBuilderServiceImpl.buildDiffModel(DeployModeBuilderServiceImpl.java:51)    at
sun.reflect.GeneratedMethodAccessor9840.invoke(Unknown Source)    at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)    at 
java.lang.reflect.Method.invoke(Method.java:498)    at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)    at 
org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56)    at
org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60)    at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)    at
org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:136)    at
org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:124)    at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)  at
org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:70)    at
org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:53)    at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)    at 
org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57)    at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)    at 
org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:136)    at
org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:124)    at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)    at 

Reason

This error usually suggests that on the target instance there are multiple filters with the same name and owner.

Solutions

The duplicates have to be deleted/renamed.

CMJ's Integrity Check can be used to identify the duplicates. If Integrity Check does not show any filter violations the following SQL query can help you find them.

SELECT COUNT * c, CONCAT (FILTERNAME, AUTHORNAME) FROM SEARCHREQUEST GROUP BY FILTERNAME, AUTHORNAME ORDER BY c desc;