Warning: Can't synchronize with repository "(default)" (/home/git/ome.git does not appear to be a Git repository.). Look in the Trac log for more information.
Notice: In order to edit this ticket you need to be either: a Product Owner, The owner or the reporter of the ticket, or, in case of a Task not yet assigned, a team_member"

Bug #835 (closed)

Opened 16 years ago

Closed 16 years ago

IAdmin.lookupGroups() fails with "More than one row..."

Reported by: jamoore Owned by: jamoore
Priority: minor Cc: jrswedlow, jburel
Sprint: n.a.
Total Remaining Time: n.a.

Description

From the server log:

2007-11-14 21:47:51,433 INFO  [ome.services.util.ServiceHandler]  Meth: lookupGroups
2007-11-14 21:47:51,434 INFO  [ome.services.util.ServiceHandler]  Args: ()
...
2007-11-14 21:47:51,461 WARN  [ome.services.util.ServiceHandler] Unknown exception thrown.

org.springframework.orm.hibernate3.HibernateSystemException: More than one row with the given identifier was found: GroupExperimenterMap:Hash_2591807, for class: ome.m
odel.meta.GroupExperimenterMap; nested exception is org.hibernate.HibernateException: More than one row with the given identifier was found: GroupExperimenterMap:Hash_
2591807, for class: ome.model.meta.GroupExperimenterMap
Caused by: 
org.hibernate.HibernateException: More than one row with the given identifier was found: GroupExperimenterMap:Hash_2591807, for class: ome.model.meta.GroupExperimenter
Map
        at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:69)
        at org.hibernate.loader.entity.EntityLoader.loadByUniqueKey(EntityLoader.java:85)
        at org.hibernate.persister.entity.AbstractEntityPersister.loadByUniqueKey(AbstractEntityPersister.java:1645)
        at org.hibernate.type.EntityType.loadByUniqueKey(EntityType.java:608)
        at org.hibernate.type.EntityType.resolve(EntityType.java:382)
        at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:116)
        at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:854)
        at org.hibernate.loader.Loader.doQuery(Loader.java:729)
...

produces the following in insight:

java.lang.Exception: Cannot retrieve the available groups 


	at org.openmicroscopy.shoola.env.ui.UserNotifierImpl.showErrorDialog(UserNotifierImpl.java:129)
	at org.openmicroscopy.shoola.env.ui.UserNotifierImpl.notifyError(UserNotifierImpl.java:180)
	at org.openmicroscopy.shoola.env.ui.UserNotifierImpl.notifyError(UserNotifierImpl.java:169)
	at org.openmicroscopy.shoola.agents.treeviewer.DataTreeViewerLoader.handleException(DataTreeViewerLoader.java:130)
	at org.openmicroscopy.shoola.env.data.events.DSCallAdapter.eventFired(DSCallAdapter.java:84)
	at org.openmicroscopy.shoola.env.data.views.BatchCallMonitor$1.run(BatchCallMonitor.java:124)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

Here's the data:

select id, parent, child, defaultgrouplink from groupexperimentermap;
 id  | parent | child | defaultgrouplink 
-----+--------+-------+------------------
   0 |      0 |     0 | t
   1 |      1 |     0 | f
   3 |      1 |     2 | f
  22 |      1 |    11 | f
  24 |      1 |    12 | f
  26 |      1 |    13 | f
  27 |      3 |    14 | t
  28 |      1 |    14 | f
  29 |      0 |    11 | 
 866 |      2 |   433 | t
 867 |      1 |   433 | f
   4 |      4 |     2 | t
  21 |      4 |    11 | t
  23 |      4 |    12 | t
  25 |      4 |    13 | t
 892 |      2 |   446 | t
 893 |      1 |   446 | t
 895 |      1 |   447 | t
 894 |      5 |   447 | t
(19 rows)

and rearranging a bit:

select child, defaultgrouplink, count(*) from groupexperimentermap group by child, defaultgrouplink;
 child | defaultgrouplink | count 
-------+------------------+-------
     0 | f                |     1
     0 | t                |     1
     2 | f                |     1
     2 | t                |     1
    11 | f                |     1
    11 | t                |     1
    12 | f                |     1
    12 | t                |     1
    13 | f                |     1
    13 | t                |     1
    14 | f                |     1
    14 | t                |     1
   433 | f                |     1
   433 | t                |     1
   446 | t                |     2 <--- These
   447 | t                |     2 <---  !!!
    11 |                  |     1
(17 rows)

Change History (2)

comment:1 Changed 16 years ago by jmoore

  • Cc jason jburel added
  • Owner changed from jason, jburel to jmoore
  • Status changed from new to assigned

comment:2 Changed 16 years ago by jmoore

  • Resolution set to fixed
  • Status changed from assigned to closed

This should no longer be possible with an ordered collection of GroupExperimenterMaps

Note: See TracTickets for help on using tickets. You may also have a look at Agilo extensions to the ticket.

1.3.13-PRO © 2008-2011 Agilo Software all rights reserved (this page was served in: 0.62062 sec.)

We're Hiring!