Uploaded image for project: 'QuickFIX/J'
  1. QuickFIX/J
  2. QFJ-571

QFJ Timer - JDBCStore reset issues

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Duplicate
    • Affects Version/s: 1.5.0
    • Fix Version/s: None
    • Component/s: Engine
    • Labels:
      None

      Description

      Hi,

      I have configured QuickFixJ to use JDBC store. In doing so, we have seen an issue with Proxool where it kills active thread that are longer than 5 minutes. We have no way to change the proxool's maximum-active-time property in Quickfixj configuration. When proxool kills the thread, QFJ failed to perform Scheduled Session reset. Please see the error log as shown below.

      2010-12-18 09:32:07,312 WARN [HouseKeeper] HouseKeeper.sweep:149 - #0007 was active for 5559 milliseconds and has been removed automaticaly. Th
      e Thread responsible was named 'QFJ Timer', but the last SQL it performed is unknown because the trace property is not enabled.
      2010-12-18 09:32:07,316 ERROR [QFJ Timer] SessionConnector$SessionTimerTask.run:257 - Error during timer processing
      quickfix.RuntimeError: java.io.IOException: Couldn't perform the operation prepareStatement: You can't perform any operations on this connection
      . It has been automatically closed by Proxool for some reason (see logs).
      at quickfix.SessionState.reset(SessionState.java:373)
      at quickfix.Session.resetState(Session.java:2191)
      at quickfix.Session.reset(Session.java:759)
      at quickfix.Session.next(Session.java:1699)
      at quickfix.mina.SessionConnector$SessionTimerTask.run(SessionConnector.java:251)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
      at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
      at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      at java.lang.Thread.run(Thread.java:619)
      Caused by: java.io.IOException: Couldn't perform the operation prepareStatement: You can't perform any operations on this connection. It has bee
      n automatically closed by Proxool for some reason (see logs).
      at quickfix.JdbcStore.reset(JdbcStore.java:195)
      at quickfix.SessionState.reset(SessionState.java:370)
      ... 13 more
      Caused by: java.sql.SQLException: Couldn't perform the operation prepareStatement: You can't perform any operations on this connection. It has b
      een automatically closed by Proxool for some reason (see logs).
      at org.logicalcobwebs.proxool.WrappedConnection.invoke(WrappedConnection.java:207)
      at org.logicalcobwebs.proxool.WrappedConnection.intercept(WrappedConnection.java:87)
      at com.sybase.jdbcx.SybConnection$$EnhancerByProxool$$ace6c3d2.prepareStatement(<generated>)
      at quickfix.JdbcStore.reset(JdbcStore.java:187)
      ... 14 more

      Kind Regards,
      Vid

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                v_cheruvu@hotmail.com Vid Cheruvu
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: