Example
This topic describes an example of the alternate model loading process.
In this example, there are ten product models for a tenant named tenant1. All the models are published to TIBCO OPE. All the models are processed and the following model specific and common processed business objects in the cache-products bucket.
Cache-products Bucket | Date Modified |
---|---|
tenant1_product1.zip | 1-Jan-2019 10:00 AM |
tenant1_product2.zip | 1-Jan-2019 10:00 AM |
tenant1_product3.zip | 1-Jan-2019 10:00 AM |
tenant1_product4.zip | 1-Jan-2019 10:00 AM |
tenant1_product5.zip | 1-Jan-2019 10:00 AM |
tenant1_product6.zip | 1-Jan-2019 10:00 AM |
tenant1_product7.zip | 1-Jan-2019 10:00 AM |
tenant1_product8.zip | 1-Jan-2019 10:00 AM |
tenant1_product9.zip | 1-Jan-2019 10:00 AM |
tenant1_product10.zip | 1-Jan-2019 10:00 AM |
tenant1_COMMON_CACHE_PRD_CKSUM_CHARS_NODE1.zip | 1-Jan-2019 10:00 AM |
tenant1_COMMON_CACHE_PRD_CKSUM_REV_MAP_NODE1.zip | 1-Jan-2019 10:00 AM |
tenant1_COMMON_CACHE_PRD_FILTER_CACHE_NODE1.zip | 1-Jan-2019 10:00 AM |
tenant1_COMMON_CACHE_PRD_NO_SEGMENTS_NODE1.zip | 1-Jan-2019 10:00 AM |
tenant1_COMMON_CACHE_PRD_TOP_LVL_PRDS_NODE1.zip | 1-Jan-2019 10:00 AM |
After publishing, a model, product11, is added to the customer offerings and one model, product2, is updated with compatible and incompatible segment information. A partial publish is performed in the integration test environment and end-to-end testing is completed to make sure no errors are encountered.
In the integration test environment, the contents of the cache-product are listed in the following table. The updated contents are marked in bold.
Cache-products Bucket | Date Modified |
---|---|
tenant1_product1.zip | 1-Jan-2019 10:00 AM |
tenant1_product2.zip | 3-Jan-2019 11:10 AM |
tenant1_product3.zip | 1-Jan-2019 10:00 AM |
tenant1_product4.zip | 1-Jan-2019 10:00 AM |
tenant1_product5.zip | 1-Jan-2019 10:00 AM |
tenant1_product6.zip | 1-Jan-2019 10:00 AM |
tenant1_product7.zip | 1-Jan-2019 10:00 AM |
tenant1_product8.zip | 1-Jan-2019 10:00 AM |
tenant1_product9.zip | 1-Jan-2019 10:00 AM |
tenant1_product10.zip | 1-Jan-2019 10:00 AM |
tenant1_COMMON_CACHE_PRD_CKSUM_CHARS_NODE1.zip | 3-Jan-2019 11:10 AM |
tenant1_COMMON_CACHE_PRD_CKSUM_REV_MAP_NODE1.zip | 3-Jan-2019 11:10 AM |
tenant1_COMMON_CACHE_PRD_FILTER_CACHE_NODE1.zip | 3-Jan-2019 11:10 AM |
tenant1_COMMON_CACHE_PRD_NO_SEGMENTS_NODE1.zip | 3-Jan-2019 11:10 AM |
tenant1_COMMON_CACHE_PRD_TOP_LVL_PRDS_NODE1.zip | 3-Jan-2019 11:10 AM |
In the alternate model loading process, instead of re-publishing these models, you can manually copy the modified files to the cache-product bucket in the production environment.
Copy the following files from the integration test environment to the production environment.
Cache-products Bucket | Date Modified |
---|---|
tenant1_product2.zip | 3-Jan-2019 11:10 AM |
tenant1_COMMON_CACHE_PRD_CKSUM_CHARS_NODE1.zip | 3-Jan-2019 11:10 AM |
tenant1_COMMON_CACHE_PRD_CKSUM_REV_MAP_NODE1.zip | 3-Jan-2019 11:10 AM |
tenant1_COMMON_CACHE_PRD_FILTER_CACHE_NODE1.zip | 3-Jan-2019 11:10 AM |
tenant1_COMMON_CACHE_PRD_NO_SEGMENTS_NODE1.zip | 3-Jan-2019 11:10 AM |
tenant1_COMMON_CACHE_PRD_TOP_LVL_PRDS_NODE1.zip | 3-Jan-2019 11:10 AM |
As the files that were used in the integration test environment, you can be assured of the functionality working in the production environment.
After the files are copied to the production environment, modify Consul to update the models key to inform all the running OPE instances to copy updated memory objects. To perform this step, log into Consul and modify the following key and its date to any other value.
/config/application/tenants/tenant1/PRODUCT_CACHE