Versions Compared

Key

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

Goals

Although the cutover period is projected to last up to a week, this could extend into two weeks or longer if data synchronization processes need to be restarted (as they did last time). We need to ensure that we have access to an accurate and complete reporting database source throughout the cutover period, ideally without having to change what is already in place for our dashboards, automated batch jobs, and automated reports. It is important to minimize the disruption to access to accurate data and to provide safeguards if the Metadb resychronization process fails and/or takes longer than expected.

Environment Definitions

FOLIO Production = the FOLIO Production application server, which is the data source for reporting databases

LDP = our current LDP production reporting database

Metadb1 = our current Metadb Production production reporting database

Metadb2 = a separate Metadb reporting database that does not become Metadb Production until updates, synchronization, and testing processes are complete (2-3 weeks)

3 Cutover Scenarios to Consider


SCENARIO 1 (METADB1 and METADB2)

DateCornell
Production
Production 
Reporting Database
Environment ChangesActivity
February 3 - 7, 2025
Metadb1
LDPLDP
reporting database
and Metadb1Reporting Team sets up dashboards, automated reports, and other
automation
processes to use
LDP
Metadb1 as data source during cutover period
February 7, 2025


Metadb1

FOLIO Production 
LDP

/Upgrade


Metadb1

Metadb2 reporting database

FOLIO Production is upgraded from PostgreSQL version 12 to

version 16LDP/Metadb1Metadb2 reporting databaseUpdate to folio-analytics v1.8.0-20241031174257 tagged release for derived tables

16. FOLIO Production is set up as source for continued streaming data to Metadb1. LDP is saved, but "frozen" without data updates.

start February 7, 2025
end Feb 14 - 21, 2025

LDP/
Metadb1FOLIO Production
Metadb2
reporting database
Metadb2 is upgraded from PostgreSQL version 12 to 16. Start data resynchronization process between FOLIO Production
application server and Metadb reporting database
and Metadb2.

for one week following
synchronization end:
February 17-21
OR
February 24-28

LDP/
Metadb1
Metadb2 reporting database
Metadb2 

Reporting

Team tests

and Automation Teams test data accuracy and performance on updated and resynchronized Metadb2. 
Based on results of testing, Cornell makes "Go/No Go" decision to continue using Metadb1 or to start using Metadb2 as production reporting database. 

March 1

Metadb2 or Metadb1, depending on "Go/No Go" decision

Metadb2
Metadb1
LDP


If decision is a "Go," Metadb2 becomes the production reporting database, and Metadb1 and LDP are retired. Reporting and Automation Teams set up dashboards, automated reports, and other processes to use Metadb2, or Hosting Team makes a seamless switch from Metadb1 to Metadb2 host addresses such that no host address changes are needed.

If decision is "No Go" Metadb1 continues running as the production reporting database until Metadb2 is working properly.

OR


SCENARIO 2 (LDP KEEPS RUNNING)

DateCornell Production 
Reporting Database
Environment ChangesActivity
February 3 - 7, 2025LDPLDP Reporting and Automation Teams set
Metadb reporting database
Reporting Team sets
up dashboards, automated reports, and other
automation
processes to use
Metadb
LDP as data source during cutover period.
February 7, 2025


LDPLDP 

FOLIO Production is upgraded from PostgreSQL version 12 to 16. FOLIO Production is set up as source for continued nightly LDP data transfers.

start February 7, 2025
end Feb 14 - 21, 2025

LDPMetadb1 Start data resynchronization process between FOLIO Production and Metadb1.

for one week following
synchronization end:
February 17-21
OR
February 24-28

LDP
/Metadb1/Metadb2:
depends on
Metadb1 

Reporting and Automation Teams test data accuracy and performance on updated and resynchronized Metadb1.

Based on results of testing, Cornell makes "Go/No Go" decision to continue using LDP or to start using Metadb1 as production reporting database.

March 1

LDP

/Metadb1 is retired if decision is

or Metadb1, depending on "Go/No Go" decision

LDP

/Metadb1 continues running if decision is


Metadb1

If "Go," Reporting and Automation Teams set up dashboards, automated reports, and other automation processes to use Metadb1.

If "No Go,"

until Metadb2 is working properly

LDP continues to serve as production reporting database until Metadb1 is working properly.


OR


SCENARIO 3 (REPORTING DATABASE SNAPSHOT SYNC)

DateCornell Production 
Reporting Database
Environment ChangesActivity
February 3 - 7, 2025Metadb1Metadb1Reporting and Automation Teams set up dashboards, automated reports, and other processes to use Metadb1 as data source during cutover period.
February 7, 2025


LDP

Metadb1temp

Metadb1original

Snapshot of Metadb1 reporting database is taken (e.g., pg_dump) and restored to a temporary PostgreSQL instance that is still on version 12 (Metadb1temp). Pause Debezium connector.

FOLIO Production is upgraded from PostgreSQL version 12 to 16.

Reconnect the upgraded FOLIO Production server to Metadb1temp and start Debezium to continue data streaming.

Use Metadb1temp for reporting during the upgrade and resynchronization of Metadb1original. 

start February 7, 2025
end Feb 14 - 21, 2025

Metadb1tempMetadb1original 

Metadb1original is upgraded from PostgreSQL version 12 to 16. 

Use Debezium Connector between Metadb1temp and Metadb1original to capture changes that took place during the upgrade process (resynchronize).

Once the upgrade and resychronization processes are complete on Metadb1original, switch the connection to the FOLIO Production server from Metadb1temp to Metadb1original.

for one week following
synchronization end:
February 17-21
OR
February 24-28

Metadb1temp

Metadb1original

Metadb1temp 

Reporting and Automation Teams test data accuracy and performance on updated and resynchronized Metadb1original.

Based on results of testing, Cornell makes "Go/No Go" decision to

use Metadb as Production Reporting Database and to retire LDP/

continue using Metadb1temp or to start using Metadb1original as production reporting database.

March 1

Metadb1original or Metadb1temp, depending on "Go/No Go" decision

Metadb1original

Metadb1temp

If "Go," Reporting and Automation Teams set up dashboards, automated reports, and other automation processes to use Metadb1original, or Hosting Team makes a seamless switch from Metadb1temp to Metadb1original host addresses such that no host address changes are needed.

If "No Go," Metadb1temp continues to serve as production reporting database until Metadb1original is working properly.



NOTES:

-Would using snapshots help?

-What about a 3rd scenario where the synchronization is done ahead of time?

-When do you have to do a resynch?

-when we update postgres (Yes)

-when we update Metadb software (no?)

-when we update to Eureka? 

-when we update to a new version of FOLIO on the application server? Yes


-FOLIO application servers must be upgraded on PostgreSQL 12 to 16
-Metadb is on version 14 of PostgreSQL 

-


-Ramsons upgrade in April , perhaps bundle with Metadb 1.4 release so we can resynchronize the data just once


-down 8am to 10am

-noon on Friday


From Nassib on 1-31-25:
Resync is not required when upgrading the Metadb software.  It may be required in some cases when upgrading the FOLIO software.  It is required for upgrading Postgres from versions prior to 17.