@@ -311,16 +311,11 @@ def update_managed(service_instance)
311311 action = V3 ::ServiceInstanceUpdateManaged . new ( service_instance , message , user_audit_info , message . audit_hash )
312312 action . preflight!
313313 if action . update_broker_needed?
314-
315- plan_name = service_instance . service_plan . name
316- service_name = service_instance . service_plan . service . label
317- broker_name = service_instance . service_plan . service . service_broker . name
318-
319314 logger . info (
320315 "Updating managed service instance with name '#{ service_instance . name } ' " \
321- "using service plan '#{ plan_name } ' " \
322- "from service offering '#{ service_name } ' " \
323- "provided by broker '#{ broker_name } '."
316+ "using service plan '#{ service_instance . service_plan . name } ' " \
317+ "from service offering '#{ service_instance . service_plan . service . label } ' " \
318+ "provided by broker '#{ service_instance . service_plan . service . service_broker . name } '."
324319 )
325320
326321 update_job = action . enqueue_update
@@ -368,7 +363,10 @@ def build_create_message(params)
368363 end
369364
370365 def fetch_writable_service_instance ( guid )
371- service_instance = ServiceInstance . first ( guid :)
366+ service_instances = ManagedServiceInstance . eager_graph ( service_plan : { service : :service_broker } ) . where ( Sequel [ :service_instances ] [ :guid ] => guid ) . all
367+ service_instance = service_instances [ 0 ] unless service_instances . empty?
368+ service_instance = UserProvidedServiceInstance . first ( guid :) if service_instance . nil?
369+
372370 service_instance_not_found! unless service_instance && can_read_service_instance? ( service_instance )
373371 unauthorized! unless can_write_to_active_space? ( service_instance . space )
374372 suspended! unless is_space_active? ( service_instance . space )
@@ -379,26 +377,15 @@ def fetch_writable_service_instance(guid)
379377 def enqueue_delete_job ( service_instance )
380378 delete_job = V3 ::DeleteServiceInstanceJob . new ( service_instance . guid , user_audit_info )
381379
382- result = VCAP ::CloudController ::ServicePlan .
383- join ( :services , id : :service_id ) .
384- join ( :service_brokers , id : Sequel [ :services ] [ :service_broker_id ] ) .
385- where ( Sequel [ :service_plans ] [ :id ] => service_instance . service_plan_id ) .
386- select (
387- Sequel [ :service_plans ] [ :name ] . as ( :plan_name ) ,
388- Sequel [ :services ] [ :label ] . as ( :service_name ) ,
389- Sequel [ :service_brokers ] [ :name ] . as ( :broker_name )
390- ) .
391- first
392-
393- plan_name = result [ :plan_name ]
394- service_name = result [ :service_name ]
395- broker_name = result [ :broker_name ]
380+ plan = service_instance . service_plan
381+ service = plan . service
382+ broker = service . service_broker
396383
397384 logger . info (
398385 "Deleting managed service instance with name '#{ service_instance . name } ' " \
399- "using service plan '#{ plan_name } ' " \
400- "from service offering '#{ service_name } ' " \
401- "provided by broker '#{ broker_name } '."
386+ "using service plan '#{ plan . name } ' " \
387+ "from service offering '#{ service . label } ' " \
388+ "provided by broker '#{ broker . name } '."
402389 )
403390
404391 pollable_job = Jobs ::Enqueuer . new ( queue : Jobs ::Queues . generic ) . enqueue_pollable ( delete_job )
0 commit comments