Thread: [Quickfix-users] Failover.
Brought to you by:
orenmnero
From: Jim M. <per...@my...> - 2003-05-09 02:19:06
|
I'm evaluating FIX systems for a client. QuickFIX is obviously very attractive because of its Open Source nature. However there is little to be seen in the documentation about how to set it up to allow for failover. Am I missing something, or could someone point me towards any resources on the subject. I'm planning to run QuickFIX on Linux, on two servers. If the primary server goes down, the secondary server should cut in, and instantly be able to pick up where the primary left off, using the same message sequence numbers and message store location. The only information I've found so far relevant to failover is the SocketConnectHost and SocketConnectPort settings in the configuration file, and its not clear to me how the machines should be set up, either physically, or in terms of software configuration. Has anyone set up this kind of arrangement already, and would you be prepared to share your experiences? Jim |
From: Oren M. <ore...@ya...> - 2003-05-09 11:34:15
|
The SocketConnectHost<n> and SocketConnectPort<n> allows you to set up a round robbin connection from your initiator to several acceptors that already exist in a failover system. This doesn't sound like what you are looking for, at least not entirely. QuickFIX is currently distributed as a development library instead of a standalone server, which allows for a lot of flexibility, but lacks many of the built in admin features some of the commercial vendors have. The advantage is you can integrate QF with third party or proprietary failover systems. Setting up a single location from which sequence numbers and the message store is received is easy if you use a database or an NFS drive. QuickFIX comes with a FileStore, so NFS should be easy to setup. It also comes with a MySQL store, but people have also written Oracle and MSSQL adapters as well. So what you are missing is something that can start and stop the appropriate servers as needed. For this you need to currently use a third party system (which would a product that focuses on failover and would likely be superior in that respect anyway). Or you can create something yourself, which has the advantage of you having total control. If you must have an engine that has failover built in, then unfortunately QuickFIX will not be the best choice for you at this time. Jim Morgan <per...@my...> wrote:I'm evaluating FIX systems for a client. QuickFIX is obviously very attractive because of its Open Source nature. However there is little to be seen in the documentation about how to set it up to allow for failover. Am I missing something, or could someone point me towards any resources on the subject. I'm planning to run QuickFIX on Linux, on two servers. If the primary server goes down, the secondary server should cut in, and instantly be able to pick up where the primary left off, using the same message sequence numbers and message store location. The only information I've found so far relevant to failover is the SocketConnectHost and SocketConnectPort settings in the configuration file, and its not clear to me how the machines should be set up, either physically, or in terms of software configuration. Has anyone set up this kind of arrangement already, and would you be prepared to share your experiences? Jim ------------------------------------------------------- Enterprise Linux Forum Conference & Expo, June 4-6, 2003, Santa Clara The only event dedicated to issues related to Linux enterprise solutions www.enterpriselinuxforum.com _______________________________________________ Quickfix-users mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-users --------------------------------- Do you Yahoo!? The New Yahoo! Search - Faster. Easier. Bingo. |
From: Juergen J. <je...@gm...> - 2003-05-09 15:10:25
|
Hello all, we are using quickfix with failover in a production environment : BUT currently quickfix is a library that implements the FIX standards. NOT a full featured production system . We put the quickfix lib in a J2EE environment with already build-in clustering on a high level. Regards, Juergen jetm -----Original Message----- From: qui...@li... [mailto:qui...@li...] On Behalf Of Oren Miller Sent: Freitag, 9. Mai 2003 13:25 To: Jim Morgan; qui...@li... Subject: Re: [Quickfix-users] Failover. The SocketConnectHost<n> and SocketConnectPort<n> allows you to set up a round robbin connection from your initiator to several acceptors that already exist in a failover system. This doesn't sound like what you are looking for, at least not entirely. QuickFIX is currently distributed as a development library instead of a standalone server, which allows for a lot of flexibility, but lacks many of the built in admin features some of the commercial vendors have. The advantage is you can integrate QF with third party or proprietary failover systems. Setting up a single location from which sequence numbers and the message store is received is easy if you use a database or an NFS drive. QuickFIX comes with a FileStore, so NFS should be easy to setup. It also comes with a MySQL store, but people have also written Oracle and MSSQL adapters as well. So what you are missing is something that can start and stop the appropriate servers as needed. For this you need to currently use a third party system (which would a product that focuses on failover and would likely be superior in that respect anyway). Or you can create something yourself, which has the advantage of you having total control. If you must have an engine that has failover built in, then unfortunately QuickFIX will not be the best choice for you at this time. Jim Morgan <per...@my...> wrote: I'm evaluating FIX systems for a client. QuickFIX is obviously very attractive because of its Open Source nature. However there is little to be seen in the documentation about how to set it up to allow for failover. Am I missing something, or could someone point me towards any resources on the subject. I'm planning to run QuickFIX on Linux, on two servers. If the primary server goes down, the secondary server should cut in, and instantly be able to pick up where the primary left off, using the same message sequence numbers and message store location. The only information I've found so far relevant to failover is the SocketConnectHost and SocketConnectPort settings in the configuration file, and its not clear to me how the machines should be set up, either physically, or in terms of software configuration. Has anyone set up this kind of arrangement already, and would you be prepared to share your experiences? Jim ------------------------------------------------------- Enterprise Linux Forum Conference & Expo, June 4-6, 2003, Santa Clara The only event dedicated to issues related to Linux enterprise solutions www.enterpriselinuxforum.com _______________________________________________ Quickfix-users mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-users _____ Do you Yahoo!? The New <http://us.rd.yahoo.com/search/mailsig/*http:/search.yahoo.com> Yahoo! Search - Faster. Easier. Bingo. |
From: Jerry W. <je...@we...> - 2003-05-12 09:13:48
|
Dear Sirs: I've got a problem, with quickfix. I've got an Initiator program, Everything works fine, till an Allocation is sent, then the quickFix lib hangs, and does not receive any more messages, (causing a HB timeout, 3 resends, then a logout). In recovery, the Allocation is lost. Does anybody have an Idea of what I could be doing wrong? How can I confirm the version of QuickFix I'm using? I'm sure that I'm doing something wrong... any help appreceated Jerry Westrick |
From: Oren M. <ore...@ya...> - 2003-05-12 12:57:44
|
Where are you sending the allocation too. Are you sure the allocation isn't causing the other side to stop responding for some reason? You say it hangs but then you say that heartbeats are sent, so it sounds like your process is still alive. Is everything back to normal when QF tries to logon again? Jerry Westrick <je...@we...> wrote:Dear Sirs: I've got a problem, with quickfix. I've got an Initiator program, Everything works fine, till an Allocation is sent, then the quickFix lib hangs, and does not receive any more messages, (causing a HB timeout, 3 resends, then a logout). In recovery, the Allocation is lost. Does anybody have an Idea of what I could be doing wrong? How can I confirm the version of QuickFix I'm using? I'm sure that I'm doing something wrong... any help appreceated Jerry Westrick ------------------------------------------------------- Enterprise Linux Forum Conference & Expo, June 4-6, 2003, Santa Clara The only event dedicated to issues related to Linux enterprise solutions www.enterpriselinuxforum.com _______________________________________________ Quickfix-users mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-users --------------------------------- Do you Yahoo!? The New Yahoo! Search - Faster. Easier. Bingo. |
From: Jerry W. <je...@we...> - 2003-05-12 13:35:53
|
Thank you for your responce... first of, I'm receiving allocations, not sending (guess I wasn't clear about that) I've managed to reproduce this with breaks in the debugger... It Looks as if the error is in the field "BodyLength", but this is not yet confirmed. What is wrong, is that after catching the InvalidMessage error, further messages are not read! Of course, if the error is in physical length of the message, anything is possible.... Stay tuned... WOrking on it.... On Mon, 2003-05-12 at 14:57, Oren Miller wrote: > Where are you sending the allocation too. Are you sure the allocation isn't causing the other side to stop responding for some reason? You say it hangs but then you say that heartbeats are sent, so it sounds like your process is still alive. Is everything back to normal when QF tries to logon again? > > Jerry Westrick <je...@we...> wrote:Dear Sirs: > > I've got a problem, with quickfix. > > I've got an Initiator program, > Everything works fine, till an Allocation is sent, > then the quickFix lib hangs, and does not receive any > more messages, (causing a HB timeout, 3 resends, then > a logout). In recovery, the Allocation is lost. > > Does anybody have an Idea of what I could be doing wrong? > > How can I confirm the version of QuickFix I'm using? > > I'm sure that I'm doing something wrong... > > any help appreceated > > Jerry Westrick > > > > ------------------------------------------------------- > Enterprise Linux Forum Conference & Expo, June 4-6, 2003, Santa Clara > The only event dedicated to issues related to Linux enterprise solutions > www.enterpriselinuxforum.com > > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users > > --------------------------------- > Do you Yahoo!? > The New Yahoo! Search - Faster. Easier. Bingo. |
From: Oren M. <ore...@ya...> - 2003-05-12 14:32:32
|
Looks like the common problem of not providing a DataDictionary. I believe allocations have repeating groups which require one. Otherwise, the message will appear corrupted and the session will go bad. This is being made more obvious in the next release. --oren Jerry Westrick <je...@we...> wrote:Thank you for your responce... first of, I'm receiving allocations, not sending (guess I wasn't clear about that) I've managed to reproduce this with breaks in the debugger... It Looks as if the error is in the field "BodyLength", but this is not yet confirmed. What is wrong, is that after catching the InvalidMessage error, further messages are not read! Of course, if the error is in physical length of the message, anything is possible.... Stay tuned... WOrking on it.... On Mon, 2003-05-12 at 14:57, Oren Miller wrote: > Where are you sending the allocation too. Are you sure the allocation isn't causing the other side to stop responding for some reason? You say it hangs but then you say that heartbeats are sent, so it sounds like your process is still alive. Is everything back to normal when QF tries to logon again? > > Jerry Westrick wrote:Dear Sirs: > > I've got a problem, with quickfix. > > I've got an Initiator program, > Everything works fine, till an Allocation is sent, > then the quickFix lib hangs, and does not receive any > more messages, (causing a HB timeout, 3 resends, then > a logout). In recovery, the Allocation is lost. > > Does anybody have an Idea of what I could be doing wrong? > > How can I confirm the version of QuickFix I'm using? > > I'm sure that I'm doing something wrong... > > any help appreceated > > Jerry Westrick > > > > ------------------------------------------------------- > Enterprise Linux Forum Conference & Expo, June 4-6, 2003, Santa Clara > The only event dedicated to issues related to Linux enterprise solutions > www.enterpriselinuxforum.com > > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users > > --------------------------------- > Do you Yahoo!? > The New Yahoo! Search - Faster. Easier. Bingo. ------------------------------------------------------- Enterprise Linux Forum Conference & Expo, June 4-6, 2003, Santa Clara The only event dedicated to issues related to Linux enterprise solutions www.enterpriselinuxforum.com _______________________________________________ Quickfix-users mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-users --------------------------------- Do you Yahoo!? The New Yahoo! Search - Faster. Easier. Bingo. |
From: Jerry W. <je...@we...> - 2003-05-12 14:44:56
|
Aaaaahhhhh! Did I understand you correctly? each group must have at least one occurence? If it does not, does the messge not conform to FIX 4.2? or is it conform, but does not pass the parser? Jerry... On Mon, 2003-05-12 at 16:32, Oren Miller wrote: > Looks like the common problem of not providing a DataDictionary. I believe allocations have repeating groups which require one. Otherwise, the message will appear corrupted and the session will go bad. This is being made more obvious in the next release. --oren > > Jerry Westrick <je...@we...> wrote:Thank you for your responce... > > first of, I'm receiving allocations, not sending (guess I wasn't clear > about that) > > I've managed to reproduce this with breaks in the debugger... > It Looks as if the error is in the field "BodyLength", but this > is not yet confirmed. > > What is wrong, is that after catching the InvalidMessage error, > further messages are not read! > > Of course, if the error is in physical length of the message, > anything is possible.... > > Stay tuned... > WOrking on it.... > > > > On Mon, 2003-05-12 at 14:57, Oren Miller wrote: > > Where are you sending the allocation too. Are you sure the allocation isn't causing the other side to stop responding for some reason? You say it hangs but then you say that heartbeats are sent, so it sounds like your process is still alive. Is everything back to normal when QF tries to logon again? > > > > Jerry Westrick wrote:Dear Sirs: > > > > I've got a problem, with quickfix. > > > > I've got an Initiator program, > > Everything works fine, till an Allocation is sent, > > then the quickFix lib hangs, and does not receive any > > more messages, (causing a HB timeout, 3 resends, then > > a logout). In recovery, the Allocation is lost. > > > > Does anybody have an Idea of what I could be doing wrong? > > > > How can I confirm the version of QuickFix I'm using? > > > > I'm sure that I'm doing something wrong... > > > > any help appreceated > > > > Jerry Westrick > > > > > > > > ------------------------------------------------------- > > Enterprise Linux Forum Conference & Expo, June 4-6, 2003, Santa Clara > > The only event dedicated to issues related to Linux enterprise solutions > > www.enterpriselinuxforum.com > > > > _______________________________________________ > > Quickfix-users mailing list > > Qui...@li... > > https://lists.sourceforge.net/lists/listinfo/quickfix-users > > > > --------------------------------- > > Do you Yahoo!? > > The New Yahoo! Search - Faster. Easier. Bingo. > > > > > ------------------------------------------------------- > Enterprise Linux Forum Conference & Expo, June 4-6, 2003, Santa Clara > The only event dedicated to issues related to Linux enterprise solutions > www.enterpriselinuxforum.com > > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users > > --------------------------------- > Do you Yahoo!? > The New Yahoo! Search - Faster. Easier. Bingo. |
From: Jerry W. <je...@we...> - 2003-05-12 15:06:03
|
Where can I find out more about this common problem? On Mon, 2003-05-12 at 16:32, Oren Miller wrote: > Looks like the common problem of not providing a DataDictionary. I believe allocations have repeating groups which require one. Otherwise, the message will appear corrupted and the session will go bad. This is being made more obvious in the next release. --oren > > Jerry Westrick <je...@we...> wrote:Thank you for your responce... > > first of, I'm receiving allocations, not sending (guess I wasn't clear > about that) > > I've managed to reproduce this with breaks in the debugger... > It Looks as if the error is in the field "BodyLength", but this > is not yet confirmed. > > What is wrong, is that after catching the InvalidMessage error, > further messages are not read! > > Of course, if the error is in physical length of the message, > anything is possible.... > > Stay tuned... > WOrking on it.... > > > > On Mon, 2003-05-12 at 14:57, Oren Miller wrote: > > Where are you sending the allocation too. Are you sure the allocation isn't causing the other side to stop responding for some reason? You say it hangs but then you say that heartbeats are sent, so it sounds like your process is still alive. Is everything back to normal when QF tries to logon again? > > > > Jerry Westrick wrote:Dear Sirs: > > > > I've got a problem, with quickfix. > > > > I've got an Initiator program, > > Everything works fine, till an Allocation is sent, > > then the quickFix lib hangs, and does not receive any > > more messages, (causing a HB timeout, 3 resends, then > > a logout). In recovery, the Allocation is lost. > > > > Does anybody have an Idea of what I could be doing wrong? > > > > How can I confirm the version of QuickFix I'm using? > > > > I'm sure that I'm doing something wrong... > > > > any help appreceated > > > > Jerry Westrick > > > > > > > > ------------------------------------------------------- > > Enterprise Linux Forum Conference & Expo, June 4-6, 2003, Santa Clara > > The only event dedicated to issues related to Linux enterprise solutions > > www.enterpriselinuxforum.com > > > > _______________________________________________ > > Quickfix-users mailing list > > Qui...@li... > > https://lists.sourceforge.net/lists/listinfo/quickfix-users > > > > --------------------------------- > > Do you Yahoo!? > > The New Yahoo! Search - Faster. Easier. Bingo. > > > > > ------------------------------------------------------- > Enterprise Linux Forum Conference & Expo, June 4-6, 2003, Santa Clara > The only event dedicated to issues related to Linux enterprise solutions > www.enterpriselinuxforum.com > > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users > > --------------------------------- > Do you Yahoo!? > The New Yahoo! Search - Faster. Easier. Bingo. |
From: Jerry W. <je...@we...> - 2003-05-13 14:44:36
|
Okay, I Thank all for your support. I've found the problem... the allocation message being sent to me, had illegaly formated groups. Once this was fixed, everything else worked. I think a check for this condituion would be desirable. here is an example of a bad formatted message: 8=FIX.4.29=41035=J49=UBSWZH1_TEST56=CAGZH_TEST34=7052=20030513-11:31:3843=N70=ZZ20030513-13:20:1771=073=137=20030513100735220000124=132=32153=3216=4415=EUR75=2003051360=20030513-11:59:4064=2003051678=179=230-0001929980=3112=413=3153=44119=9530120=EUR155=1156=D136=2137=4545138=EUR139=5137=45138=EUR139=454=255=DE0005140048=DE000514000822=430=DE11=PLC200313300024517=313086731=44.010=251 you'll notice that BodyLength=410, while returnValue from bodyLength()=386 Also the checksum fails. I donot know if the members of groups have to be continous or not, but the fix specification does say that NoOrders must be followed by ClOrdId, which is not the case here. Can anyone tell me if the groups elements are required to be continous? At any rate, thanks for the great software... and your support Jerry Westrick On Mon, 2003-05-12 at 11:15, Jerry Westrick wrote: > Dear Sirs: > > I've got a problem, with quickfix. > > I've got an Initiator program, > Everything works fine, till an Allocation is sent, > then the quickFix lib hangs, and does not receive any > more messages, (causing a HB timeout, 3 resends, then > a logout). In recovery, the Allocation is lost. > > Does anybody have an Idea of what I could be doing wrong? > > How can I confirm the version of QuickFix I'm using? > > I'm sure that I'm doing something wrong... > > any help appreceated > > Jerry Westrick > > > > ------------------------------------------------------- > Enterprise Linux Forum Conference & Expo, June 4-6, 2003, Santa Clara > The only event dedicated to issues related to Linux enterprise solutions > www.enterpriselinuxforum.com > > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users > |
From: Oren M. <ore...@ya...> - 2003-05-13 14:59:10
|
The FIX spec does require that fields in repeating groups be in the order they are presented in the spec. QF incoming validation isn't that strict, however the first field in a repeating group must be first because it acts as a delimiter. Right now, if fields are in the wrong order, it appears that a field is illegally repeated, causing one of the fields to overwrite the other (which causes the shorter length and checksum). A more specific error report would be helpful in future versions. Jerry Westrick <je...@we...> wrote: Okay, I Thank all for your support. I've found the problem... the allocation message being sent to me, had illegaly formated groups. Once this was fixed, everything else worked. I think a check for this condituion would be desirable. here is an example of a bad formatted message: 8=FIX.4.29=41035=J49=UBSWZH1_TEST56=CAGZH_TEST34=7052=20030513-11:31:3843=N70=ZZ20030513-13:20:1771=073=137=20030513100735220000124=132=32153=3216=4415=EUR75=2003051360=20030513-11:59:4064=2003051678=179=230-0001929980=3112=413=3153=44119=9530120=EUR155=1156=D136=2137=4545138=EUR139=5137=45138=EUR139=454=255=DE0005140048=DE000514000822=430=DE11=PLC200313300024517=313086731=44.010=251 you'll notice that BodyLength=410, while returnValue from bodyLength()=386 Also the checksum fails. I donot know if the members of groups have to be continous or not, but the fix specification does say that NoOrders must be followed by ClOrdId, which is not the case here. Can anyone tell me if the groups elements are required to be continous? At any rate, thanks for the great software... and your support Jerry Westrick On Mon, 2003-05-12 at 11:15, Jerry Westrick wrote: > Dear Sirs: > > I've got a problem, with quickfix. > > I've got an Initiator program, > Everything works fine, till an Allocation is sent, > then the quickFix lib hangs, and does not receive any > more messages, (causing a HB timeout, 3 resends, then > a logout). In recovery, the Allocation is lost. > > Does anybody have an Idea of what I could be doing wrong? > > How can I confirm the version of QuickFix I'm using? > > I'm sure that I'm doing something wrong... > > any help appreceated > > Jerry Westrick > > > > ------------------------------------------------------- > Enterprise Linux Forum Conference & Expo, June 4-6, 2003, Santa Clara > The only event dedicated to issues related to Linux enterprise solutions > www.enterpriselinuxforum.com > > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users > ------------------------------------------------------- Enterprise Linux Forum Conference & Expo, June 4-6, 2003, Santa Clara The only event dedicated to issues related to Linux enterprise solutions www.enterpriselinuxforum.com _______________________________________________ Quickfix-users mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-users --------------------------------- Do you Yahoo!? The New Yahoo! Search - Faster. Easier. Bingo. |
From: David S. <ds...@an...> - 2003-05-09 15:46:35
|
Jim, Take a look at MySQLStore and MySQLLog. If you maintain state in a MySQL db on a third machine, machines 1 and 2 (your main and backup FIX servers) can share that state. Dave On Fri, 9 May 2003, Jim Morgan wrote: [...] > > I'm planning to run QuickFIX on Linux, on two servers. If the primary > server goes down, the secondary server should cut in, and instantly be able > to pick up where the primary left off, using the same message sequence > numbers and message store location. The only information I've found so far [...] > > Jim |