We're getting a database error when we try to use the admin to manage a user's group membership:
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py", line 132, in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/omero/OMERO.server/lib/python/omeroweb/decorators.py", line 488, in wrapped
retval = f(request, *args, **kwargs)
File "/home/omero/OMERO.server/lib/python/omeroweb/decorators.py", line 538, in wrapper
context = f(request, *args, **kwargs)
File "/home/omero/OMERO.server/lib/python/omeroweb/webadmin/views.py", line 776, in manage_group
removalFails = conn.setMembersOfGroup(group, new_members)
File "/home/omero/OMERO.server/lib/python/omeroweb/webclient/webclient_gateway.py", line 1395, in setMembersOfGroup
admin_serv.addGroups(e, [group._obj])
File "/home/omero/OMERO.server/lib/python/omero/gateway/__init__.py", line 4675, in __call__
return self.handle_exception(e, *args, **kwargs)
File "/home/omero/OMERO.server/lib/python/omeroweb/webclient/webclient_gateway.py", line 2099, in handle_exception
e, *args, **kwargs)
File "/home/omero/OMERO.server/lib/python/omero/gateway/__init__.py", line 4672, in __call__
return self.f(*args, **kwargs)
File "/home/omero/OMERO.server/lib/python/omero_api_IAdmin_ice.py", line 1970, in addGroups
return _M_omero.api.IAdmin._op_addGroups.invoke(self, ((user, groups), _ctx))
InternalException: exception ::omero::InternalException
{
serverStackTrace = ome.conditions.InternalException: Wrapped Exception: (org.springframework.jdbc.UncategorizedSQLException):
Hibernate operation: could not insert collection rows: [ome.model.meta.Experimenter.groupExperimenterMap#303]; uncategorized SQLException for SQL [update groupexperimentermap set child=?, child_index=? where id=?]; SQL state [P0003]; error code [0]; ERROR: query returned more than one row
Where: PL/pgSQL function prevent_root_deactivate_update() line 7 at SQL statement; nested exception is org.postgresql.util.PSQLException: ERROR: query returned more than one row
Where: PL/pgSQL function prevent_root_deactivate_update() line 7 at SQL statement
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
at org.springframework.orm.hibernate3.HibernateAccessor.convertJdbcAccessException(HibernateAccessor.java:424)
at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:410)
at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:117)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:108)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:249)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:121)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at com.sun.proxy.$Proxy89.addGroups(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
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:307)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at ome.security.basic.BasicSecurityWiring.invoke(BasicSecurityWiring.java:93)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at ome.services.blitz.fire.AopContextInitializer.invoke(AopContextInitializer.java:43)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at com.sun.proxy.$Proxy89.addGroups(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at ome.services.blitz.util.IceMethodInvoker.invoke(IceMethodInvoker.java:172)
at ome.services.throttling.Callback.run(Callback.java:56)
at ome.services.throttling.InThreadThrottlingStrategy.callInvokerWithMappedArgs(InThreadThrottlingStrategy.java:70)
at ome.services.blitz.impl.AbstractAmdServant.callInvokerOnMappedArgs(AbstractAmdServant.java:149)
at ome.services.blitz.impl.AdminI.addGroups_async(AdminI.java:111)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
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:307)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at omero.cmd.CallContext.invoke(CallContext.java:78)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at com.sun.proxy.$Proxy90.addGroups_async(Unknown Source)
at omero.api._IAdminTie.addGroups_async(_IAdminTie.java:72)
at omero.api._IAdminDisp.___addGroups(_IAdminDisp.java:1588)
at omero.api._IAdminDisp.__dispatch(_IAdminDisp.java:2202)
at IceInternal.Incoming.invoke(Incoming.java:221)
at Ice.ConnectionI.invokeAll(ConnectionI.java:2536)
at Ice.ConnectionI.dispatch(ConnectionI.java:1145)
at Ice.ConnectionI.message(ConnectionI.java:1056)
at IceInternal.ThreadPool.run(ThreadPool.java:395)
at IceInternal.ThreadPool.access$300(ThreadPool.java:12)
at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:832)
at java.lang.Thread.run(Thread.java:745)
serverExceptionClass = ome.conditions.InternalException
message = Wrapped Exception: (org.springframework.jdbc.UncategorizedSQLException):
Hibernate operation: could not insert collection rows: [ome.model.meta.Experimenter.groupExperimenterMap#303]; uncategorized SQLException for SQL [update groupexperimentermap set child=?, child_index=? where id=?]; SQL state [P0003]; error code [0]; ERROR: query returned more than one row
Where: PL/pgSQL function prevent_root_deactivate_update() line 7 at SQL statement; nested exception is org.postgresql.util.PSQLException: ERROR: query returned more than one row
Where: PL/pgSQL function prevent_root_deactivate_update() line 7 at SQL statement
}
Any advice greatly appreciated!