curationexperts / alexandria-legacy

Alexandria Digital Research Library - http://alexandria.ucsb.edu
Other
6 stars 1 forks source link

Can't ingest cylinders on test server #626

Closed jcoyne closed 8 years ago

jcoyne commented 8 years ago

Error in the resque log

    job_class: IngestFileJob
    job_id: 73c6753a-ee62-4a90-8c5c-1abbaedc12fe
    queue_name: ingest
    arguments:
    - 9p290934t
    - "/opt/alexandria-v2/releases/20160226201426/tmp/uploads/9p/29/09/34/cusb-cyl3007a.wav"
    - 
    - batchuser
    - original_file
    locale: en

Exception
    Ldp::Conflict
Error
    The repository type (http://fedora.info/definitions/v4/repository#Container) of this resource is system managed.

    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/ldp-0.4.1/lib/ldp/client/methods.rb:121:in `block in check_for_errors'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/ldp-0.4.1/lib/ldp/client/methods.rb:119:in `tap'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/ldp-0.4.1/lib/ldp/client/methods.rb:119:in `check_for_errors'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/ldp-0.4.1/lib/ldp/client/methods.rb:98:in `block in put'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/activesupport-4.2.5.1/lib/active_support/notifications.rb:166:in `instrument'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/ldp-0.4.1/lib/ldp/client/methods.rb:90:in `put'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/active-fedora-9.9.0/lib/active_fedora/caching_connection.rb:24:in `put'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/ldp-0.4.1/lib/ldp/resource.rb:72:in `create'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/ldp-0.4.1/lib/ldp/resource/rdf_source.rb:21:in `create'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/active-fedora-9.9.0/lib/active_fedora/persistence.rb:149:in `create_record'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/active-fedora-9.9.0/lib/active_fedora/indexing.rb:53:in `create_record'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/active-fedora-9.9.0/lib/active_fedora/callbacks.rb:237:in `block (2 levels) in create_record'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:117:in `call'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:555:in `block (2 levels) in compile'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:505:in `call'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:92:in `__run_callbacks__'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:778:in `_run_save_callbacks'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:81:in `run_callbacks'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/active-fedora-9.9.0/lib/active_fedora/callbacks.rb:237:in `block in create_record'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:88:in `__run_callbacks__'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:778:in `_run_create_callbacks'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:81:in `run_callbacks'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/active-fedora-9.9.0/lib/active_fedora/callbacks.rb:236:in `create_record'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/active-fedora-9.9.0/lib/active_fedora/persistence.rb:141:in `create_or_update'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/active-fedora-9.9.0/lib/active_fedora/persistence.rb:31:in `save!'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/active-fedora-9.9.0/lib/active_fedora/validations.rb:56:in `save!'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/active-fedora-9.9.0/lib/active_fedora/associations/directly_contains_association.rb:5:in `insert_record'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/active-fedora-9.9.0/lib/active_fedora/autosave_association.rb:279:in `block in save_collection_association'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/active-fedora-9.9.0/lib/active_fedora/autosave_association.rb:268:in `each'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/active-fedora-9.9.0/lib/active_fedora/autosave_association.rb:268:in `save_collection_association'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/active-fedora-9.9.0/lib/active_fedora/autosave_association.rb:139:in `block in add_autosave_association_callbacks'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/active-fedora-9.9.0/lib/active_fedora/autosave_association.rb:109:in `instance_eval'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/active-fedora-9.9.0/lib/active_fedora/autosave_association.rb:109:in `block in define_non_cyclic_method'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:432:in `block in make_lambda'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:228:in `block in halting_and_conditional'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:506:in `block in call'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:506:in `each'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:506:in `call'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:92:in `__run_callbacks__'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:778:in `_run_update_callbacks'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/activesupport-4.2.5.1/lib/active_support/callbacks.rb:81:in `run_callbacks'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/active-fedora-9.9.0/lib/active_fedora/callbacks.rb:242:in `update_record'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/active-fedora-9.9.0/lib/active_fedora/persistence.rb:141:in `create_or_update'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/active-fedora-9.9.0/lib/active_fedora/persistence.rb:27:in `save'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/active-fedora-9.9.0/lib/active_fedora/validations.rb:50:in `save'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/hydra-works-0.7.1/lib/hydra/works/services/add_file_to_file_set.rb:43:in `persist'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/hydra-works-0.7.1/lib/hydra/works/services/add_file_to_file_set.rb:35:in `update'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/gems/hydra-works-0.7.1/lib/hydra/works/services/add_file_to_file_set.rb:19:in `call'
    /opt/alexandria-v2/shared/bundle/ruby/2.3.0/bundler/gems/curation_concerns-ee0e6c793fee/curation_concerns-models/app/jobs/ingest_file_job.rb:22:in `perform'
jcoyne commented 8 years ago

Testing with:

file_set = FileSet.find('9p290934t')
filename =  "/opt/alexandria-v2/releases/20160226201426/tmp/uploads/9p/29/09/34/cusb-cyl3007a.wav"
file = File.open(filename, "rb")
Hydra::Works::AddFileToFileSet.call(file_set, file, :original_file, versioning: false)
jcoyne commented 8 years ago

I suspect this is two processes trying to create the files container at the same time. Let's limit the ingest queue to a single worker to pevent this.

acozine commented 8 years ago

Needs an override to the resque-pool.yml that assigns only a single worker for the ingest process.

production:
  ingest: 1
  "characterize,derivatives": 2