<html>
<head>
<base href="http://www.jacorb.org/bugzilla/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - Request for non_existent() call on a dead object to not generate an error level log message"
href="http://www.jacorb.org/bugzilla/show_bug.cgi?id=978">978</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>Request for non_existent() call on a dead object to not generate an error level log message
</td>
</tr>
<tr>
<th>Product</th>
<td>JacORB
</td>
</tr>
<tr>
<th>Version</th>
<td>3.4
</td>
</tr>
<tr>
<th>Hardware</th>
<td>All
</td>
</tr>
<tr>
<th>OS</th>
<td>All
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>enhancement
</td>
</tr>
<tr>
<th>Priority</th>
<td>P5
</td>
</tr>
<tr>
<th>Component</th>
<td>ORB
</td>
</tr>
<tr>
<th>Assignee</th>
<td>jacorb-bugs@lists.spline.inf.fu-berlin.de
</td>
</tr>
<tr>
<th>Reporter</th>
<td>rhash@tibco.com
</td>
</tr></table>
<p>
<div>
<pre>Note: entering this to capture email discussion with Nick.
Currently in 3.4 calling non_existent() on a dead object generates an error
level log message with a stack trace. Very old versions of JacORB (e.g. 2.3.1)
just silently threw the exception and let the caller deal with it).
This is happening in the orb.Delegate, servant_preinvoke(), which throws a
OBJECT_NOT_EXIST, but the outer catch{} block is calling
logger.error("unexpected exception during servant_preinvoke", e);
before it re-throws the exception.
Basically we think that a OBJ_NOT_EXISTS on a non_existent should just silently
return 'false' (without error level logging).
Suggestion from Nick:
########################
So we would have
public ServantObject servant_preinvoke( org.omg.CORBA.Object self,
String operation,
@SuppressWarnings("rawtypes") Class expectedType ) and
/**
* Only called by servant_preinvoke. Special case method used by non_existent
to disable logging for object not exist
*/
private ServantObject servant_preinvoke( org.omg.CORBA.Object self,
String operation,
@SuppressWarnings("rawtypes") Class expectedType,
boolean logObjectNotExist )
The test case could do something similar to org.jacorb.test.util.JDKLoggerTest
where it checks the file contents for the log file. And the actual test could
reuse orb.NonExistentLocalTest.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>