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"

Task #10821 (closed)

Opened 11 years ago

Closed 10 years ago

Bug: Test failing: integration/chgrp.testChgrpRdef7825

Reported by: cblackburn Owned by:
Priority: critical Milestone: OMERO-5
Component: OmeroPy Version: 4.4.9
Keywords: n.a. Cc: fs@…, wmoore
Resources: n.a. Referenced By: n.a.
References: n.a. Remaining Time: n.a.
Sprint: FS demo 4.x

Description

This test passes on dev_4_4 but fails on develop. See #10777

FAIL: testChgrpRdef7825 (__main__.TestChgrp)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "integration/chgrp.py", line 195, in testChgrpRdef7825
    self.waitOnCmd(owner_g.c, handle)
  File "/Users/cblackburn/Work/repos/ome/components/tools/OmeroPy/test/integration/library.py", line 291, in waitOnCmd
    self.assertEquals(passes, is_ok, str(rsp))
AssertionError: object #0 (::omero::cmd::ERR)
{
    category = ::omero::cmd::Delete
    name = constraint-violation
    parameters = 
    {
        key = stacktrace
        value = org.hibernate.exception.ConstraintViolationException: could not execute update query
	at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:96)
	at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
	at org.hibernate.hql.ast.exec.BasicExecutor.execute(BasicExecutor.java:110)
	at org.hibernate.hql.ast.QueryTranslatorImpl.executeUpdate(QueryTranslatorImpl.java:421)
	at org.hibernate.engine.query.HQLQueryPlan.performExecuteUpdate(HQLQueryPlan.java:283)
	at org.hibernate.impl.SessionImpl.executeUpdate(SessionImpl.java:1280)
	at org.hibernate.impl.QueryImpl.executeUpdate(QueryImpl.java:117)
	at ome.services.delete.DeleteStep.action(DeleteStep.java:76)
	at ome.services.graphs.GraphState.execute(GraphState.java:347)
	at ome.services.delete.Deletion.execute(Deletion.java:295)
	at omero.cmd.graphs.DeleteI.step(DeleteI.java:106)
	at omero.cmd.basic.DoAllI$X.step(DoAllI.java:100)
	at omero.cmd.basic.DoAllI.step(DoAllI.java:301)
	at omero.cmd.HandleI.steps(HandleI.java:435)
	at omero.cmd.HandleI$1.doWork(HandleI.java:365)
	at omero.cmd.HandleI$1.doWork(HandleI.java:361)
	at sun.reflect.GeneratedMethodAccessor255.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	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.services.util.Executor$Impl$Interceptor.invoke(Executor.java:518)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at ome.security.basic.EventHandler.invoke(EventHandler.java:154)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:111)
	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:241)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:116)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
	at com.sun.proxy.$Proxy65.doWork(Unknown Source)
	at ome.services.util.Executor$Impl.execute(Executor.java:416)
	at omero.cmd.HandleI.run(HandleI.java:359)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
	at ome.services.util.Executor$Impl$1.call(Executor.java:447)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:680)
Caused by: org.postgresql.util.PSQLException: ERROR: update or delete on table "pixels" violates foreign key constraint "fkthumbnail_pixels_pixels" on table "thumbnail"
  Detail: Key (id)=(12) is still referenced from table "thumbnail".
	at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2103)
	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1836)
	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
	at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:512)
	at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:388)
	at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:334)
	at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at bitronix.tm.resource.jdbc.BaseProxyHandlerClass.invoke(BaseProxyHandlerClass.java:63)
	at com.sun.proxy.$Proxy56.executeUpdate(Unknown Source)
	at org.hibernate.hql.ast.exec.BasicExecutor.execute(BasicExecutor.java:101)
	... 42 more

        
        key = message
        value = could not execute update query
        
        key = name
        value = fkthumbnail_pixels_pixels
        
        key = Error
        value = ConstraintViolation: fkthumbnail_pixels_pixels
    }
}

Change History (10)

comment:1 Changed 11 years ago by jamoore

As #10820, this looks like a valid bug in the sense that something has changed. Thumbnails are supposed to be trivially deletable, i.e. should never prevent a deletion.

comment:2 Changed 11 years ago by jamoore

Mark: this is an example of a failure where it would be good to know roughly {"target": Pixels(50), "contraint": Thumbnails(190)} to do what Will is looking to do with Filesets.

comment:3 Changed 11 years ago by jamoore

Analysis: what's happening here is that on move in the rwrw-- group, the thumbnail (belonging to the other user) is being chgrp'd into a rw----, which shouldn't be allowed. Then the test is failing on an attempted delete since the object is not visible. The "FORCE" on /Image/Pixels/Thumbnail? should actually allow the object to be readable and therefore be deleted, but the assumption is surely in a read-only group there shouldn't be any such linkage.

comment:4 Changed 11 years ago by jamoore

  • Cc wmoore added

The difference isn't (only) directly related to the chgrp code: an identical test on dev_4_4 using gateway re-uses the thumbnail rather than generating a new one. Will: do you know the related ticket/PR so I can read up on what's changed?

comment:5 Changed 11 years ago by jamoore

  • Sprint changed from FS demo 4.1 to FS demo 4.2

Still needs evaluation

comment:6 Changed 11 years ago by jburel

  • Sprint changed from FS demo 4.2 to FS Demo 4.3

Moved from sprint FS demo 4.2

comment:7 Changed 11 years ago by jamoore

  • Priority changed from blocker to critical

Lowering since this doesn't seem to have any immediate user-related impact.

comment:8 Changed 11 years ago by jburel

  • Sprint changed from FS Demo 4.3 to FS demo 4.4

Moved from sprint FS Demo 4.3

comment:9 Changed 11 years ago by jamoore

  • Sprint changed from FS demo 4.4 to FS demo 4.x

comment:10 Changed 10 years ago by atarkowska

  • Resolution set to worksforme
  • Status changed from new to closed
  • Version set to 4.4.9

This test passes

testChgrpRdef7825 (No known failures. Stability 100 %)	10 sec	Passed
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.136754 sec.)

We're Hiring!