[teiid-issues] [JBoss JIRA] (TEIID-4454) Close session called with null session id
Steven Hawkins (JIRA)
issues at jboss.org
Wed Sep 21 09:20:00 EDT 2016
[ https://issues.jboss.org/browse/TEIID-4454?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13296418#comment-13296418 ]
Steven Hawkins commented on TEIID-4454:
---------------------------------------
> And this method will call closeSession without even checking if there is a session to logoff
Perhaps you are seeing something else. What you are describing does not match the code as the logoff method does check for a null session id:
{code}
if (workContext.getSession().isClosed() || workContext.getSessionId() == null) {
if (workContext.getSessionId() != null) {
this.updateDQPContext(new SessionMetadata());
}
return ResultsFuture.NULL_FUTURE;
}
{code}
Are you using a server version older than when TEIID-3664 was committed?
> Close session called with null session id
> -----------------------------------------
>
> Key: TEIID-4454
> URL: https://issues.jboss.org/browse/TEIID-4454
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 9.0.4
> Reporter: Wouter de Vaal
> Assignee: Steven Hawkins
> Priority: Minor
>
> When connecting locally via a JNDI resource to a vdb, we see in our audit log that an extra closeSession is logged with a null session id, just before a new session is created.
> This is probably because the class LocalServerConnection.authenticate calls logoff
> Logoff will execute a logoff command with swallowing all exceptions:
> try {
> //make a best effort to send the logoff
> Future<?> writeFuture = this.getService(ILogon.class).logoff();
> if (writeFuture != null) {
> writeFuture.get(5000, TimeUnit.MILLISECONDS);
> }
> } catch (Exception e) {
> //ignore
> }
> And this method will call closeSession without even checking if there is a session to logoff:
> try {
> this.service.closeSession(workContext.getSessionId());
> } finally {
> this.updateDQPContext(new SessionMetadata());
> }
> So fix should probably be adding an if statement to LogofImpl.logoff
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
More information about the teiid-issues
mailing list