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
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
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.