Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 41 Next »

This article describes the ways to upgrade the FIXEdge to a new version.

The difference between FIXEdge Installation and upgrade is to keep the working configuration unchanged but use the new version of binaries with the new features and fixes

Preparation

  1. Make sure you have sufficient administration permissions for further uninstall/install procedures.
  2. Download new FIX Edge package for the corresponding OS version;
  3. Make a backup copy of your current installation (configuration and binaries);
  4. Make a copy of your current license (engine.license).
    If your license has expired or was lost, contact sales@btobits.com to obtain the new one;
  5. If it is needed to save data queued by Managed Queue then backup all the files from FixLayer.<managed_queue_name>.Storage.SQLite.FileName parameters in FIXEdge.properties

For FIXEdge version 6.5.0 and higher VS2015 C++ redistributable is required. It can be found in FIXEdge's \Redist directory or downloaded from Microsoft web-site.

Replace the current FIXEdge version with a new one

This section shows how to upgrade the existing FIXEdge version and keep all configuration files unchanged.

The upgrade requires a full stop of the FIXEdge services for maintenance

Upgrade Process

  1. Make sure that there is a backup copy of the working installation.
  2. Stop the FIXEdge service process
  3. Stop the FIXICC-agent service process
  4. Uninstall the FIXEdge service(s)
  5. Uninstall the FIXICC Agent service(s)
  6. Upgrade FIXEdge binaries
    Copy and overwrite all files in FIXEdge's <FIXEdge installation>/bin/ directory with new binaries from the FIXEdge package

    If scripts in bin/ directory (*.sh or *.cmd) were modified earlier then they should be recovered from the backup 

  7. Make FIXEdge configuration parameters adjustment if it's needed. 
    Make sure that your configuration files correspond last changes/improvements in new product versions

    1. Visit FIXEdge Release Notes page and look through the changes made from the current FIXEdge version to target the FIXEdge version.
      1. If last product changes require an update of your current FIXEdge's and FIXICC's config files, adjust them to satisfy new requirements;
      2. If last product changes don't affect your current FIXEdge's and FIXICC's config files, you may leave them as is;
      3. In case of doubts, please contact SupportFIXAntenna@epam.com;

    It is critically important to update all absolute paths in the configuration.

    The recommendation is to use relative paths for simplifying upgrade steps

    Until the version, 5.11 FIXEdge's instance directory had the name <FixEdge1>. Since version 5.11 FIXEdge's instance directory name is <FIXEdge1>.

  8. Upgrade FIXICC
    Remove <FIXEdge installation>/fixicc-agent/ and <FIXEdge installation>/fixicc/ directories
    Copy all files in FIXEdge's <FIXEdge installation>/fixicc-agent/ directory with new binaries from the FIXEdge package
    Copy all files in FIXEdge's <FIXEdge installation>/fixicc/ directory with new binaries from the FIXEdge package
  9. If there were changes in fixicc-agent and fixicc configuration then replace the new configuration with the configuration from the backup

    the default Windows path for fixicc-agent configuration is: fixicc-agent\FIXEdge1.fixicc-agent\conf\

    the default Linux path for fixicc-agent configuration is: fixicc-agent/conf

    I.e the following configuration should be re-used from the old FIXEdge

    • fixicc/etc/fixengine.properties
    • fixicc/etc/fixicc/log4j.properties
    • fixicc-agent/conf/fixengine.properties
    • fixicc-agent/conf/agent.properties
    • fixicc-agent/conf/log4j.properties
    • fixicc-agent/conf/OrderAckTCPMonitor.properties 
    • fixicc-agent/conf/security.properties
  10. Upgrade Transport Adaptors and Handlers if use them:
    1. Visit FIXEdge Release Notes page;
    2. Look through the changes made with Transport Adaptors and Handlers from the current FIXEdge version to target the FIXEdge version:
      1. If any improvements/bugfixes were done in JMS Adaptor, then:
        1. Replace all jar files for JMS adapter with new jar files from the FIXEdge package in FIXEdge's FIXEdge1\conf\jms-ta-distribution\lib directory;
        2. Replace all jar files for JMS adapter with new jar files from the FIXEdge package in FIXEdge's FIXEdge1\conf\jms-ta-distribution\tool\lib directory;
      2. If any improvements/bugfixes were done in RabbitMQ Adaptor, then:
        1. Replace all jar files for RMQ adapter with new jar files from the FIXEdge package in FIXEdge's FIXEdge1\conf\amqp-ta-distribution\lib directory;
      3. If any improvements/bugfixes were done in other Transport Adaptors or Handlers, then:
        1. Replace corresponding binaries with new ones from the package with SupAdapters in FIXEdge's <bin> directory;

      In case you have several instances of one Transport Adaptor (it means there are several copies of one TA library), need to upgrade all of them.

    "Replace" in this context means that files should be deleted from the current FE directory and new files from the package should be added there. This clarification is made in order to avoid the situation when two (or more) same libraries with different versions appear in the directory as it may cause issues.

  11. If using the Managed Queue, (i.e. FixLayer.ManagedQueue.Sessions parameter is configured) recover the queue files that were done in Preparation step #5
    If data from the queue is not needed then you can skip this step. A new file will be created automatically after restarting the FIXEdge instance if it will be missing
  12. Copy your FIXEdge license into the license file path;
  13. Install the FIXEdge service(s);
  14. Install the FIXICC-agent service(s);
  15. Start the FIXICC-agent process;
  16. Start the FIXEdge process.

