Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
dCache
cta
Commits
6267d786
Commit
6267d786
authored
Jun 25, 2015
by
Eric Cano
Browse files
CASTOR-5071: tapeserverd does not report the session as failed when failing to mount for recall.
parent
05523cda
Changes
4
Hide whitespace changes
Inline
Side-by-side
castor/tape/tapeserver/daemon/DataTransferSessionTest.cpp
View file @
6267d786
...
...
@@ -411,8 +411,8 @@ TEST(tapeServer, DataTransferSessionFailtoMount) {
std
::
string
temp
=
logger
.
getLog
();
temp
+=
""
;
ASSERT_EQ
(
"V12345"
,
sess
.
getVid
());
//
Currently, failures are reported by
fil
es and recall sessions do not fail.
ASSERT_EQ
(
0
,
sim
.
m_sessionErrorCode
);
//
The session is now
f
a
il
ing (internal error is reported)
ASSERT_EQ
(
1015
,
sim
.
m_sessionErrorCode
);
}
TEST
(
tapeServer
,
DataTransferSessionEmptyOnVolReq
)
{
...
...
castor/tape/tapeserver/daemon/RecallReportPacker.cpp
View file @
6267d786
...
...
@@ -152,7 +152,7 @@ void RecallReportPacker::flush(){
//------------------------------------------------------------------------------
void
RecallReportPacker
::
ReportEndofSession
::
execute
(
RecallReportPacker
&
parent
){
client
::
ClientInterface
::
RequestReport
chrono
;
if
(
!
parent
.
m_
errorHappened
){
if
(
!
parent
.
errorHappened
()
){
parent
.
m_client
.
reportEndOfSession
(
chrono
);
parent
.
logRequestReport
(
chrono
,
"Nominal RecallReportPacker::EndofSession has been reported"
,
LOG_INFO
);
if
(
parent
.
m_watchdog
)
{
...
...
@@ -307,4 +307,12 @@ void RecallReportPacker::WorkerThread::run(){
//When we end up there, we might have still
}
//------------------------------------------------------------------------------
//errorHappened()
//------------------------------------------------------------------------------
bool
RecallReportPacker
::
errorHappened
()
{
return
m_errorHappened
||
(
m_watchdog
&&
m_watchdog
->
errorHappened
());
}
}}}}
castor/tape/tapeserver/daemon/RecallReportPacker.hpp
View file @
6267d786
...
...
@@ -87,6 +87,11 @@ public:
*/
void
waitThread
()
{
m_workerThread
.
wait
();
}
/**
* Was there an error?
*/
bool
errorHappened
();
private:
//inner classes use to store content while receiving a report
class
Report
{
...
...
castor/tape/tapeserver/daemon/TaskWatchDog.hpp
View file @
6267d786
...
...
@@ -133,7 +133,7 @@ protected:
castor
::
server
::
BlockingQueue
<
castor
::
log
::
Param
>
m_paramsQueue
;
/**
*
*
Map of all error counts
*/
std
::
map
<
std
::
string
,
uint32_t
>
m_errorCounts
;
...
...
@@ -343,6 +343,14 @@ protected:
addParameter
(
log
::
Param
(
errorName
,
value
));
}
/**
* Test whether an error happened
*/
bool
errorHappened
()
{
castor
::
server
::
MutexLocker
locker
(
&
m_mutex
);
return
m_errorCounts
.
size
();
}
/**
* Start the thread
*/
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment