Skip to content

Commit

Permalink
cell: Log exceptions within the correct cell context
Browse files Browse the repository at this point in the history
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
  • Loading branch information
gbehrmann committed Oct 16, 2014
1 parent b995c0b commit 4f0e42a
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 26 deletions.
10 changes: 6 additions & 4 deletions modules/cells/src/main/java/dmg/cells/nucleus/CellNucleus.java
Expand Up @@ -938,10 +938,12 @@ private abstract class AbstractNucleusTask implements Runnable
public void run ()
{
try (CDC ignored = CDC.reset(CellNucleus.this)) {
innerRun();
} catch (Throwable e) {
Thread t = Thread.currentThread();
t.getUncaughtExceptionHandler().uncaughtException(t, e);
try {
innerRun();
} catch (Throwable e) {
Thread t = Thread.currentThread();
t.getUncaughtExceptionHandler().uncaughtException(t, e);
}
}
}
}
Expand Down
48 changes: 26 additions & 22 deletions modules/dcache-jms/src/main/java/org/dcache/cells/JMSTunnel.java
Expand Up @@ -577,16 +577,18 @@ synchronized public void resolve(String cell, CellMessage envelope)
synchronized public void onMessage(Message message)
{
try (CDC ignored = CDC.reset(_nucleus)) {
TextMessage textMessage = (TextMessage) message;
String cell = textMessage.getJMSCorrelationID();
String domain = textMessage.getText();
addToCache(cell, domain);
} catch (ClassCastException e) {
_log.error("Received unexpected reply to CNS request: {}",
message);
} catch (JMSException e) {
_log.error("Error while resolving well known cell: {}",
e.getMessage());
try {
TextMessage textMessage = (TextMessage) message;
String cell = textMessage.getJMSCorrelationID();
String domain = textMessage.getText();
addToCache(cell, domain);
} catch (ClassCastException e) {
_log.error("Received unexpected reply to CNS request: {}",
message);
} catch (JMSException e) {
_log.error("Error while resolving well known cell: {}",
e.getMessage());
}
}
}

Expand Down Expand Up @@ -697,20 +699,22 @@ synchronized public Collection<String> getConsumers()
synchronized public void onMessage(Message message)
{
try (CDC ignored = CDC.reset(_nucleus)) {
ObjectMessage objectMessage = (ObjectMessage) message;
Object object = objectMessage.getObject();
CellMessage envelope = (CellMessage) object;
try {
sendMessage(envelope);
_counter++;
} catch (NoRouteToCellException e) {
returnToSender(envelope, e);
ObjectMessage objectMessage = (ObjectMessage) message;
Object object = objectMessage.getObject();
CellMessage envelope = (CellMessage) object;
try {
sendMessage(envelope);
_counter++;
} catch (NoRouteToCellException e) {
returnToSender(envelope, e);
}
} catch (ClassCastException e) {
_log.warn("Dropping unknown message: {}", message);
} catch (JMSException e) {
_log.error("Failed to retrieve object from JMS message: {}",
e.getMessage());
}
} catch (ClassCastException e) {
_log.warn("Dropping unknown message: {}", message);
} catch (JMSException e) {
_log.error("Failed to retrieve object from JMS message: {}",
e.getMessage());
}
}

Expand Down

0 comments on commit 4f0e42a

Please sign in to comment.