We're Hiring!

Chgrp cli options

General and open developer discussion about using OMERO APIs from C++, Java, Python, Matlab and more! Please new questions at https://forum.image.sc/tags/omero
Please note:
Historical discussions about OMERO. Please look for and ask new questions at https://forum.image.sc/tags/omero

If you are having trouble with custom code, please provide a link to a public repository, ideally GitHub.

Chgrp cli options

Postby Manz » Mon Jan 16, 2012 10:47 pm

Hey Guys!

So I put together the build from https://github.com/joshmoore/openmicros ... components and got it up and going, and started playing with bin/omero chgrp --edit 3 /Image:1 which works beautifully. However, is it possible to point it so that the image is moved into a dataset and not orphan images without porting the entire dataset? I couldn't find anything in the help page.


Thanks

Manda
Manz
 
Posts: 72
Joined: Wed Jun 29, 2011 11:48 pm

Re: Chgrp cli options

Postby jmoore » Tue Jan 17, 2012 9:21 am

Hi Manda,

glad to hear the branch worked for you. Be sure let us know if you run into any weirdness with what data was moved. As for also attaching to a new dataset, there's nothing in place at the moment. We'll certainly keep it in mind as we continue work on chgrp, though. Thanks for the feedback!

~Josh.

See: https://trac.openmicroscopy.org.uk/ome/ticket/7805
User avatar
jmoore
Site Admin
 
Posts: 1591
Joined: Fri May 22, 2009 1:29 pm
Location: Germany

Re: Chgrp cli options

Postby Manz » Wed Jan 18, 2012 3:25 am