How to upgrade FIXEdge and keep the current version running

This section shows how to set up a new copy of FIXEdge that would be an upgraded version of the current FIXEdge.

In this case, all required configuration is transferred and the working version is not stopped so the upgrade can be smooth to the users

The limitation of this upgrade procedure is FIXICC will be still pointing to the working (old) version of FIXEdge. 

Configuration of FIXICC for working with 2 FIXEdges simultaneously is requiring additional configuration steps.


Upgrade Process


  1. Make sure that there is a backup copy of the working installation.
  2. Unpack the archive with the new FIXEdge version to a new directory
  3. Replace all files in FIXEdge1\conf directory of the new FIXEdge instance with the working ones from the current (old) FIXEdge version
    Make sure that the working configuration remain unchanged
  4. Make FIXEdge configuration parameters adjustment if it's needed. 
    In case if FIXEdge uses absolute paths they should be updated with the new paths.

    It is critically important to update all absolute paths in the configuration.

    The recommendation is to use relative paths for simplifying upgrade steps

    Until the version, 5.11 FIXEdge's instance directory had the name <FixEdge1>. Since version 5.11 FIXEdge's instance directory name is <FIXEdge1>.

  5. FIXICC configuration parameters adjustment

    Skip this step if there are no changes in fixicc and fixicc-agent configuration.

    If you're unsure then follow the steps below.

    1. FIXICC changes in the new installation directory
      1. Replace fixicc/etc/fixengine.properties with a file from the working (old) FIXEdge version
      2. Replace fixicc/etc/fixicc/log4j.properties with a file from the working (old) FIXEdge version
    2. FIXICC-agent changes

      the default Windows path for fixicc-agent configuration is: fixicc-agent\FIXEdge1.fixicc-agent\conf\

      the default Linux path for fixicc-agent configuration is: fixicc-agent/conf

      1. Replace fixicc-agent/conf/fixengine.properties with a file from the working (old) FIXEdge version
      2. Replace fixicc-agent/conf/agent.properties with a file from the working (old) FIXEdge version
      3. Replace fixicc-agent/conf/log4j.properties with a file from the working (old) FIXEdge version
      4. Replace fixicc-agent/conf/OrderAckTCPMonitor.properties with a file from the working (old) FIXEdge version
      5. Replace fixicc-agent/conf/security.properties with a file from the working (old) FIXEdge version



  6. If you use Transport Adaptors or Handlersneed to make sure that they are configured properly:

    If you have several instances of one Transport Adapter in your current configuration, please follow the How to configure several instances of one adapter instruction to setup it in a new configuration.

    1. For JMS AdaptorRabbitMQ AdaptorSMTP AdaptorFMXML HandlerBLLanguageExtension Handler - all corresponding libraries are already in FIXEdge1\bin directory of the new FIXEdge instance, nothing is required;
    2. If you use any other Transport Adaptors or Handlers, you need to put corresponding libraries to FIXEdge1\bin directory of the new FIXEdge instance - see the installation guides for each adaptor/handler for details;

    3. CME STP Adapter is provided separately as a part of the Supplementary Adapters and Handlers package (SupAdapters-FE-*)
      The new version of the package should be downloaded and binaries should be replaced.

      Using the old version of the adapter's library may lead to application failures



  7. If you use Failover Cluster, please follow Failover Cluster instruction to configure it for the new FIXEdge instance;
  8. Make sure that your configuration files correspond last changes/improvements in new product versions:
    1. Visit FIXEdge Release Notes page;
    2. Look through the changes made from the current FIXEdge version to target the FIXEdge version:

      1. If last product changes require an update of your current FIXEdge's and FIXICC's config files, adjust them to satisfy new requirements;
      2. If last product changes don't affect your current FIXEdge's and FIXICC's config files, you may leave them as is;
      3. In case of doubts, please contact SupportFIXAntenna@epam.com;
  9. If using the Managed Queue, (i.e. FixLayer.ManagedQueue.Sessions parameter is configured) recover the queue files that were done in Preparation step #5
    If data from the queue is not needed then you can skip this step. A new file will be created automatically after restarting the FIXEdge instance if it will be missing
  10. Copy your FIXEdge license into the license file path;
  11. At this moment new FIXEdge is installed as a separate one however it still requires additional steps for using it in parallel with the old version.  

