X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/1af0915450b8ae9f977d699da35b0ced2244bb7a..e6f2c5ddcd8b8faba1f27cd9890fe8f24e6b72c8:/services/api/app/controllers/arvados/v1/containers_controller.rb diff --git a/services/api/app/controllers/arvados/v1/containers_controller.rb b/services/api/app/controllers/arvados/v1/containers_controller.rb index 98b987639b..b2324a5712 100644 --- a/services/api/app/controllers/arvados/v1/containers_controller.rb +++ b/services/api/app/controllers/arvados/v1/containers_controller.rb @@ -10,8 +10,8 @@ class Arvados::V1::ContainersController < ApplicationController accept_attribute_as_json :command, Array accept_attribute_as_json :scheduling_parameters, Hash - skip_before_filter :find_object_by_uuid, only: [:current] - skip_before_filter :render_404_if_no_object, only: [:current] + skip_before_action :find_object_by_uuid, only: [:current] + skip_before_action :render_404_if_no_object, only: [:current] def auth if @object.locked_by_uuid != Thread.current[:api_client_authorization].uuid @@ -29,8 +29,7 @@ class Arvados::V1::ContainersController < ApplicationController end def update - @object.with_lock do - @object.reload + @object.reload.with_lock do super end end @@ -39,7 +38,7 @@ class Arvados::V1::ContainersController < ApplicationController super if action_name == 'lock' || action_name == 'unlock' # Avoid loading more fields than we need - @objects = @objects.select(:id, :uuid, :state, :priority, :auth_uuid, :locked_by_uuid) + @objects = @objects.select(:id, :uuid, :state, :priority, :auth_uuid, :locked_by_uuid, :lock_count) @select = %w(uuid state priority auth_uuid locked_by_uuid) end end @@ -58,11 +57,10 @@ class Arvados::V1::ContainersController < ApplicationController if Thread.current[:api_client_authorization].nil? send_error("Not logged in", status: 401) else - c = Container.for_current_token - if c.nil? or c.first.nil? + @object = Container.for_current_token + if @object.nil? send_error("Token is not associated with a container.", status: 404) else - @object = c.first show end end