Hi Björn,

I believe the problem is most likely this bug:


If you symlink /usr/local/galaxy/galaxy-dist/database/tmp to somewhere writeable (e.g. what you have new_files_path set to), that'd confirm it.

I'm going to take a look at fixing this today.


On Thu, Jun 12, 2014 at 8:43 AM, bjoern.gruening@googlemail.com <bjoern.gruening@gmail.com> wrote:

I have configured to use the hierarchical object store but as soon as I try to reset the filetpye of a dataset Galaxy is crashing with:

galaxy.objectstore DEBUG 2014-06-12 14:39:21,180 Using preferred backend 'files3' for creation of MetadataFile 5963 - - [12/Jun/2014:14:39:20 +0200] "POST /datasets/966f24627ef70c12/edit HTTP/1.1" 500 - "http://galaxy.uni-freiburg.de/datasets/966f24627ef70c12/edit" "Mozilla/5.0 (X11; Linux x86_64; rv:29.0) Gecko/20100101 Fire
Error - <type 'exceptions.OSError'>: [Errno 2] No such file or directory: 'database/tmp/metadata_temp_file_1xnGcE'
URL: http://galaxy.uni-freiburg.de/datasets/966f24627ef70c12/edit
File '/usr/local/galaxy/galaxy-dist/lib/galaxy/web/framework/middleware/error.py', line 149 in __call__
  app_iter = self.application(environ, sr_checker)
File '/usr/local/galaxy/galaxy-dist/eggs/Paste-', line 84 in __call__
  return self.application(environ, start_response)
File '/usr/local/galaxy/galaxy-dist/eggs/Paste-', line 633 in __call__
  return self.application(environ, start_response)
File '/usr/local/galaxy/galaxy-dist/lib/galaxy/web/framework/base.py', line 132 in __call__
  return self.handle_request( environ, start_response )
File '/usr/local/galaxy/galaxy-dist/lib/galaxy/web/framework/base.py', line 190 in handle_request
  body = method( trans, **kwargs )
File '/usr/local/galaxy/galaxy-dist/lib/galaxy/webapps/galaxy/controllers/dataset.py', line 295 in edit
  trans.app.datatypes_registry.set_external_metadata_tool.tool_action.execute( trans.app.datatypes_registry.set_external_metadata_tool, trans, incoming = { 'input1':data }, overwrite = False ) #overwrite is False as per existi
ng behavior
File '/usr/local/galaxy/galaxy-dist/lib/galaxy/tools/actions/metadata.py', line 18 in execute
  overwrite, history, job_params )
File '/usr/local/galaxy/galaxy-dist/lib/galaxy/tools/actions/metadata.py', line 79 in execute_via_app
  kwds = { 'overwrite' : overwrite } )
File '/usr/local/galaxy/galaxy-dist/lib/galaxy/datatypes/metadata.py', line 717 in setup_external_metadata
  shutil.copy( dataset.metadata.get( meta_key, None ).file_name, metadata_temp.file_name )
File '/usr/local/galaxy/galaxy-dist/lib/galaxy/datatypes/metadata.py', line 575 in file_name
  self._filename = abspath( tempfile.NamedTemporaryFile( dir = self.tmp_dir, prefix = "metadata_temp_file_" ).name )
File '/usr/local/python/2.7/lib/python2.7/tempfile.py', line 454 in NamedTemporaryFile
  (fd, name) = _mkstemp_inner(dir, prefix, suffix, flags)
File '/usr/local/python/2.7/lib/python2.7/tempfile.py', line 235 in _mkstemp_inner
  fd = _os.open(file, flags, 0600)
OSError: [Errno 2] No such file or directory: 'database/tmp/metadata_temp_file_1xnGcE'

I have attached my object_store_conf.xml file.