Additional steps for running two FIXEdges in parallel

The main goal behind this process is to distinguish two FIXEdges and avoid the configuration conflicts such as mutual ports.

  1. Perform configuration steps from instruction How to install two instances of FIXEdge on one host
  2. Make sure that all services from the new FIXEdges are installed
  3. Run fixicc and adjust the servers list

    Sometimes it's required to remove all content of FIXICC's working dir <.fixicc>  except servers.xml file.

    Working dir is normally placed in C:\Users\%USER%\AppData\Roaming directory;

Upgrade verification

Run FIXEdge and check the version in the version.log

FixEdge.log
2016-09-20 10:46:19,459 UTC   INFO    [CC_Layer]  5552  FIXEdge Version X.Y.Z (rxyz) started

How to revert upgrade procedure

If you need to revert changes in order to use your original FIXEdge version (that was used before the upgrade), you need to do the following steps:

  1. Stop the FIXEdge process;
  2. Stop the FIXICC-agent process;
  3. Uninstall the FIXEdge service(s);
  4. Uninstall the FIXICC Agent service(s);
  5. Remove all content of FIXICC's working dir <.fixicc>  except servers.xml file. Working dir is normally placed in C:\Users\%USER%\AppData\Roaming directory;
  6. Restore your backup copy with original FIXEdge version;
  7. Install the FIXEdge service(s) of the restored original FIXEdge version;
  8. Install the FIXICC-agent service(s) of the restored original FIXEdge version;
  9. Start the FIXICC-agent process of the restored original FIXEdge version;
  10. Start the FIXEdge process of the restored original FIXEdge version.

Troubleshooting

FIXEdge started to fail after the Upgrade

If FIXEdge started to crash after the upgrade and some adapters or handlers is used in the configuration probably step #4 in Upgrade process wasn't done properly

Please check that all adapters and handlers (e.g. CME STP Adapter) have the same revision as FIXEdge in versions.log

versions.log
2019-08-05 19:46:17,886 UTC   INFO    [Version]  22036  TransportLayer' version 0.1.1.5(r31)
2019-08-05 19:46:17,886 UTC   INFO    [Version]  22036  FIXEdge version 6.7.0 (r31)
2019-08-05 19:46:18,317 UTC   INFO    [Version]  22036  FIXMLConverter version 0.0.2.19(r31)
2019-08-05 19:46:18,390 UTC   INFO    [Version]  22036  BusinessLayer version 0.0.20.00(r31)
2019-08-05 19:46:18,392 UTC   INFO    [Version]  22036  Engine Adaptor version 0.0.1.17(r31)
2019-08-05 19:46:18,402 UTC   INFO    [Version]  22036  The B2BITS FIX Engine 2.25.1 (r51)
2019-08-05 19:46:19,279 UTC   INFO    [Version]  22036  FIX Engine AdminProtocol version 3.0
2019-08-05 19:46:22,398 UTC   INFO    [Version]  22036  FixEngine version 0.0.2.2(r31)
2019-08-05 19:46:22,399 UTC   INFO    [Version]  22036  FixLayer version 0.2.1.5(r31)
2019-08-05 19:46:22,411 UTC   INFO    [Version]  22036  STP Transport Adaptor version 0.1 (r31)

Solution:

Upgrade transport adapters and handlers to the same version as FIXEdge


  • No labels