Skip to content

Commit db82e73

Browse files
committed
cell: Log exceptions within the correct cell context
Target: trunk Request: 2.10 Request: 2.9 Request: 2.8 Request: 2.7 Request: 2.6 Require-notes: yes Require-book: no Acked-by: Paul Millar <paul.millar@desy.de> Patch: https://rb.dcache.org/r/7363/ (cherry picked from commit 272bfe8) Conflicts: modules/cells/src/main/java/dmg/cells/nucleus/CellNucleus.java (cherry picked from commit 477cb5a) Conflicts: modules/dcache-jms/src/main/java/org/dcache/cells/JMSTunnel.java (cherry picked from commit 4f0e42a)
1 parent 0a811c4 commit db82e73

File tree

2 files changed

+32
-26
lines changed

2 files changed

+32
-26
lines changed

modules/cells/src/main/java/dmg/cells/nucleus/CellNucleus.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -938,10 +938,12 @@ private abstract class AbstractNucleusTask implements Runnable
938938
public void run ()
939939
{
940940
try (CDC ignored = CDC.reset(CellNucleus.this)) {
941-
innerRun();
942-
} catch (Throwable e) {
943-
Thread t = Thread.currentThread();
944-
t.getUncaughtExceptionHandler().uncaughtException(t, e);
941+
try {
942+
innerRun();
943+
} catch (Throwable e) {
944+
Thread t = Thread.currentThread();
945+
t.getUncaughtExceptionHandler().uncaughtException(t, e);
946+
}
945947
}
946948
}
947949
}

modules/dcache-jms/src/main/java/org/dcache/cells/JMSTunnel.java

Lines changed: 26 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -577,16 +577,18 @@ synchronized public void resolve(String cell, CellMessage envelope)
577577
synchronized public void onMessage(Message message)
578578
{
579579
try (CDC ignored = CDC.reset(_nucleus)) {
580-
TextMessage textMessage = (TextMessage) message;
581-
String cell = textMessage.getJMSCorrelationID();
582-
String domain = textMessage.getText();
583-
addToCache(cell, domain);
584-
} catch (ClassCastException e) {
585-
_log.error("Received unexpected reply to CNS request: {}",
586-
message);
587-
} catch (JMSException e) {
588-
_log.error("Error while resolving well known cell: {}",
589-
e.getMessage());
580+
try {
581+
TextMessage textMessage = (TextMessage) message;
582+
String cell = textMessage.getJMSCorrelationID();
583+
String domain = textMessage.getText();
584+
addToCache(cell, domain);
585+
} catch (ClassCastException e) {
586+
_log.error("Received unexpected reply to CNS request: {}",
587+
message);
588+
} catch (JMSException e) {
589+
_log.error("Error while resolving well known cell: {}",
590+
e.getMessage());
591+
}
590592
}
591593
}
592594

@@ -697,20 +699,22 @@ synchronized public Collection<String> getConsumers()
697699
synchronized public void onMessage(Message message)
698700
{
699701
try (CDC ignored = CDC.reset(_nucleus)) {
700-
ObjectMessage objectMessage = (ObjectMessage) message;
701-
Object object = objectMessage.getObject();
702-
CellMessage envelope = (CellMessage) object;
703702
try {
704-
sendMessage(envelope);
705-
_counter++;
706-
} catch (NoRouteToCellException e) {
707-
returnToSender(envelope, e);
703+
ObjectMessage objectMessage = (ObjectMessage) message;
704+
Object object = objectMessage.getObject();
705+
CellMessage envelope = (CellMessage) object;
706+
try {
707+
sendMessage(envelope);
708+
_counter++;
709+
} catch (NoRouteToCellException e) {
710+
returnToSender(envelope, e);
711+
}
712+
} catch (ClassCastException e) {
713+
_log.warn("Dropping unknown message: {}", message);
714+
} catch (JMSException e) {
715+
_log.error("Failed to retrieve object from JMS message: {}",
716+
e.getMessage());
708717
}
709-
} catch (ClassCastException e) {
710-
_log.warn("Dropping unknown message: {}", message);
711-
} catch (JMSException e) {
712-
_log.error("Failed to retrieve object from JMS message: {}",
713-
e.getMessage());
714718
}
715719
}
716720

0 commit comments

Comments
 (0)