Hey, I found some weirdness. If the image is in Orphan and you move it to another group, it remains in Orphan but also appears in the orphan of the group you transfer it to. But if its in a dataset (haven't tested in anything else yet) then the image dissapears from dataset and appears in the orphan of the group its meant to be in.

NB:- I should elaborate on this one. I just discovered that if it is in a dataset and you chgrp it, in appears in the orphan images in both the group you are moving it to and the group it has come from. This occurred when I tried using a layered image.


Using session 2208c833-ac54-4db9-aabc-98c0dbed9017 (user1@localhost:4064). Idle timeout: 10.0 min. Current group: group1_private
{}
-1
object #0 (::omero::cmd::OK)
{
}
object #0 (::omero::cmd::Status)
{
source = <nil>
category =
name =
flags =
{
}
parameters =
{
}
steps = 26
startTime = 1326857547286
stepStartTimes =
{
}
stepStopTimes =
{
}
stopTime = 1326857547504
Manz
 
Posts: 72
Joined: Wed Jun 29, 2011 11:48 pm

Re: Chgrp cli options

Postby Manz » Wed Jan 18, 2012 3:35 am

But I'm sure it wasn't doing that yesterday. I'm going to go through what i did today to see if anything I've changed has altered it. I haven't touched the file chrgp is in.

OMEROweb.log is showing


serverExceptionClass = ome.conditions.ValidationException
message = could not insert: [ome.model.containers.Dataset]; SQL [insert into dataset (description, creation_id, external_id, group_id, owner_id, permissions, update_id, name, version, id) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]; constraint [dataset_pkey]; nested exception is org.hibernate.exception.ConstraintViolationException: could not insert: [ome.model.containers.Dataset]
Manz
 
Posts: 72
Joined: Wed Jun 29, 2011 11:48 pm

Re: Chgrp cli options

Postby Manz » Wed Jan 18, 2012 4:27 am

Ok so we narrowed it down to a previous bug

viewtopic.php?f=6&t=903

So if you are owner of a group and not a sysadmin, there is some serious weirdness.... one of which means you can't delete your own images. If you aren't an owner or if you are an owner AND a sysadmin, you work fine.

I tried to replicate this error in the previous version of omero (4.3 not chgrp branch)(changed myself to a non-sysadmin who owned groups) and had no problems deleting or importing (import was done through dropbox this time). But I know at some stage this error did come up as we posted it on the forums. I think last time we recreated new groups and the errors stopped. I will attempt to replicate this error or work out why sometimes it comes up and sometimes not. Would you guys have any idea?
Last edited by Manz on Wed Jan 18, 2012 5:09 am, edited 1 time in total.
Manz
 
Posts: 72
Joined: Wed Jun 29, 2011 11:48 pm

Re: Chgrp cli options

Postby Manz » Wed Jan 18, 2012 4:48 am

It isn't possible to import into a dataset either if you are owner but not admin. You get the following error:-

bin/omero import -d 204 /tmp/lease.png
Code: Select all
Using session df452a79-320c-498f-868d-79e604c27382 (user1@localhost:4064). Idle timeout: 10.0 min. Current group: group1_private
2012-01-18 14:39:33,177 0          [      main] INFO          ome.formats.importer.ImportConfig  - OMERO Version: 4.3.3
2012-01-18 14:39:33,183 6          [      main] INFO          ome.formats.importer.ImportConfig  - Bioformats version: 4.3.3-DEV revision: c21c787 date: 17 October 2011
2012-01-18 14:39:33,198 21         [      main] INFO   formats.importer.cli.CommandLineImporter  - Log levels -- Bio-Formats: ERROR OMERO.importer: INFO
2012-01-18 14:39:33,556 379        [      main] INFO      ome.formats.importer.ImportCandidates  - Depth: 4 Metadata Level: MINIMUM
2012-01-18 14:39:34,560 1383       [      main] INFO      ome.formats.importer.ImportCandidates  - 1 file(s) parsed into 1 group(s) with 1 call(s) to setId in 1000ms. (1003ms total) [0 unknowns]
2012-01-18 14:39:36,739 3562       [      main] INFO       ome.formats.OMEROMetadataStoreClient  - Attempting initial SSL connection to localhost:4064
2012-01-18 14:39:37,387 4210       [      main] INFO       ome.formats.OMEROMetadataStoreClient  - Insecure connection requested, falling back
2012-01-18 14:39:37,608 4431       [      main] INFO       ome.formats.OMEROMetadataStoreClient  - Server: 4.3.3
2012-01-18 14:39:37,608 4431       [      main] INFO       ome.formats.OMEROMetadataStoreClient  - Client: Beta4.3.3
2012-01-18 14:39:37,608 4431       [      main] INFO       ome.formats.OMEROMetadataStoreClient  - Java Version: 1.6.0_25
2012-01-18 14:39:37,608 4431       [      main] INFO       ome.formats.OMEROMetadataStoreClient  - OS Name: Linux
2012-01-18 14:39:37,608 4431       [      main] INFO       ome.formats.OMEROMetadataStoreClient  - OS Arch: amd64
2012-01-18 14:39:37,608 4431       [      main] INFO       ome.formats.OMEROMetadataStoreClient  - OS Version: 2.6.18-194.el5
2012-01-18 14:39:37,693 4516       [      main] ERROR  formats.importer.cli.CommandLineImporter  - Error during import process.
java.lang.RuntimeException: omero.SecurityViolation
    serverStackTrace = "ome.conditions.SecurityViolation: Cannot read ome.model.containers.Dataset:Id_204
                                at ome.security.basic.BasicACLVoter.throwLoadViolation(BasicACLVoter.java:112)
                                at ome.security.CompositeACLVoter.throwLoadViolation(CompositeACLVoter.java:86)
                                at ome.security.ACLEventListener.onPostLoad(ACLEventListener.java:104)
                                at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:250)
                                at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:898)
                                at org.hibernate.loader.Loader.doQuery(Loader.java:773)
                                at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:270)
                                at org.hibernate.loader.Loader.loadEntity(Loader.java:1953)
                                at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:86)
                                at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:76)
                                at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3270)
                                at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:496)
                                at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:477)
                                at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:227)
                                at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:147)
                                at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:1082)
                                at org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:1020)
                                at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:176)
                                at org.hibernate.Hibernate.initialize(Hibernate.java:428)
                                at ome.logic.QueryImpl$1.doInHibernate(QueryImpl.java:174)
                                at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:406)
                                at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:339)
                                at ome.logic.QueryImpl.get(QueryImpl.java:157)
                                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                                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.security.basic.EventHandler.invoke(EventHandler.java:150)
                                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:231)
                                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 $Proxy76.get(Unknown Source)
                                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                                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.security.basic.BasicSecurityWiring.invoke(BasicSecurityWiring.java:83)
                                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
                                at ome.services.blitz.fire.AopContextInitializer.invoke(AopContextInitializer.java:43)
                                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
                                at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
                                at $Proxy76.get(Unknown Source)
                                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                                at java.lang.reflect.Method.invoke(Method.java:597)
                                at ome.services.blitz.util.IceMethodInvoker.invoke(IceMethodInvoker.java:179)
                                at ome.services.throttling.Callback.run(Callback.java:56)
                                at ome.services.throttling.InThreadThrottlingStrategy.callInvokerOnRawArgs(InThreadThrottlingStrategy.java:56)
                                at ome.services.blitz.impl.AbstractAmdServant.callInvokerOnRawArgs(AbstractAmdServant.java:137)
                                at ome.services.blitz.impl.QueryI.get_async(QueryI.java:110)
                                at omero.api._IQueryTie.get_async(_IQueryTie.java:127)
                                at omero.api._IQueryDisp.___get(_IQueryDisp.java:170)
                                at omero.api._IQueryDisp.__dispatch(_IQueryDisp.java:516)
                                at IceInternal.Incoming.invoke(Incoming.java:159)
                                at Ice.ConnectionI.invokeAll(ConnectionI.java:2037)
                                at Ice.ConnectionI.message(ConnectionI.java:972)
                                at IceInternal.ThreadPool.run(ThreadPool.java:577)
                                at IceInternal.ThreadPool.access$100(ThreadPool.java:12)
                                at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:971)
                        "
    serverExceptionClass = "ome.conditions.SecurityViolation"
    message = "Cannot read ome.model.containers.Dataset:Id_204"
        at ome.formats.OMEROMetadataStoreClient.getTarget(OMEROMetadataStoreClient.java:2197)
        at ome.formats.importer.ImportLibrary.importCandidates(ImportLibrary.java:278)
        at ome.formats.importer.cli.CommandLineImporter.start(CommandLineImporter.java:141)
        at ome.formats.importer.cli.CommandLineImporter.main(CommandLineImporter.java:395)
