DbUserManager Operates on closed result ret
-------------------------------------------
Key: FTPSERVER-242
URL: https://issues.apache.org/jira/browse/FTPSERVER-242
Project: FtpServer
Issue Type: Bug
Components: Core
Affects Versions: 1.0.0-M4
Environment: Java6 Linux MySQL backing database Connector/J 5.x
Reporter: Randy Prager
It appears DbUserManager operates on a closed result set.
DbUserManager.getUserByName() calls a private method ResultSet
selectUserByName() which closes the stmt (which I believe also closes the
ResultSet, at least in mysql)
A fix would be to simply collapse the logic into a single method.
Exception:
DbUserManager.getUserByName()
java.sql.SQLException: Operation not allowed after ResultSet closed
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
at com.mysql.jdbc.ResultSet.checkClosed(ResultSet.java:644)
at com.mysql.jdbc.ResultSet.next(ResultSet.java:6674)
at
org.apache.commons.dbcp.DelegatingResultSet.next(DelegatingResultSet.java:169)
at
org.apache.ftpserver.usermanager.impl.DbUserManager.getUserByName(DbUserManager.java:484)
at org.apache.ftpserver.command.impl.USER.execute(USER.java:142)
at
org.apache.ftpserver.impl.DefaultFtpHandler.messageReceived(DefaultFtpHandler.java:147)
at
org.apache.ftpserver.listener.nio.FtpHandlerAdapter.messageReceived(FtpHandlerAdapter.java:62)
at
org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:752)
at
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:414)
at
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:49)
at
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:832)
at
org.apache.ftpserver.listener.nio.FtpLoggingFilter.messageReceived(FtpLoggingFilter.java:90)
at
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:414)
at
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:49)
at
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:832)
at
org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:60)
at
org.apache.mina.filter.logging.MdcInjectionFilter.filter(MdcInjectionFilter.java:137)
at
org.apache.mina.filter.util.CommonEventFilter.messageReceived(CommonEventFilter.java:70)
at
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:414)
at
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:49)
at
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:832)
at
org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:379)
at
org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:173)
at
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:414)
at
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:49)
at
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:832)
at
org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:60)
at org.apache.mina.core.session.IoEvent.run(IoEvent.java:64)
at
org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTask(OrderedThreadPoolExecutor.java:551)
at
org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTasks(OrderedThreadPoolExecutor.java:543)
at
org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.run(OrderedThreadPoolExecutor.java:487)
at java.lang.Thread.run(Thread.java:619)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.