Quantcast

Problem with dataset_permissions and roles

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Problem with dataset_permissions and roles

Lemley, Rob
Hi all,

This may or may not be an actual problem, it's just something we ran into on our Galaxy instance in the past few days.

The symptom was that when a user clicked the "Edit attributes" button on an item in their history, they would get an "Internal server error" message. After that their history would completely disappear from the interface. Any attempts to reload it with the "Refresh history" button would result in an error. The only way to get it back was to restart Galaxy. The error from uwsgi.log is below.

After some digging in the database, I found that the "role_id" column on every entry in "dataset_permissions" had no value. Additionally, the two users who have datasets on the system had no private roles in the "roles" table.

I fixed the issue by creating new private roles for those users, then manually setting "role_id" in the "dataset_permissions" table.

Unfortunately my Postgres backups only go back a few days, so I can't tell if something happened to those tables somewhere along the line.

We're running the release_17.01 branch plus some customizations, nothing that affects those tables though.

Has anyone else seen anything like this?

Thanks,

-Rob

galaxy.web.framework.decorators ERROR 2017-02-17 10:32:36,574 Uncaught exception in exposed API method:
Traceback (most recent call last):
  File "/software/galaxy/app/galaxy/lib/galaxy/web/framework/decorators.py", line 295, in decorator
    rval = func( self, trans, *args, **kwargs )
  File "/software/galaxy/app/galaxy/lib/galaxy/webapps/galaxy/api/history_contents.py", line 72, in index
    return self.__index_v2( trans, history_id, **kwd )
  File "/software/galaxy/app/galaxy/lib/galaxy/webapps/galaxy/api/history_contents.py", line 582, in __index_v2
    user=trans.user, trans=trans, view='detailed', **serialization_params ) )
  File "/software/galaxy/app/galaxy/lib/galaxy/managers/base.py", line 719, in serialize_to_view
    return self.serialize( item, all_keys, **context )
  File "/software/galaxy/app/galaxy/lib/galaxy/managers/hdas.py", line 362, in serialize
    return super( HDASerializer, self ).serialize( hda, keys, user=user, **context )
  File "/software/galaxy/app/galaxy/lib/galaxy/managers/datasets.py", line 534, in serialize
    serialized = super( DatasetAssociationSerializer, self ).serialize( dataset_assoc, keys, **context )
  File "/software/galaxy/app/galaxy/lib/galaxy/managers/base.py", line 632, in serialize
    returned[ key ] = self.serializers[ key ]( item, key, **context )
  File "/software/galaxy/app/galaxy/lib/galaxy/managers/datasets.py", line 438, in <lambda>
    return lambda i, k, **c: serializer( i.dataset, key or k, **c )
  File "/software/galaxy/app/galaxy/lib/galaxy/managers/datasets.py", line 213, in serialize_permissions
    'manage' : [ self.app.security.encode_id( perm.role.id ) for perm in management_permissions ],
AttributeError: 'NoneType' object has no attribute 'id'

--
Rob Lemley
Systems Administrator - CIRC
University of Rochester


___________________________________________________________
Please keep all replies on the list by using "reply all"
in your mail client.  To manage your subscriptions to this
and other Galaxy lists, please use the interface at:
  https://lists.galaxyproject.org/

To search Galaxy mailing lists use the unified search at:
  http://galaxyproject.org/search/mailinglists/
Loading...