Caused by: omero.SecurityViolation
    serverStackTrace = "ome.conditions.SecurityViolation: Cannot read ome.model.containers.Dataset:Id_204
                                at ome.security.basic.BasicACLVoter.throwLoadViolation(BasicACLVoter.java:112)
                                at ome.security.CompositeACLVoter.throwLoadViolation(CompositeACLVoter.java:86)
                                at ome.security.ACLEventListener.onPostLoad(ACLEventListener.java:104)
                                at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:250)
                                at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:898)
                                at org.hibernate.loader.Loader.doQuery(Loader.java:773)
                                at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:270)
                                at org.hibernate.loader.Loader.loadEntity(Loader.java:1953)
                                at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:86)
                                at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:76)
                                at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3270)
                                at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:496)
                                at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:477)
                                at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:227)
                                at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:147)
                                at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:1082)
                                at org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:1020)
                                at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:176)
                                at org.hibernate.Hibernate.initialize(Hibernate.java:428)
                                at ome.logic.QueryImpl$1.doInHibernate(QueryImpl.java:174)
                                at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:406)
                                at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:339)
                                at ome.logic.QueryImpl.get(QueryImpl.java:157)
                                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                                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.security.basic.EventHandler.invoke(EventHandler.java:150)
                                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:231)
                                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 $Proxy76.get(Unknown Source)
                                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                                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.security.basic.BasicSecurityWiring.invoke(BasicSecurityWiring.java:83)
                                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
                                at ome.services.blitz.fire.AopContextInitializer.invoke(AopContextInitializer.java:43)
                                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
                                at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
                                at $Proxy76.get(Unknown Source)
                                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                                at java.lang.reflect.Method.invoke(Method.java:597)
                                at ome.services.blitz.util.IceMethodInvoker.invoke(IceMethodInvoker.java:179)
                                at ome.services.throttling.Callback.run(Callback.java:56)
                                at ome.services.throttling.InThreadThrottlingStrategy.callInvokerOnRawArgs(InThreadThrottlingStrategy.java:56)
                                at ome.services.blitz.impl.AbstractAmdServant.callInvokerOnRawArgs(AbstractAmdServant.java:137)
                                at ome.services.blitz.impl.QueryI.get_async(QueryI.java:110)
                                at omero.api._IQueryTie.get_async(_IQueryTie.java:127)
                                at omero.api._IQueryDisp.___get(_IQueryDisp.java:170)
                                at omero.api._IQueryDisp.__dispatch(_IQueryDisp.java:516)
                                at IceInternal.Incoming.invoke(Incoming.java:159)
                                at Ice.ConnectionI.invokeAll(ConnectionI.java:2037)
                                at Ice.ConnectionI.message(ConnectionI.java:972)
                                at IceInternal.ThreadPool.run(ThreadPool.java:577)
                                at IceInternal.ThreadPool.access$100(ThreadPool.java:12)
                                at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:971)
                        "
    serverExceptionClass = "ome.conditions.SecurityViolation"
    message = "Cannot read ome.model.containers.Dataset:Id_204"
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at java.lang.Class.newInstance0(Class.java:355)
        at java.lang.Class.newInstance(Class.java:308)
        at IceInternal.BasicStream$DynamicUserExceptionFactory.createAndThrow(BasicStream.java:2243)
        at IceInternal.BasicStream.throwException(BasicStream.java:1632)
        at IceInternal.Outgoing.throwUserException(Outgoing.java:442)
        at omero.api._IQueryDelM.get(_IQueryDelM.java:547)
        at omero.api.IQueryPrxHelper.get(IQueryPrxHelper.java:660)
        at omero.api.IQueryPrxHelper.get(IQueryPrxHelper.java:632)
        at ome.formats.OMEROMetadataStoreClient.getTarget(OMEROMetadataStoreClient.java:2193)
        ... 3 more


