Task #9117 (closed)
Bug: MIXED GROUP when changing groups
Reported by: | sylittlewood | Owned by: | jamoore |
---|---|---|---|
Priority: | critical | Milestone: | OMERO-4.4 |
Component: | General | Version: | n.a. |
Keywords: | n.a. | Cc: | jamoore |
Resources: | n.a. | Referenced By: | n.a. |
References: | n.a. | Remaining Time: | n.a. |
Sprint: | 2012-06-19 (17) |
Description
Attempting to run the unit tests Jean-Marie worked on for changing the group for a Dataset/Project? are showcasing an issue in the server.
The following branch has the failing test in /components/tools/OmeroJava/src
https://github.com/scottlittlewood/openmicroscopy/tree/permission-testing-1
Running the unit test results with the following command results in the stack trace results from the test failure
./build.py -f components/tools/OmeroJava/build.xml test -DTEST=integration/chgrp/MovingDatasetPermissionTests
junit.framework.AssertionFailedError: Found ERR when pass==true: ::omero::api::Save (failed) params={message=MIXED GROUP: ome.model.containers.ProjectDatasetLink:Id_2(group=ome.model.meta.ExperimenterGroup:Id_7) and ome.model.containers.Dataset:Id_2(group=ome.model.meta.ExperimenterGroup:Id_8) cannot be linked., obj=omero.model.ProjectDatasetLinkI@357506de, stacktrace=ome.conditions.GroupSecurityViolation: MIXED GROUP: ome.model.containers.ProjectDatasetLink:Id_2(group=ome.model.meta.ExperimenterGroup:Id_7) and ome.model.containers.Dataset:Id_2(group=ome.model.meta.ExperimenterGroup:Id_8) cannot be linked. at ome.security.basic.OmeroInterceptor.throwIfGroupsDontMatch(OmeroInterceptor.java:1042) at ome.security.basic.OmeroInterceptor.evaluateLinkages(OmeroInterceptor.java:419) at ome.security.basic.OmeroInterceptor.onSave(OmeroInterceptor.java:154) at org.hibernate.event.def.AbstractSaveEventListener.substituteValuesIfNecessary(AbstractSaveEventListener.java:414) at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:293) at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:204) at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:144) at org.hibernate.event.def.DefaultMergeEventListener.saveTransientEntity(DefaultMergeEventListener.java:415) at org.hibernate.event.def.DefaultMergeEventListener.mergeTransientEntity(DefaultMergeEventListener.java:341) at org.hibernate.event.def.DefaultMergeEventListener.entityIsTransient(DefaultMergeEventListener.java:303) at org.springframework.orm.hibernate3.support.IdTransferringMergeEventListener.entityIsTransient(IdTransferringMergeEventListener.java:59) at ome.security.basic.MergeEventListener.entityIsTransient(MergeEventListener.java:161) at org.hibernate.event.def.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:258) at ome.security.basic.MergeEventListener.onMerge(MergeEventListener.java:94) at org.hibernate.event.def.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:84) at ome.security.basic.MergeEventListener.onMerge(MergeEventListener.java:80) at org.hibernate.impl.SessionImpl.fireMerge(SessionImpl.java:861) at org.hibernate.impl.SessionImpl.merge(SessionImpl.java:845) at org.hibernate.impl.SessionImpl.merge(SessionImpl.java:849) at ome.logic.UpdateImpl.internalMerge(UpdateImpl.java:273) at ome.logic.UpdateImpl$2.run(UpdateImpl.java:121) at ome.logic.UpdateImpl$2.run(UpdateImpl.java:118) at ome.logic.UpdateImpl.doAction(UpdateImpl.java:311) at ome.logic.UpdateImpl.doAction(UpdateImpl.java:302) at ome.logic.UpdateImpl.saveAndReturnObject(UpdateImpl.java:118) at ome.services.blitz.impl.commands.SaveI.step(SaveI.java:60) at omero.cmd.basic.DoAllI$X.step(DoAllI.java:100) at omero.cmd.basic.DoAllI.step(DoAllI.java:295) at omero.cmd.HandleI.steps(HandleI.java:439) at omero.cmd.HandleI.doRun(HandleI.java:414) at omero.cmd.HandleI$1.doWork(HandleI.java:361) at omero.cmd.HandleI$1.doWork(HandleI.java:357) at sun.reflect.GeneratedMethodAccessor268.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:502) 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 $Proxy65.doWork(Unknown Source) at ome.services.util.Executor$Impl.execute(Executor.java:406) at omero.cmd.HandleI.run(HandleI.java:355) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at ome.services.util.Executor$Impl$1.call(Executor.java:431) 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:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:680) } junit.framework.Assert.fail(Assert.java:47) integration.AbstractServerTest.doChange(AbstractServerTest.java:1582) integration.AbstractServerTest.doChange(AbstractServerTest.java:1532) integration.chgrp.MovingDatasetPermissionTests.moveDataDatasetToProject(MovingDatasetPermissionTests.java:180) integration.chgrp.MovingDatasetPermissionTests.testMoveDatasetToProjectRWRtoRWR(MovingDatasetPermissionTests.java:257) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:74) org.testng.internal.Invoker.invokeMethod(Invoker.java:673) org.testng.internal.Invoker.invokeTestMethod(Invoker.java:846) org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1170) org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125) org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109) org.testng.TestRunner.runWorkers(TestRunner.java:1125) org.testng.TestRunner.privateRun(TestRunner.java:749) org.testng.TestRunner.run(TestRunner.java:600) org.testng.SuiteRunner.runTest(SuiteRunner.java:317) org.testng.SuiteRunner.runSequentially(SuiteRunner.java:312) org.testng.SuiteRunner.privateRun(SuiteRunner.java:274) org.testng.SuiteRunner.run(SuiteRunner.java:223) org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) org.testng.TestNG.runSuitesSequentially(TestNG.java:1007) org.testng.TestNG.runSuitesLocally(TestNG.java:932) org.testng.TestNG.run(TestNG.java:868) org.testng.TestNG.privateMain(TestNG.java:1150) org.testng.TestNG.main(TestNG.java:1114)
Change History (4)
comment:1 Changed 12 years ago by sylittlewood
- Priority changed from minor to critical
comment:2 Changed 12 years ago by jmoore
comment:3 Changed 12 years ago by sylittlewood
- Resolution set to fixed
- Status changed from new to closed
comment:4 Changed 12 years ago by sylittlewood
All tests are passing now.
Note: See
TracTickets for help on using
tickets.
You may also have a look at Agilo extensions to the ticket.
Elwood, I can't find this test anywhere. Can you give me a sha1?