Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

  1. FMXML Handler initialization:

    Code Block
    <timestamp> INFO    [FMXMLHandler]  <thread> FMXMLHandler v.0.0.0.3 has been initialized.

...

  1. FIX Engine initialization:

    Code Block
    <timestamp> INFO    [Engine]  <thread>   The B2BITS FIX Engine 2.20.2 (r59) is starting (using 

...

  1. /FixEdge1-qa/FixEdge1/conf/engine.properties)
    <timestamp> INFO    [Engine]  <thread>   The B2BITS FIX Engine was started successfully.

...

  1. Sessions initialization:

    Code Block
    <timestamp> INFO    [Engine]  <thread>   Session <CMESTPFIX1, nasdaq> :  Change state: old state=Initial new state=WaitForFirstLogon

...

  1. 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.

...

  1. FIXEdge initialization has been finished:

    Code Block
    <timestamp>  INFO    [FIXEdge init]  <thread>  FixEdge pid file '

...

  1. /FixEdge1-qa/FixEdge.pid'.

...

  1. 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 

  1. 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'.

...

  1. 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 <FIXCLIENT, 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 <FIXCLIENT, FIXSERVER> : Error during processing Logon message from 10.101.4.131:64333: Session with SenderCompID=FIXCLIENT, TargetCompID=FIXSERVER 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
titleFixEdge.log
<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
titleFixEdge.log
<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
languagebash
yum install openldap

Make sure that libldap.so and libldap_r.so are in the system paths, otherwise please create a symlink

Code Block
languagebash
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