[/code]

And when you try to delete images when you are owner

EDIT:- nevermind about the import issue, I was trying to import when the session was still based on the previous user. But the first issue I still can't replicate
Manz
 
Posts: 72
Joined: Wed Jun 29, 2011 11:48 pm

Re: Chgrp cli options

Postby jmoore » Wed Jan 18, 2012 8:15 am

Manz wrote:Hey, I found some weirdness. If the image is in Orphan and you move it to another group, it remains in Orphan but also appears in the orphan of the group you transfer it to. But if its in a dataset (haven't tested in anything else yet) then the image disappears from dataset and appears in the orphan of the group its meant to be in.

NB:- I should elaborate on this one. I just discovered that if it is in a dataset and you chgrp it, in appears in the orphan images in both the group you are moving it to and the group it has come from. This occurred when I tried using a layered image.


In the above, you mean you are modifying in the cli and then checking that it's location in OMERO.web? But you retried this process, so I don't need to worry about any of this, just that which follows, right? (Also, what's a layered image?)


Manz wrote:Ok so we narrowed it down to a previous bug

http://www.openmicroscopy.org/community ... ?f=6&t=903



Ah, good to know. I added a request for DEBUG output there. I'll also bring this up with the web team.

So if you are owner of a group and not a sysadmin, there is some serious weirdness.... one of which means you can't delete your own images. If you aren't an owner or if you are an owner AND a sysadmin, you work fine.

I tried to replicate this error in the previous version of omero (4.3 not chgrp branch)(changed myself to a non-sysadmin who owned groups) and had no problems deleting or importing (import was done through dropbox this time). But I know at some stage this error did come up as we posted it on the forums. I think last time we recreated new groups and the errors stopped. I will attempt to replicate this error or work out why sometimes it comes up and sometimes not. Would you guys have any idea?


Can you not delete your images after chgrp or ever? Off-hand I don't have an idea. Logs and stack traces would be really helpful.

Manz wrote:It isn't possible to import into a dataset either if you are owner but not admin. You get the following error:-

Code: Select all
bin/omero import -d 204 /tmp/lease.png
[code]Using session df452a79-320c-498f-868d-79e604c27382 (user1@localhost:4064). Idle timeout: 10.0 min. Current group: group1_private
...
java.lang.RuntimeException: omero.SecurityViolation
    serverStackTrace = "ome.conditions.SecurityViolation: Cannot read ome.model.containers.Dataset:Id_204


And when you try to delete images when you are owner

EDIT:- nevermind about the import issue, I was trying to import when the session was still based on the previous user. But the first issue I still can't replicate


Right. If the dataset is in another group, it's not expected that you can import into it, though if no specific group is requested perhaps we could automatically login to the other group. Keep an eye on https://trac.openmicroscopy.org.uk/ome/ticket/7814 on how we can best fix that.

Cheers,
~Josh
User avatar
jmoore
Site Admin
 
Posts: 1591
Joined: Fri May 22, 2009 1:29 pm
Location: Germany

Re: Chgrp cli options

Postby Manz » Wed Jan 18, 2012 10:32 pm

I tried replicating the error today and couldn't. I will send you the log files via email due to size constraints. All errors occured yesterday (18-01-2012).



Can you not delete your images after chgrp or ever? Off-hand I don't have an idea. Logs and stack traces would be really helpful.


Couldn't ever. Not even as root. I can move them but that's it.

In the above, you mean you are modifying in the cli and then checking that it's location in OMERO.web? But you retried this process, so I don't need to worry about any of this, just that which follows, right? (Also, what's a layered image?)


Yes.

A layered image is one you import as a single image but omero splits it up ( like a z-stack). I can email you an example if you like. They are usually labelled [layer1], [layer2 ], [Merged] etc.

We did a full reboot (bin/omero web stop; bin/omero admin restart; bin/omero web start)
Manz
 
Posts: 72
Joined: Wed Jun 29, 2011 11:48 pm

Re: Chgrp cli options

Postby jmoore » Thu Jan 19, 2012 12:18 pm

Manz wrote:I tried replicating the error today and couldn't. I will send you the log files via email due to size constraints. All errors occured yesterday (18-01-2012).

Can you not delete your images after chgrp or ever? Off-hand I don't have an idea. Logs and stack traces would be really helpful.


Couldn't ever. Not even as root. I can move them but that's it.


Hmmm... Ok. Looking at the logs there are a couple of things. In the web log there is a session error (#7824) as well as the more critical can't delete issue (#7825). I'll look into fixing 7825 this morning, which you've only seen on my branch, right? (See update on the ticket).

The web log may or may not be related to your issues; be sure to let us know if you keep seeing it.

Cheers,
~Josh.
User avatar
jmoore
Site Admin
 
Posts: 1591
Joined: Fri May 22, 2009 1:29 pm
Location: Germany

Re: Chgrp cli options

Postby Manz » Thu Jan 19, 2012 10:11 pm

We have seen this once before in the normal server download as per

viewtopic.php?f=6&t=903

but something we did to it last time seem to fix it and we couldn't reproduce the error. And again, this time I turned on and off sysadmin to that user, turned on and off ownership, rebooted the admin part of the server and it has seemed to dissapear. That was back when we were working on version 4.3 of server OMERO.

I will do some greps today and see if that same error on https://trac.openmicroscopy.org.uk/ome/ ... #comment:1
comes up

EDIT:- grep is only showing the ImportError shown on the ticket on 18-01-2012 (The day the error occured) and not since.
Manz
 
Posts: 72
Joined: Wed Jun 29, 2011 11:48 pm

Next

Return to Developer Discussion

Who is online

Users browsing this forum: No registered users and 1 guest

cron