Migrating transaction data before history data for individual colonies

About this task

The yfs.api.history.disable.colony.<colony_id> property allows you to migrate transaction data for individual colonies in a sharded deployment before migrating the history data. When performing a colony-by-colony upgrade, you can use this property to migrate data without completely shutting down the production environment for the individual colonies. Use the yfs.api.history.disable property when you are migrating all colonies; use the yfs.api.history.disable.colony.<colony_id> property when you are migrating individual colonies.

If you are using the yfs.api.history.disable.colony.<colony_id> property to migrate the transaction data before the history data for individual colonies, follow these steps:

Procedure

  1. Follow the colony-by-colony upgrade strategy, as described in this chapter. However, when upgrading colonies in sharded mode, migrate only the transaction data to Production_V2, and not the history data.
  2. After returning the colonies to the production environment, go to Production_V2 and use the customer_overrides.properties file to set the yfs.api.history.disable.colony.<colony_id> property to True.
    Note: When you set the yfs.api.history.disable property to True, the application stops writing data to the history tables across all colonies in the production environment. However, if you use the yfs.api.history.disable.colony.<colony_id> property, only the history tables for the specified colony are disabled, instead of the history tables for all the colonies in the production environment. The yfs.api.history.disable.colony.<colony_id> property is useful when upgrading one or more colonies to a production environment where other colonies are already deployed.
  3. Bring up your application server.
  4. From Upgrade_V2, migrate your history data. When executing targets, <INSTALL_DIR> corresponds to Upgrade_V2 and <INSTALL_DIR_OLD> corresponds to Upgrade_V1.

    At this point, the TRANSACTION/MASTER database parameters for the colony in your Upgrade_V2 environment continue to refer to the TRANSACTION/MASTER shard from the production environment.

  5. In Production_V2, use the customer_overrides.properties file to set the yfs.api.history.disable.colony.<colony_id> property to False.
  6. Restart your application server.