# # Copyright (c) 2015 NetApp Inc. # All rights reserved. # ## @summary Provide an exception class that is a subclass of ## NATE::BaseException that will be thrown when the MCC queues do not ## drain within the specified timeout. ## ## @author dl-nacl-dev@netapp.com ## @status Shared ## @pod here =head1 NAME NACL::STask::Exceptions::MCCQueuesNotDrained =head1 DESCRIPTION This exception is thrown when the MCC queues do not drain within the specified timeout. =head3 EXAMPLE use NACL::STask::Exceptions::MCCQueuesNotDrained qw(:try); try { NACL::STask::StorageDisk->wait_for_mcc_queues_to_drain( command_interface => $Node, vserver => $vs_name, ); } catch NACL::STask::Exceptions::MCCQueuesNotDrained with { my $exception = shift; $Log->comment("Error: " . $exception->text()); # The exception also stores the CS objects with the details of the # queues not drained. Depending on which queues have not been drained, # these could be of type NACL::CS::DebugCrsQueuePending or # DebugCrsClusterQueue or DebugCrsQueue my @state_objs = $exception->state_objs(); # The time for which the method waited is also stored my $timeout = $exception->timeout(); }; =back =cut package NACL::STask::Exceptions::MCCQueuesNotDrained; use base qw( NATE::BaseException ); use Class::MethodMaker [ scalar => 'timeout', array => 'state_objs' ]; 1;