|
|
|
Babashola King
|
Some javascript/style in this post has been disabled (why?)
Hi Folks, We have been using OMS for awhile now in
Production environment and happy with it. We always get this annoying exception
which I ignore but would like to get rid of or at-least know the reason for the
exception. It masks out any potential real exception. JdbcLog
cannot log SQLException due to recursive log errors! Thanks in
advance Bob King ________________________________________________________________________ This e-mail has been scanned for all viruses by Star. The service is powered by MessageLabs. For more information on a proactive anti-virus service working around the clock, around the globe, visit: http://www.star.net.uk ________________________________________________________________________ _______________________________________________ _______________________________________________ Marketcetera Users mailing list Marketcetera Documentation: http://trac.marketcetera.org To unsubscribe, go to http://lists.marketcetera.org/cgi-bin/mailman/listinfo/m-etc-users or send an email to [hidden email]. |
||||||||||||||||
|
toli
|
Babashola,
Which version of the Marketcetera Platform are you using? The error you are seeing is in Proxool, the underlying database connectivity/pooling library that QuickFIX/J uses. We haven't been using it to persist anything to the library in the past version, and we haven't been shipping it either. If you are using 0.4.2 or earlier, then the easiest way to turn off any Proxool-related codepath is to disable logging to the database. That is determined by which xxxLogFactory you are specifying in your quickfixj.xml file. If you look towards the bottom of the file, you'll see the SocketInitiator bean. <bean id="socketInitiator" class="quickfix.spring.SocketInitiator"> <constructor-arg ref="qfApplication"/> <constructor-arg ref="messageStoreFactory"/> <constructor-arg ref="sessionSettings"/> <constructor-arg ref="slf4jLogFactory"/> <=== This is the log factory setting <constructor-arg ref="messageFactory"/> </bean> Starting in 0.5.0, we've removed the original JDBCLogFactory and ComboLogFactory that was calling into Proxool, and you now have the option of using either the screenLogFactory (just plain stdout) or SLF4JLogFactory which goes through Log4J and is the default. See http://trac.marketcetera.org/trac.fcgi/wiki/0.5.0/Marketcetera/ConfigFile#QuickFIXLogging for more information. Try using the slf4jLogFactory instead and let me know if that solves your issue. Let me know if you have any questions about upgrading as well. On Fri, Sep 12, 2008 at 1:47 AM, Babashola King <[hidden email]> wrote: > Hi Folks, > > We have been using OMS for awhile now in Production environment and happy > with it. We always get this annoying exception which I ignore but would like > to get rid of or at-least know the reason for the exception. It masks out > any potential real exception. > > JdbcLog cannot log SQLException due to recursive log errors! > 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.JdbcLog.insert(JdbcLog.java:104) > at quickfix.JdbcLog.onEvent(JdbcLog.java:76) > at quickfix.LogUtil.logThrowable(LogUtil.java:42) > at quickfix.LogUtil.logThrowable(LogUtil.java:54) > at quickfix.Session.next(Session.java:761) > at > quickfix.mina.SingleThreadedEventHandlingStrategy$SessionMessageEvent.processMessage(SingleThreadedEventHandlingStrategy.java:106) > at > quickfix.mina.SingleThreadedEventHandlingStrategy.block(SingleThreadedEventHandlingStrategy.java:70) > at > quickfix.mina.SingleThreadedEventHandlingStrategy$1.run(SingleThreadedEventHandlingStrategy.java:86) > at java.lang.Thread.run(Thread.java:619) > > Thanks in advance > > Bob King > Leo Fund Managers > > ________________________________________________________________________ > This e-mail has been scanned for all viruses by Star. The > service is powered by MessageLabs. For more information on a proactive > anti-virus service working around the clock, around the globe, visit: > http://www.star.net.uk > ________________________________________________________________________ > > _______________________________________________ > _______________________________________________ > Marketcetera Users mailing list > Marketcetera Documentation: http://trac.marketcetera.org > To unsubscribe, go to > http://lists.marketcetera.org/cgi-bin/mailman/listinfo/m-etc-users or send > an email to [hidden email]. > > -- Toli Kuznets http://www.marketcetera.com: Open-Source Trading Platform download.run.trade. _______________________________________________ _______________________________________________ Marketcetera Users mailing list Marketcetera Documentation: http://trac.marketcetera.org To unsubscribe, go to http://lists.marketcetera.org/cgi-bin/mailman/listinfo/m-etc-users or send an email to [hidden email]. |
|
Stephen Bate
|
Just FYI, QuickFIX/J 1.3.3 will have the latest version of Proxool although
I realize you are now using file stores/logs. That's probably a good idea for performance reasons. Also, there was a workaround in 1.3.2 related to the simultaneous build throttling. http://www.quickfixj.org/jira/browse/QFJ-316 The other possibility is that this is a multithread bug. After looking at the Proxool sources, I'm not very confident in their thread safety. I'm considering switching to a different DataSource implementation. I'll probably try DBCP, but if anyone has any recommendations for the best (most stable) OSS data source implementation, let me know. Remember that it's also possible to use a container data source if you are running in an application server or other container that provides it's own data source implementations. Proxool is just a default bundled implementation for standalone operation. Regards, Steve -----Original Message----- From: [hidden email] [mailto:[hidden email]] On Behalf Of Toli Kuznets Sent: Friday, September 12, 2008 1:23 PM To: Babashola King Cc: [hidden email] Subject: Re: [m-etc-users] Annoying OMS Exception... Babashola, Which version of the Marketcetera Platform are you using? The error you are seeing is in Proxool, the underlying database connectivity/pooling library that QuickFIX/J uses. We haven't been using it to persist anything to the library in the past version, and we haven't been shipping it either. If you are using 0.4.2 or earlier, then the easiest way to turn off any Proxool-related codepath is to disable logging to the database. That is determined by which xxxLogFactory you are specifying in your quickfixj.xml file. If you look towards the bottom of the file, you'll see the SocketInitiator bean. <bean id="socketInitiator" class="quickfix.spring.SocketInitiator"> <constructor-arg ref="qfApplication"/> <constructor-arg ref="messageStoreFactory"/> <constructor-arg ref="sessionSettings"/> <constructor-arg ref="slf4jLogFactory"/> <=== This is the log factory setting <constructor-arg ref="messageFactory"/> </bean> Starting in 0.5.0, we've removed the original JDBCLogFactory and ComboLogFactory that was calling into Proxool, and you now have the option of using either the screenLogFactory (just plain stdout) or SLF4JLogFactory which goes through Log4J and is the default. See http://trac.marketcetera.org/trac.fcgi/wiki/0.5.0/Marketcetera/ConfigFile#Qu ickFIXLogging for more information. Try using the slf4jLogFactory instead and let me know if that solves your issue. Let me know if you have any questions about upgrading as well. On Fri, Sep 12, 2008 at 1:47 AM, Babashola King <[hidden email]> wrote: > Hi Folks, > > We have been using OMS for awhile now in Production environment and happy > with it. We always get this annoying exception which I ignore but would like > to get rid of or at-least know the reason for the exception. It masks out > any potential real exception. > > JdbcLog cannot log SQLException due to recursive log errors! > 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(Prototy per.java:260) > at > org.logicalcobwebs.proxool.ConnectionPool.getConnection(ConnectionPool.java: 170) > at > org.logicalcobwebs.proxool.ProxoolDataSource.getConnection(ProxoolDataSource .java:97) > at quickfix.JdbcLog.insert(JdbcLog.java:104) > at quickfix.JdbcLog.onEvent(JdbcLog.java:76) > at quickfix.LogUtil.logThrowable(LogUtil.java:42) > at quickfix.LogUtil.logThrowable(LogUtil.java:54) > at quickfix.Session.next(Session.java:761) > at > quickfix.mina.SingleThreadedEventHandlingStrategy$SessionMessageEvent.proces sMessage(SingleThreadedEventHandlingStrategy.java:106) > at > quickfix.mina.SingleThreadedEventHandlingStrategy.block(SingleThreadedEventH andlingStrategy.java:70) > at > quickfix.mina.SingleThreadedEventHandlingStrategy$1.run(SingleThreadedEventH andlingStrategy.java:86) > at java.lang.Thread.run(Thread.java:619) > > Thanks in advance > > Bob King > Leo Fund Managers > > ________________________________________________________________________ > This e-mail has been scanned for all viruses by Star. The > service is powered by MessageLabs. For more information on a proactive > anti-virus service working around the clock, around the globe, visit: > http://www.star.net.uk > ________________________________________________________________________ > > _______________________________________________ > _______________________________________________ > Marketcetera Users mailing list > Marketcetera Documentation: http://trac.marketcetera.org > To unsubscribe, go to > http://lists.marketcetera.org/cgi-bin/mailman/listinfo/m-etc-users or send > an email to [hidden email]. > > -- Toli Kuznets http://www.marketcetera.com: Open-Source Trading Platform download.run.trade. _______________________________________________ _______________________________________________ Marketcetera Users mailing list Marketcetera Documentation: http://trac.marketcetera.org To unsubscribe, go to http://lists.marketcetera.org/cgi-bin/mailman/listinfo/m-etc-users or send an email to [hidden email]. _______________________________________________ _______________________________________________ Marketcetera Users mailing list Marketcetera Documentation: http://trac.marketcetera.org To unsubscribe, go to http://lists.marketcetera.org/cgi-bin/mailman/listinfo/m-etc-users or send an email to [hidden email]. |
||||||||||||||||
|
Babashola King
|
Thanks Steve / Toli for your help. I have tried using the latest version
of OMS with both console and file logging but neither are suitable really. The file logging is really not human readable and the console logging will purge depending on the console settings. Ideal solution really is the JDBC logging. Steve I couldn't use the walk-around suggested in the link included in your mail as we are not directly configuring QuickFixJ as such unless I am missing something here. Oh! Just from experience, I'll consider C3P0 connection pooling instead of DBCP for performance. My only option is to adopt the latest Marketcetera OMS and reconfigure to use Proxool (JDBC loging) again but use log4j setting to filter out the exception logging. My concern here really is that we might miss any real exception. Toli what would you suggest? Thanks for your help. Bob -----Original Message----- From: [hidden email] [mailto:[hidden email]] On Behalf Of Steve Bate Sent: 13 September 2008 11:25 Cc: [hidden email] Subject: Re: [m-etc-users] Annoying OMS Exception... Just FYI, QuickFIX/J 1.3.3 will have the latest version of Proxool although I realize you are now using file stores/logs. That's probably a good idea for performance reasons. Also, there was a workaround in 1.3.2 related to the simultaneous build throttling. http://www.quickfixj.org/jira/browse/QFJ-316 The other possibility is that this is a multithread bug. After looking at the Proxool sources, I'm not very confident in their thread safety. I'm considering switching to a different DataSource implementation. I'll probably try DBCP, but if anyone has any recommendations for the best (most stable) OSS data source implementation, let me know. Remember that it's also possible to use a container data source if you are running in an application server or other container that provides it's own data source implementations. Proxool is just a default bundled implementation for standalone operation. Regards, Steve -----Original Message----- From: [hidden email] [mailto:[hidden email]] On Behalf Of Toli Kuznets Sent: Friday, September 12, 2008 1:23 PM To: Babashola King Cc: [hidden email] Subject: Re: [m-etc-users] Annoying OMS Exception... Babashola, Which version of the Marketcetera Platform are you using? The error you are seeing is in Proxool, the underlying database connectivity/pooling library that QuickFIX/J uses. We haven't been using it to persist anything to the library in the past version, and we haven't been shipping it either. If you are using 0.4.2 or earlier, then the easiest way to turn off any Proxool-related codepath is to disable logging to the database. That is determined by which xxxLogFactory you are specifying in your quickfixj.xml file. If you look towards the bottom of the file, you'll see the SocketInitiator bean. <bean id="socketInitiator" class="quickfix.spring.SocketInitiator"> <constructor-arg ref="qfApplication"/> <constructor-arg ref="messageStoreFactory"/> <constructor-arg ref="sessionSettings"/> <constructor-arg ref="slf4jLogFactory"/> <=== This is the log factory setting <constructor-arg ref="messageFactory"/> </bean> Starting in 0.5.0, we've removed the original JDBCLogFactory and ComboLogFactory that was calling into Proxool, and you now have the option of using either the screenLogFactory (just plain stdout) or SLF4JLogFactory which goes through Log4J and is the default. See http://trac.marketcetera.org/trac.fcgi/wiki/0.5.0/Marketcetera/ConfigFil e#Qu ickFIXLogging for more information. Try using the slf4jLogFactory instead and let me know if that solves your issue. Let me know if you have any questions about upgrading as well. On Fri, Sep 12, 2008 at 1:47 AM, Babashola King <[hidden email]> wrote: > Hi Folks, > > We have been using OMS for awhile now in Production environment and happy > with it. We always get this annoying exception which I ignore but would like > to get rid of or at-least know the reason for the exception. It masks out > any potential real exception. > > JdbcLog cannot log SQLException due to recursive log errors! > 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(Pro toty per.java:260) > at > org.logicalcobwebs.proxool.ConnectionPool.getConnection(ConnectionPool.j ava: 170) > at > org.logicalcobwebs.proxool.ProxoolDataSource.getConnection(ProxoolDataSo urce .java:97) > at quickfix.JdbcLog.insert(JdbcLog.java:104) > at quickfix.JdbcLog.onEvent(JdbcLog.java:76) > at quickfix.LogUtil.logThrowable(LogUtil.java:42) > at quickfix.LogUtil.logThrowable(LogUtil.java:54) > at quickfix.Session.next(Session.java:761) > at > quickfix.mina.SingleThreadedEventHandlingStrategy$SessionMessageEvent.pr oces sMessage(SingleThreadedEventHandlingStrategy.java:106) > at > quickfix.mina.SingleThreadedEventHandlingStrategy.block(SingleThreadedEv entH andlingStrategy.java:70) > at > quickfix.mina.SingleThreadedEventHandlingStrategy$1.run(SingleThreadedEv entH andlingStrategy.java:86) > at java.lang.Thread.run(Thread.java:619) > > Thanks in advance > > Bob King > Leo Fund Managers > > ________________________________________________________________________ > This e-mail has been scanned for all viruses by Star. The > service is powered by MessageLabs. For more information on a proactive > anti-virus service working around the clock, around the globe, visit: > http://www.star.net.uk > ________________________________________________________________________ > > _______________________________________________ > _______________________________________________ > Marketcetera Users mailing list > Marketcetera Documentation: http://trac.marketcetera.org > To unsubscribe, go to > http://lists.marketcetera.org/cgi-bin/mailman/listinfo/m-etc-users or send > an email to [hidden email]. > > -- Toli Kuznets http://www.marketcetera.com: Open-Source Trading Platform download.run.trade. _______________________________________________ _______________________________________________ Marketcetera Users mailing list Marketcetera Documentation: http://trac.marketcetera.org To unsubscribe, go to http://lists.marketcetera.org/cgi-bin/mailman/listinfo/m-etc-users or send an email to [hidden email]. _______________________________________________ _______________________________________________ Marketcetera Users mailing list Marketcetera Documentation: http://trac.marketcetera.org To unsubscribe, go to http://lists.marketcetera.org/cgi-bin/mailman/listinfo/m-etc-users or send an email to [hidden email]. ________________________________________________________________________ This e-mail has been scanned for all viruses by Star. The service is powered by MessageLabs. For more information on a proactive anti-virus service working around the clock, around the globe, visit: http://www.star.net.uk ________________________________________________________________________ ________________________________________________________________________ This e-mail has been scanned for all viruses by Star. The service is powered by MessageLabs. For more information on a proactive anti-virus service working around the clock, around the globe, visit: http://www.star.net.uk ________________________________________________________________________ _______________________________________________ _______________________________________________ Marketcetera Users mailing list Marketcetera Documentation: http://trac.marketcetera.org To unsubscribe, go to http://lists.marketcetera.org/cgi-bin/mailman/listinfo/m-etc-users or send an email to [hidden email]. |
||||||||||||||||
|
toli
|
In reply to this post
by toli
Babashola,
I'm a bit confused. In shipping 0.5.0, the messageStoreFactory is a FileStoreFactory - and that refers to how QFJ stores information about existing sessions (in the DB or in file system), but it's not about logging at all. See http://www.quickfixj.org/quickfixj/usermanual/usage/configuration.html#Storage for more info. We discontinued the jdbcLogFactory primarily because of the exception you are seeing (I didn't like Proxool either, we are using c3po right now for DB persistence as we as our ORS is becoming stateful in the next release, since we'll be storing fills so that when you restart Photon you'll be seeing your day's orders). We really prefer the SLF4J logger instead of JDBCLogger - I think SLF4J and the underlying Log4J framework is much cleaner and a lot more useful than the DB logger. What would you like the log to look like to make it more "human-readable"? Currently, the shipping 0.5.0 log4j.properties is setup to log both to console and to file (it now goes to ors/logs/ors.log). You can modify the logger level to be ERROR to only post exceptions, and you can modify the pattern at the top to specify how you want the output to look: http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html Let me know if i can be of more help. At the end of the day, you can definitely move the Proxool jars back in and modify the configuration files to use JDBC logger again. However, i don't think switching to C3P0 is trivial, it'll require re-coding the underlying QFJ library. toli On Mon, Sep 15, 2008 at 8:14 AM, Babashola King <[hidden email]> wrote: > Hi Toli, > > I might seem to be misunderstanding the logging approach here. I need > you to explain to me. By not using the JdbcLogFactory, we aren't getting > any messages in our quickfix database tables as in 0.4.2 (using > JdbcLogFactory) but I notice a bean called 'messageFactory' (<bean > id="messageStoreFactory" class="quickfix.JdbcStoreFactory">) in > quickfix.xml context. What is this bean used for and am I missing some > configuration. I am also considering adding back Proxool Jar into your > 0.5.0 as I am happier with logging but not the exception but I can leave > with the exception. > > Thanks for your patience here. > > Bob King > Leo Fund Managers > > -----Original Message----- > From: Toli Kuznets [mailto:[hidden email]] > Sent: 12 September 2008 18:23 > To: Babashola King > Cc: [hidden email] > Subject: Re: [m-etc-users] Annoying OMS Exception... > > Babashola, > > Which version of the Marketcetera Platform are you using? > The error you are seeing is in Proxool, the underlying database > connectivity/pooling library that QuickFIX/J uses. We haven't been > using it to persist anything to the library in the past version, and > we haven't been shipping it either. > > If you are using 0.4.2 or earlier, then the easiest way to turn off > any Proxool-related codepath is to disable logging to the database. > That is determined by which xxxLogFactory you are specifying in your > quickfixj.xml file. > > If you look towards the bottom of the file, you'll see the > SocketInitiator bean. > <bean id="socketInitiator" class="quickfix.spring.SocketInitiator"> > <constructor-arg ref="qfApplication"/> > <constructor-arg ref="messageStoreFactory"/> > <constructor-arg ref="sessionSettings"/> > <constructor-arg ref="slf4jLogFactory"/> <=== > This is the log factory setting > <constructor-arg ref="messageFactory"/> > </bean> > > Starting in 0.5.0, we've removed the original JDBCLogFactory and > ComboLogFactory that was calling into Proxool, and you now have the > option of using either the screenLogFactory (just plain stdout) or > SLF4JLogFactory which goes through Log4J and is the default. > > See > http://trac.marketcetera.org/trac.fcgi/wiki/0.5.0/Marketcetera/ConfigFil > e#QuickFIXLogging > for more information. > > Try using the slf4jLogFactory instead and let me know if that solves > your issue. Let me know if you have any questions about upgrading as > well. > > On Fri, Sep 12, 2008 at 1:47 AM, Babashola King <[hidden email]> > wrote: >> Hi Folks, >> >> We have been using OMS for awhile now in Production environment and > happy >> with it. We always get this annoying exception which I ignore but > would like >> to get rid of or at-least know the reason for the exception. It masks > out >> any potential real exception. >> >> JdbcLog cannot log SQLException due to recursive log errors! >> 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(Pro > totyper.java:260) >> at >> > org.logicalcobwebs.proxool.ConnectionPool.getConnection(ConnectionPool.j > ava:170) >> at >> > org.logicalcobwebs.proxool.ProxoolDataSource.getConnection(ProxoolDataSo > urce.java:97) >> at quickfix.JdbcLog.insert(JdbcLog.java:104) >> at quickfix.JdbcLog.onEvent(JdbcLog.java:76) >> at quickfix.LogUtil.logThrowable(LogUtil.java:42) >> at quickfix.LogUtil.logThrowable(LogUtil.java:54) >> at quickfix.Session.next(Session.java:761) >> at >> > quickfix.mina.SingleThreadedEventHandlingStrategy$SessionMessageEvent.pr > ocessMessage(SingleThreadedEventHandlingStrategy.java:106) >> at >> > quickfix.mina.SingleThreadedEventHandlingStrategy.block(SingleThreadedEv > entHandlingStrategy.java:70) >> at >> > quickfix.mina.SingleThreadedEventHandlingStrategy$1.run(SingleThreadedEv > entHandlingStrategy.java:86) >> at java.lang.Thread.run(Thread.java:619) >> >> Thanks in advance >> >> Bob King >> Leo Fund Managers >> >> > ________________________________________________________________________ >> This e-mail has been scanned for all viruses by Star. The >> service is powered by MessageLabs. For more information on a proactive >> anti-virus service working around the clock, around the globe, visit: >> http://www.star.net.uk >> > ________________________________________________________________________ >> >> _______________________________________________ >> _______________________________________________ >> Marketcetera Users mailing list >> Marketcetera Documentation: http://trac.marketcetera.org >> To unsubscribe, go to >> http://lists.marketcetera.org/cgi-bin/mailman/listinfo/m-etc-users or > send >> an email to [hidden email]. >> >> > > > > -- > Toli Kuznets > http://www.marketcetera.com: Open-Source Trading Platform > download.run.trade. > > ________________________________________________________________________ > This e-mail has been scanned for all viruses by Star. The > service is powered by MessageLabs. For more information on a proactive > anti-virus service working around the clock, around the globe, visit: > http://www.star.net.uk > ________________________________________________________________________ > > ________________________________________________________________________ > This e-mail has been scanned for all viruses by Star. The > service is powered by MessageLabs. For more information on a proactive > anti-virus service working around the clock, around the globe, visit: > http://www.star.net.uk > ________________________________________________________________________ > -- Toli Kuznets http://www.marketcetera.com: Open-Source Trading Platform download.run.trade. _______________________________________________ _______________________________________________ Marketcetera Users mailing list Marketcetera Documentation: http://trac.marketcetera.org To unsubscribe, go to http://lists.marketcetera.org/cgi-bin/mailman/listinfo/m-etc-users or send an email to [hidden email]. |
||||||||||||||||
| Free Embeddable Forum Powered by Nabble | Help |