Version Phase Out

This section describes the consideration for phasing out old version agents.

Once the Rollout is complete for a new version, the older version should be phased out. Older version agents will be shutdown during these scenarios and the next higher version agent will process the older version jobs.

The solution design here is as follows:
  • Among all the OMS enterprise server deployments, the lowest rollout version is identified as the base version.
  • This means any agent running in base version mode(IsBaseVersion=Y) looks for data which is created from same version or lower.
  • Agent servers belonging to Rollout Version greater than base version(IsBaseVersion=N) would look for transaction data only with the same version as the agent’s Rollout Version.

The IsBaseVersion flag is passed in the agent Criteria parameter.

Note: When the older version is about to be phased out, ensure that newer version Agents can process older version transactional data
The agent would follow this logic:
  • EnableMultiVersionSupport=Y: Enables the multiversion support for the agent.
  • EnableMultiVersionSupport=N: Disables the multiversion support for the agent.
  • IsBaseVersion=Y: Process all transaction data with rollout version same as or lower than the agent Server’s rollout version. This would also process transaction data that is not version tagged.
  • IsBaseVersion=N: Process all transaction data with rollout version same as the agent Server’s rollout version.

Version Phase Out is explained below with the following example:

In an edge server deployment setup, OMS retail stores exist in the versions V1,V2 and V3(OMSedge V1, OMSedge V2, OMSedge V3) which send data to respective Corporate OMS instances with versions V1,V2 and V3(OMScorporate V1, OMScorporate V2, OMScorporate V3) where the transaction records are created.

At the time of creation, the records are stamped with the rollout versions of the respective Corporate OMScorporate instances.

The IsBaseVersion parameter is passed as true in the AgentCriteria parameters for V1 agent as V1 is the lowest version.

Transaction data Available:
Table 1.
Transaction(Driver Entity) Data Records ROLLOUT_VERSION
REC_1 V1
REC_2 V2
REC_3 V3
Table 2.
Agent Server Rollout Version Agent Criteria Parameter -IsBaseVersion Transaction Data Version (processed by agent server
V2 N V2
V3 N V3

With Multi Version support for the agents, Agents V1, V2 and V3 pick transaction data created from OMScorporate V1,V2 and V3 respectively.

Once all the Stores have moved to V2, that is, all instances of OMSedge V1 are now upgraded to OMSedge V2, the agents at Enterprise level for OMScorporate V1 can now be stopped.

This is followed by updating the IsBaseVersion in agentCriteria param to true for the agent V2.

With IsBaseVersion agentCriteria param set to true, the agents would pick driver transaction data as shown below:
Table 3.
Agent Server Rollout Version Agent Criteria Parameter -IsBaseVersion Transaction Data Version (processed by agent server)
V2 True V1 , V2 and NULL
V3 False V3

So with V2 being the base version, V2 agents would pick data created from the same Rollout Version V2 as well as any lower version(including data with Rollout Version set as blank) so in this case its V1 , V2 and <Blank>. V3 would continue to process data with Rollout Version V3.