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

Problem with proxool configuration leads to SQLExceptions

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Default
    • Resolution: Fixed
    • Affects Version/s: 1.3.1
    • Fix Version/s: 1.3.2
    • Component/s: Engine
    • Labels:
      None
    • Environment:
      Solaris 10, jdk 1.5.0_14, proxool-0.9.0RC3.jar

      Description

      There is a bug in the proxool library. The default parameter defined in the documentation are not set. Therefore parameter like MaximumConnectionCount are not set. JdbcUtil from QuickFixJ sets this parameter. But the parameter SimultaneousBuildThrottle is not set and therfore 0. This leads to SQLExcption under high load. I changed JdbcUtil.getDataSource() with the line

      ds.setSimultaneousBuildThrottle(10);

      after the line

      ds.setMaximumConnectionCount(10);

      Now I do not get SQLException anymore.

      Log-Snipplet:

      00:59:52,795 [QFJ Message Processor] DEBUG fix.MessageConverter - Field(s) = SenderSubID SenderLocationID TargetSubID TargetLocationID OnBehalfOfCompID Delive
      rToCompID SecureDataLen SecureData PossDupFlag PossResend OrigSendingTime XmlDataLen XmlData MessageEncoding LastMsgSeqNumProcessed OnBehalfOfSendingTime are
      missing but not mandatory
      00:59:52,795 [QFJ Message Processor] INFO fix.MessageConverter - <?xml version="1.0" encoding="ISO-8859-1"?>
      <FIXML><FIXMLMessage><Header><BeginString>FIX.4.2</BeginString><MsgType>2</MsgType><Sender><CompID>WESTLB3</CompID></Sender><Target><CompID>REDIRPT3</CompID><
      /Target><MsgSeqNum>4</MsgSeqNum><SendingTime>Tue Jun 17 00:59:52 MEST 2008</SendingTime></Header><AdministrativeMessage><Heartbeat/></AdministrativeMessage><A
      dministrativeMessage><ResendRequest><BeginSeqNo>2</BeginSeqNo><EndSeqNo>0</EndSeqNo></ResendRequest></AdministrativeMessage></FIXMLMessage></FIXML>
      00:59:52,795 [QFJ Message Processor] INFO msg.outgoing - FIX.4.2:WESTLB3->REDIRPT3: 8=FIX.4.2^A9=67^A35=2^A34=4^A49=WESTLB3^A52=20080616-22:59:52.794^A56=RED
      IRPT3^A7=2^A16=0^A10=189^A
      00:59:52,797 [Thread-6] INFO quickfixj.event - FIX.4.2:WESTLB3->REDIRPT3: Processing QUEUED message: 3
      00:59:52,797 [Thread-6] INFO fix.ReaderApplication - fromAdmin: FIX.4.2:WESTLB3->REDIRPT3
      00:59:52,797 [Thread-6] DEBUG fix.ReaderApplication - expected sender number = 4
      00:59:52,797 [Thread-6] DEBUG fix.ReaderApplication - expected target number = 3
      00:59:52,798 [Thread-6] DEBUG fix.MessageConverter - Field(s) = SenderSubID SenderLocationID TargetSubID TargetLocationID OnBehalfOfCompID DeliverToCompID Sec
      ureDataLen SecureData PossDupFlag PossResend OrigSendingTime XmlDataLen XmlData MessageEncoding LastMsgSeqNumProcessed OnBehalfOfSendingTime are missing but n
      ot mandatory
      00:59:52,798 [Thread-6] INFO fix.MessageConverter - <?xml version="1.0" encoding="ISO-8859-1"?>
      <FIXML><FIXMLMessage><Header><BeginString>FIX.4.2</BeginString><MsgType>0</MsgType><Sender><CompID>REDIRPT3</CompID></Sender><Target><CompID>WESTLB3</CompID><
      /Target><MsgSeqNum>3</MsgSeqNum><SendingTime>Tue Jun 17 00:59:52 MEST 2008</SendingTime></Header><AdministrativeMessage><Heartbeat><TestReqID>TEST</TestReqID>
      </Heartbeat></AdministrativeMessage></FIXMLMessage></FIXML>
      00:59:52,802 [Thread-6] INFO quickfixj.event - FIX.4.2:WESTLB3->REDIRPT3: error processing message
      java.io.IOException: We are already in the process of making 1 connections and the number of simultaneous builds has been throttled to 0
      at quickfix.JdbcStore.storeSequenceNumbers(JdbcStore.java:291)
      at quickfix.JdbcStore.setNextTargetMsgSeqNum(JdbcStore.java:274)
      at quickfix.JdbcStore.incrNextTargetMsgSeqNum(JdbcStore.java:161)
      at quickfix.SessionState.incrNextTargetMsgSeqNum(SessionState.java:347)
      at quickfix.Session.nextHeartBeat(Session.java:1134)
      at quickfix.Session.next(Session.java:698)
      at quickfix.Session.next(Session.java:1515)
      at quickfix.Session.nextQueued(Session.java:1505)
      at quickfix.Session.nextQueued(Session.java:1489)
      at quickfix.Session.nextHeartBeat(Session.java:1135)
      at quickfix.Session.next(Session.java:698)
      at quickfix.mina.SingleThreadedEventHandlingStrategy$SessionMessageEvent.processMessage(SingleThreadedEventHandlingStrategy.java:106)
      at quickfix.mina.SingleThreadedEventHandlingStrategy.block(SingleThreadedEventHandlingStrategy.java:70)
      at quickfix.SocketInitiator.block(SocketInitiator.java:60)
      at com.westlb.fix.Reader.run(Reader.java:105)
      Caused by: java.sql.SQLException: We are already in the process of making 1 connections and the number of simultaneous builds has been throttled to 0
      at org.logicalcobwebs.proxool.Prototyper.checkSimultaneousBuildThrottle(Prototyper.java:260)
      at org.logicalcobwebs.proxool.ConnectionPool.getConnection(ConnectionPool.java:170)
      at org.logicalcobwebs.proxool.ProxoolDataSource.getConnection(ProxoolDataSource.java:97)
      at quickfix.JdbcStore.storeSequenceNumbers(JdbcStore.java:281)
      ... 14 more

      00:59:52,817 [QFJ Message Processor] DEBUG proxool.quickfixj-1 - 007351 (01/02/00) - Connection #4 created on demand = ACTIVE
      00:59:52,819 [QFJ Message Processor] INFO quickfixj.event - FIX.4.2:WESTLB3->REDIRPT3: Sent ResendRequest FROM: 2 TO: 0
      00:59:53,362 [SocketConnectorIoProcessor-0.0] DEBUG message.FIXMessageDecoder - detected header: pos=0,lim=81,rem=81,offset=0,state=1
      00:59:53,362 [SocketConnectorIoProcessor-0.0] DEBUG message.FIXMessageDecoder - body length = 59: pos=0,lim=81,rem=81,offset=15,state=3
      00:59:53,362 [SocketConnectorIoProcessor-0.0] DEBUG message.FIXMessageDecoder - message body found: pos=0,lim=81,rem=81,offset=74,state=4
      00:59:53,363 [SocketConnectorIoProcessor-0.0] DEBUG message.FIXMessageDecoder - found checksum: pos=0,lim=81,rem=81,offset=74,state=4
      00:59:53,363 [SocketConnectorIoProcessor-0.0] DEBUG message.FIXMessageDecoder - parsed message: pos=81,lim=81,rem=0,offset=81,state=4 8=FIX.4.2^A9=59^A35=4^A4
      9=REDIRPT3^A56=WESTLB3^A34=4^A52=20080616-22:59:53^A36=4^A10=078^A
      00:59:53,363 [SocketConnectorIoProcessor-0.0] INFO msg.incoming - FIX.4.2:WESTLB3->REDIRPT3: 8=FIX.4.2^A9=59^A35=4^A49=REDIRPT3^A56=WESTLB3^A34=4^A52=2008061
      6-22:59:53^A36=4^A10=078^A
      00:59:53,363 [Thread-6] INFO fix.ReaderApplication - fromAdmin: FIX.4.2:WESTLB3->REDIRPT3

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              rainer Rainer Wallscheid
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: