diff --git a/tapeserver/daemon/DriveHandler.cpp b/tapeserver/daemon/DriveHandler.cpp index 23550db835aa356124468cfdf9d010b3ec6b2138..0bc13a9f3b2dde6d5cc29c6dfc8aa566e884f002 100644 --- a/tapeserver/daemon/DriveHandler.cpp +++ b/tapeserver/daemon/DriveHandler.cpp @@ -73,8 +73,10 @@ const std::map<SessionState, DriveHandler::Timeout> DriveHandler::m_stateChangeT {SessionState::Unmounting, std::chrono::duration_cast<Timeout>(std::chrono::minutes(10))}, // Draining to disk is given a grace period of 30 minutes for changing state. {SessionState::DrainingToDisk, std::chrono::duration_cast<Timeout>(std::chrono::minutes(30))}, - // We expect the process to exit within 5 seconds of getting in this state. - {SessionState::ShuttingDown, std::chrono::duration_cast<Timeout>(std::chrono::seconds(5))} + // We expect the process to exit within 5 minutes of getting in this state. This state + // potentially covers the draining of metadata to central storage (if not faster that + // unmounting the tape). + {SessionState::ShuttingDown, std::chrono::duration_cast<Timeout>(std::chrono::minutes(5))} }; //------------------------------------------------------------------------------ @@ -292,7 +294,7 @@ SubprocessHandler::ProcessingStatus DriveHandler::processEvent() { // We expect to be woken up by the child's signal. cta::log::ScopedParamContainer params(m_processManager.logContext()); params.add("Message", ex.getMessageValue()); - m_processManager.logContext().log(log::ERR, + m_processManager.logContext().log(log::DEBUG, "In DriveHandler::processEvent(): Got a peer disconnect: closing socket and waiting for SIGCHILD"); return m_processingStatus; } catch(cta::exception::Exception & ex) { diff --git a/tests/helgrind.suppr b/tests/helgrind.suppr index f8acc4b9529548f59c763e3a51a38b8f5d21d439..85fde3281a39d7c79311fd59f126c0b8edfad842 100644 --- a/tests/helgrind.suppr +++ b/tests/helgrind.suppr @@ -298,10 +298,61 @@ } { - Locks taken from 2 objects + destruction_of_stack_object_probably_safe Helgrind:Race ... fun:_ZNSt7promiseIvED1Ev + fun:_ZN3cta11objectstore14AgentReference6ActionD1Ev + fun:_ZN3cta11objectstore14AgentReference14addToOwnershipERKSsRNS0_7BackendE + fun:_ZN3cta8OStoreDB12ArchiveMount10getNextJobERNS_3log10LogContextE + ... +} + +{ + helgrind_reports_q_mutex_while_we_hold_m_currentQueueMutex_as_well_in_add + Helgrind:Race + ... + fun:_ZNKSt14default_deleteISt7promiseIvEEclEPS1_ + fun:_ZNSt10unique_ptrISt7promiseIvESt14default_deleteIS1_EED1Ev + fun:_ZN3cta11objectstore14AgentReference21queueAndExecuteActionERNS1_6ActionERNS0_7BackendE + fun:_ZN3cta11objectstore14AgentReference19removeFromOwnershipERKSsRNS0_7BackendE + ... +} + +{ + helgrind_reports_q_mutex_while_we_hold_m_currentQueueMutex_as_well_in_remove + Helgrind:Race + ... fun:_ZNKSt14default_deleteISt7promiseIvEEclEPS1_ fun:_ZNSt10unique_ptrISt7promiseIvESt14default_deleteIS1_EED1Ev fun:_ZN3cta11objectstore14AgentReference21queueAndExecuteActionERNS1_6ActionERNS0_7BackendE + fun:_ZN3cta11objectstore14AgentReference14addToOwnershipERKSsRNS0_7BackendE + ... +} + +{ + helgrind_reports_stack_allocated_objects_constructor_in_race + Helgrind:Race + ... + fun:_ZNSt7promiseIvED1Ev + fun:_ZN3cta11objectstore14AgentReference6ActionD1Ev + fun:_ZN3cta11objectstore14AgentReference19removeFromOwnershipERKSsRNS0_7BackendE + ... +} + +{ + shared_pointer_destructor + Helgrind:Race + fun:my_memcmp + fun:pthread_cond_destroy_WRK + fun:pthread_cond_destroy@* + fun:_ZNSt13__future_base11_State_baseD1Ev + fun:_ZN9__gnu_cxx13new_allocatorINSt13__future_base11_State_baseEE7destroyIS2_EEvPT_ + fun:_ZNSt16allocator_traitsISaINSt13__future_base11_State_baseEEE10_S_destroyIS1_EENSt9enable_ifIXsrNS3_16__destroy_helperIT_EE5valueEvE4typeERS2_PS7_ + fun:_ZNSt16allocator_traitsISaINSt13__future_base11_State_baseEEE7destroyIS1_EEvRS2_PT_ + fun:_ZNSt23_Sp_counted_ptr_inplaceINSt13__future_base11_State_baseESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv + fun:_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv + fun:_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EED1Ev + fun:_ZNSt12__shared_ptrINSt13__future_base11_State_baseELN9__gnu_cxx12_Lock_policyE2EED1Ev + fun:_ZNSt10shared_ptrINSt13__future_base11_State_baseEED1Ev +} \ No newline at end of file