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 #13197 (closed)

Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

Bug: Duplicate fails with SkipHead

Reported by: mtbcarroll Owned by: mtbcarroll
Priority: major Milestone: OMERO-5.2.3
Component: ApplicationServer Version: n.a.
Keywords: graph Cc: server@…
Resources: n.a. Referenced By: n.a.
References: n.a. Remaining Time: 0.0d
Sprint: n.a.

Description

cblackburn discovered that,

bin/omero duplicate Project/Dataset:4

triggered the familiar,

No valid permissions available! DUMMY permissions are not intended for copying. Make sure that you have not passed omero.group=-1 for a save without 
          context

whereas the equivalent,

bin/omero duplicate Dataset:9,10,11,12

worked fine. It is likely that SkipHead + Duplicate haven't yet been tried together.

Change History (5)

comment:1 Changed 5 years ago by cblackburn

Following on from mtbcarroll's description, this is the full workflow using the prototype command at:

https://github.com/ximenesuk/openmicroscopy/commit/7d535006168f0f18ad954cd7070265041d31f1be

$ omero duplicate Dataset:9,10,11,12 --report
omero.cmd.Duplicate Dataset:9-12 ok
Steps: 6
Elapsed time: 0.287 secs.
Flags: []
Duplicates
  Dataset:51-54

$ omero duplicate Project/Dataset:4 --report
omero.cmd.Duplicate Project/Dataset:4 failed: 'graph-fail'
	message=No valid permissions available! DUMMY permissions are not intended for copying. Make sure that you have not passed omero.group=-1 for a save without context
	stacktrace=java.lang.IllegalArgumentException: No valid permissions available! DUMMY permissions are not intended for copying. Make sure that you have not passed omero.group=-1 for a save without context
	at ome.model.internal.Permissions.<init>(Permissions.java:158)
	at ome.security.basic.CurrentDetails.createDetails(CurrentDetails.java:382)
	at ome.security.basic.OmeroInterceptor.newTransientDetails(OmeroInterceptor.java:621)
	at ome.security.basic.OmeroInterceptor.onSave(OmeroInterceptor.java:160)
	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.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:179)
	at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:135)
	at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:61)
	at org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:802)
	at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:776)
	at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:780)
	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:497)
	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.tools.hibernate.SessionFactory.invoke(SessionFactory.java:105)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
	at com.sun.proxy.$Proxy73.persist(Unknown Source)
	at omero.cmd.graphs.DuplicateI.step(DuplicateI.java:450)
	at omero.cmd.graphs.SkipHeadI.step(SkipHeadI.java:232)
	at omero.cmd.HandleI.steps(HandleI.java:438)
	at omero.cmd.HandleI$1.doWork(HandleI.java:366)
	at omero.cmd.HandleI$1.doWork(HandleI.java:362)
	at sun.reflect.GeneratedMethodAccessor283.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	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:562)
	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: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.$Proxy72.doWork(Unknown Source)
	at ome.services.util.Executor$Impl.execute(Executor.java:443)
	at omero.cmd.HandleI.run(HandleI.java:360)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at ome.services.util.Executor$Impl$1.call(Executor.java:484)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)


Steps: 7
Elapsed time: 0.343 secs.
Flags: [CANCELLED, FAILURE]

comment:2 Changed 5 years ago by mtbcarroll

  • Keywords graph added

comment:3 Changed 5 years ago by mtbcarroll

  • Status changed from new to accepted

comment:4 Changed 5 years ago by mtbcarroll

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

Well, that was interesting to diagnose. Fixed by https://github.com/openmicroscopy/openmicroscopy/pull/4593.

comment:5 Changed 5 years ago by jean-marie burel <j.burel@…>

  • Remaining Time set to 0

(In [1ff6eae3946dc3a944b71b9182e346cd294da10b/ome.git] on branch develop) Merge pull request #4593 from mtbc/trac-13197-skiphead-duplicate

fix #13197: allow Duplicate to be used with SkipHead?

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.64641 sec.)

We're Hiring!