Table of Contents |
---|
Solution overview
The solution is using the following components:
...
Each component could generate error records depending on conditions causing the issue.
Description for logs:
...
FIXEdge initialization steps
FMXML Handler initialization:
Code Block <timestamp> INFO [FMXMLHandler] <thread> FMXMLHandler v.0.0.0.3 has been initialized.
...
FIX Engine initialization:
Code Block <timestamp> INFO [Engine] <thread> The B2BITS FIX Engine 2.20.2 (r59) is starting (using /
...
FixEdge1-qa/FixEdge1/conf/engine.properties) <timestamp> INFO [Engine] <thread> The B2BITS FIX Engine was started successfully.
...
Sessions initialization:
Code Block <timestamp> INFO [Engine] <thread> Session <CMESTPFIX1, nasdaq> : Change state: old state=Initial new state=WaitForFirstLogon
...
STP adaptor initialization:
Code Block <timestamp> INFO [STPAdaptor] <thread> CMESTP Adaptor 0.1 rev. 238 has been initialized. <timestamp> INFO [STPAdaptor] <thread> STP Adaptor v.0.1 started.
...
FIXEdge initialization has been finished:
Code Block <timestamp> INFO [FIXEdge init] <thread> FixEdge pid file '
...
/
...
FixEdge1-qa/FixEdge.pid'.
...
FIXEdge has been initialized and ready to work.
Info |
---|
There should be no messages with ERROR and FATAL before this record. |
6. STP adaptor receives a Logon message from session. The session isn’t defined in STP configuration:
Code Block |
---|
<timestamp> INFO [STPAdaptor] <thread> Received FIX Email message contains unknown sender name 'CMESTPFIX1:orchestrade_financial', message was skipped. |
...
Expected log records
An administrative session for FIXICC has been connected:
Code Block <timestamp> INFO [Engine] <thread> Incoming TCP connection was detected (from 127.0.0.1:<port>). <timestamp> INFO [Engine] <thread> Session <FIXADMIN, AdminClient> : session with 127.0.0.1:<port> was established <timestamp> INFO [Engine] <thread> Session <FIXADMIN, AdminClient> : Change state: old state=WaitForFirstLogon new state=Established
8. Error. STP adapter unable to route a message:
Code Block |
---|
<timestamp> ERROR [STPAdaptor] <thread> Send message to user failed, reason: 'Observer->send returns false'. |
...
STP Adapter Sends trade capture reports to the user:
Code Block <timestamp> UTC INFO [STPAdaptor] <thread> Start processing of <XXX> of <YYY> : <TrdCaptRpt > ... </ TrdCaptRpt >
...
Troubleshooting
Session disconnections
...
Code Block |
---|
<timestamp> INFO [Engine] <thread> Session <CMESTPFIX3<FIXCLIENT, IRATFIRM>FIXSERVER> : Change state: old state=Established new state=NonGracefullyTerminated |
...
Connection attempts with an unexpected session:
A record in the logs:
Code Block |
---|
<timestamp> WARN [Engine] <thread> Session <CMESTPFIX1<FIXCLIENT, ATS_BROKER1>FIXSERVER> : Error during processing Logon message from 10.101.4.131:64333: Session with SenderCompID=CMESTPFIX1FIXCLIENT, TargetCompID=ATS_BROKER1FIXSERVER is not found. |
Solution:
Add session <FIXCLIENT, FIXSERVER> to FIXEdge. E.g. via FIXICC
Error. STP adapter unable to route a message
A record in the logs:
Code Block |
---|
<timestamp> ERROR [STPAdaptor] <thread> Send message to user failed, reason: 'Observer->send returns false'. |
Solution:
Ignore.
Info |
---|
Fixed since FIXEdge 6.4.0 |
OpenLDAP functionality wasn't enabled due to an exception during initialization
A record in the logs:
Code Block | ||
---|---|---|
| ||
<timestamp> Severity=ERROR TheardID=<thread> Category=BL_RoutingTable Incorrect event found: OpenLDAP functionality wasn't enabled due to exception during initialization: Error loading library 'libldap_r.so' or dependencies. libldap_r.so: cannot open shared object file: No such file or directory |
Code Block | ||
---|---|---|
| ||
<timestamp> Severity=INFO LogID=N/A TheardID=<thread> Category=STPAdaptor Created new user session CMESTPFIX3@SESSION1
<timestamp> Severity=WARN LogID=N/A TheardID=<thread> Category=STPAdaptor not logged in, sending reject message. |
The reason:
FIXEdge FIXEdge couldn't initialize OpenLDAP library so LDAP can't be initialized.
Solution:
Make sure that libldap is installed.
To install it on RH7 use:
Code Block | ||
---|---|---|
| ||
yum install openldap |
Make sure that libldap.so and libldap_r.so are in the system paths, otherwise please create a symlink
Code Block | ||
---|---|---|
| ||
ln -s /usr/lib64/libuser/libuser_ldap.so /usr/lib64/libldap.so
ln -s /usr/lib64/libldap_r-2.4.so.2.10.7 /usr/lib64/libldap_r.so |