Versions Compared

Key

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

Test status: COMPLETED WITH ERRORS

...

  • Running FYR on eureka completed with errors. Tests failed multiple times on overall order rollover with 504 Gateway Time-out issue.
  • The problem confirmed on okapi based environment. In scope of investigation of the problem the Time-out was solved changing parameter max_locks_per_transaction in DB configuration from 64 to 1024.
  • Eureka based environment (after changes were applied): 
    • #1 Phase Test FYR took 3 hours 35 minutes, completed successfully.
    • #2 Phase actual FYR took 8 hours and completed with errors* (Order rollover Error).
  • Okapi based environment (after changes were applied, testing is carried out in scope of investigation to check functionality of FYR):
    • #1 Phase Test FYR took 3 hours 20 minutes. Completed successfully.
    • #2 Phase actual FYR took 9 hours 7 minutes. Completed successfully.
  • Service CPU utilization for both phases was under 5% on eureka environment except a spike at the beginning of test rollover (mod-finance-storage - 16%, mod-invoice - 10%). Module mod-inventory - 11% during whole test. 
  • DB CPU usage was on level of 9% during #1 Phase and there was growing trend from 9% to 15% during the rollover itself on Eureka environment with 4xlarge database. On xlarge database - 39% without growth.
  • No memory leaks were found.

Recommendations & Jiras

  • Set max_locks_per_transaction parameter in DB cluster and instance configurations from default 64 to 1024 to avoid Time-out issue during actual rollover (#2 Phase).
  • Investigation of issues on Eureka based environment
    Jira Legacy
    serverSystem Jira
    serverId01505d01-b853-3c2e-90f1-ee9b165564fc
    keyMODFISTO-495
    - Time out issue.

Errors

  • 127.0.0.1:43264 POST /finance/ledger-rollovers null HTTP_1_1 500 265 400027 tid=[tenant] Internal Server Error. This error happens when we try FYR with more than 10k open orders. The last attempt to run FYR with 50k open orders after changed recommended parameter max_locks_per_transaction failed. A new observation here is that budgets became unavailable with this amount of data. Probably it may cause fail of FYR. 
  • Error message: io.vertx.core.impl.NoStackTraceThrowable: Response status code 401 is not between 200 and 299,qelc2/mod-finance-storage/9044d47f773b48a99cc6c8420864b724 which indicate possible RTR issue.
  • WARN [org.fol.sid.ser.rou.RequestMatchingService] (vert.x-eventloop-thread-4) Egress routing entry was not found for the request's path. Forwarding request to the Gateway:moduleId = sc-mod-finance-storage, path = /orders/rollover, destination = https://kong-qelc2.int.aws.folio.org, x-okapi-module-id = null",qelc2/sidecar-mod-finance-storage/9044d47f773b48a99cc6c8420864b724,054267740449:qelc2-folio-eis
  • ERROR edgerRolloverService handleOrderRolloverError:: Orders rollover failed for ledger f38a29f5-feaa-4363-98a1-1eba79557c9c

...

Note: Instance level CPU screenshots is not included in this report. Taking into account that Fiscal Year Rollover process is mostly happening on DB side - it's barely visible on service CPU, so it's invisible on instance CPU. 

Test FYR (

...

Eureka)

Low CPU usage during FYR reflects that it can handle large fiscal year transitions efficiently. As the process runs mostly on database level. 

...

mod-orders, mod-orders-storage - 1,5%, 3%

mod-finance - under 1%

FYR (

...

Eureka)

Maximum CPU utilization by modules on eureka:

mod-inventory - 11%

mod-orders - 1.5%

...

mod-finance storage - 1.2%

Memory Utilization

Test FYR (

...

Eureka)

Memory usage by modules graph does not show any memory leaks trends.

Memory usage by modules:

mod-finance-storage - 85%

...

mod-orders - 57%

mod-orders-storage - 46%

FYR (

...

Eureka)

Memory usage by modules graph does not show any memory leaks trends.

...

mod-orders-storage - 46%

DB CPU Utilization

Test FYR (

...

Eureka)

DB CPU usage range: 9% - 20%

Test

...

FYR (non-Eureka)

FYR (

...

Eureka)

Maximum DB CPU usage - 99%

FYR (

...

non-Eureka)

Spikes are connected to fqm manager queries (as example - REFRESH MATERIALIZED VIEW CONCURRENTLY [tenant]_0001_mod_fqm_manager.drv_langu...). Do not affect duration of FYR.

DB Connections

Test

...

FYR (

...

Eureka)

Test

...

FYR (non-Eureka)

...

FYR (

...

Eureka)

...

FYR (non-Eureka)

On qcon module mod-serials spiking affect DB connections growth from 700 to 1400.

DB Load

Test FY rollover (

...

non-Eureka)

FY rollover

...


Top SQL

Test FY rollover (

...

non-Eureka)

FY rollover

...

Appendix

Infrastructure

PTF -environment qelc2

  • 10 m6i.2xlarge EC2 instances located in US East (N. Virginia)us-east-1
  • 1 database  instance, writer.

    NameMemory GIBvCPUsmax_connections

    db.r6g.4xlarge

    128 GiB16 vCPUs4000
    db.r6g.xlarge32 GB4vCPUs2000

    database cluster and instance parameters max_locks_per_transaction - 64, changed to 1024

  • MSK fse-tenant
    • 4 kafka.m7g.xlarge brokers in 2 zones (2 brokers per zone)
    • Apache Kafka version 3.7.x, metadata mode - KRaft

    • EBS storage volume per broker 300 GiB

    • auto.create.topics.enable=true
    • log.retention.minutes=480
    • default.replication.factor=3

PTF -environment qcon

  • 10 m6i.2xlarge EC2 instances located in US East (N. Virginia)us-east-1
  • 1 database  instance, writer

    NameMemory GIBvCPUsmax_connections

    db.r6g.xlarge

    32 GiB4 vCPUs2000

    database cluster and instance parameters max_locks_per_transaction - 64, changed to 1024

Expand
titleModule QELC2

Cluster Resources - qelc2-pvt (Wed Nov 06 11:34:51 UTC 2024)

ModuleTask Definition RevisionModule VersionTask CountMem Hard LimitMem Soft LimitCPU UnitsXmxMetaspace SizeMax Metaspace Size
mod-remote-storage22mod-remote-storage:3.2.004920447210243960512512
mod-remote-storage - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-finance-storage24mod-finance-storage:8.6.101024896102470088128
mod-finance-storage - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-ncip23mod-ncip:1.14.501024896076888128
mod-ncip - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-agreements22mod-agreements:7.0.60159214880000
mod-agreements - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-ebsconet21mod-ebsconet:2.2.0012481024128700128256
mod-ebsconet - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
edge-sip26edge-sip2:3.2.501024896076888128
mod-organizations23mod-organizations:1.9.201024896076888128
mod-organizations - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-settings21mod-settings:1.0.30102489620076888128
mod-settings - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-serials-management22mod-serials-management:1.0.302480231201792384512
mod-serials-management - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-search21mod-search:3.2.6025922480204814405121024
mod-search - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-data-import21mod-data-import:3.1.10204818442561292384512
mod-data-import - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
edge-dematic9edge-dematic:2.2.301024896076888128
mod-consortia-keycloak20mod-consortia-keycloak:1.4.205136477610244416384512
mod-consortia-keycloak - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-tags21mod-tags:2.2.001024896076888128
mod-tags - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
edge-courses9edge-courses:1.4.201024896076888128
mod-inventory-update22mod-inventory-update:3.3.101024896076888128
mod-inventory-update - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-notify21mod-notify:3.2.001024896076888128
mod-notify - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-configuration23mod-configuration:5.10.001024896076888128
mod-configuration - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-orders-storage36mod-orders-storage:13.7.40102489651270088128
mod-orders-storage - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
folio-keycloak16folio-keycloak:25.0.1.1500168415360204800
edge-caiasoft9edge-caiasoft:2.2.401024896076888128
mod-password-validator21mod-password-validator:3.2.10144012980768384512
mod-password-validator - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-gobi23mod-gobi:2.8.101024896076888128
mod-gobi - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-licenses21mod-licenses:6.0.30248023125121792384512
mod-licenses - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-bulk-operations17mod-bulk-operations:2.0.203072260001536384512
mod-bulk-operations - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-fqm-manager24mod-fqm-manager:2.0.501024896076888128
mod-fqm-manager - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-graphql21mod-graphql:1.12.101024896076888128
mod-graphql - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-finance26mod-finance:4.9.001024896076888128
mod-finance - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-roles-keycloak29mod-roles-keycloak:1.4.401024896051288256
mod-roles-keycloak - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-batch-print18mod-batch-print:1.1.001024896076888128
mod-batch-print - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-copycat21mod-copycat:1.6.001024896076888128
mod-copycat - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-lists23mod-lists:2.0.601024896076888128
mod-lists - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-permissions38mod-permissions:6.5.00168415445121024384512
mod-permissions - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-entities-links21mod-entities-links:3.0.2025922480400144001024
mod-entities-links - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
pub-edge2pub-edge:2023.06.1401024896076800
mod-orders26mod-orders:12.8.802048174010241024384512
mod-orders - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
kong14kong:3.7.1.83061446144204876888128
edge-patron9edge-patron:5.1.20102489625676888128
mod-users-keycloak32mod-users-keycloak:1.5.301024896051288256
mod-users-keycloak - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
edge-ncip9edge-ncip:1.10.101024896076888128
mgr-applications10mgr-applications:1.3.30102489651251288256
mod-users-bl18mod-users-bl:7.8.001440115251292288128
mod-users-bl - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mgr-tenants10mgr-tenants:1.3.30102489651251288256
mod-invoice29mod-invoice:5.8.201440115251292288128
mod-invoice - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-inventory-storage24mod-inventory-storage:27.1.404096369020483076384512
mod-inventory-storage - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-user-import21mod-user-import:3.8.001024896076888128
mod-user-import - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-sender22mod-sender:1.12.001024896076888128
mod-sender - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
edge-oai-pmh9edge-oai-pmh:2.9.201512136010241440384512
mgr-tenant-entitlements10mgr-tenant-entitlements:1.2.40102489651251288256
mod-login-keycloak31mod-login-keycloak:1.4.301024896051288256
mod-login-keycloak - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-data-export-worker21mod-data-export-worker:3.2.403072280010242048384512
mod-data-export-worker - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-rtac21mod-rtac:3.6.001024896076888128
mod-rtac - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-circulation-storage31mod-circulation-storage:17.2.302880259215361814384512
mod-circulation-storage - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-scheduler22mod-scheduler:1.2.301024896051288256
mod-scheduler - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-calendar21mod-calendar:3.1.001024896076888128
mod-calendar - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-source-record-storage26mod-source-record-storage:5.8.605600500020483500384512
mod-source-record-storage - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-event-config21mod-event-config:2.7.101024896076888128
mod-event-config - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-courses20mod-courses:1.4.1001024896076888128
mod-courses - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-inventory24mod-inventory:20.2.702880259210241814384512
mod-inventory - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-email21mod-email:1.17.00280025505121800384512
mod-email - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-di-converter-storage23mod-di-converter-storage:2.2.201024896076888128
mod-di-converter-storage - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-circulation28mod-circulation:24.2.502880259215361814384512
mod-circulation - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-pubsub23mod-pubsub:2.14.00153614401024922384512
mod-pubsub - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
edge-orders11edge-orders:3.0.301024896076888128
edge-rtac9edge-rtac:2.7.301024896076888128
mod-users23mod-users:19.3.101024896076888128
mod-users - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-template-engine21mod-template-engine:1.20.001024896076888128
mod-template-engine - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-patron-blocks18mod-patron-blocks:1.10.001024896102476888128
mod-patron-blocks - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-audit22mod-audit:2.9.001024896076888128
mod-audit - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
edge-fqm9edge-fqm:2.0.201024896076888128
mod-source-record-manager22mod-source-record-manager:3.8.605600500020483500384512
mod-source-record-manager - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
nginx-edge2nginx-edge:2023.06.14010248960000
mod-quick-marc21mod-quick-marc:5.1.102288217601664384512
mod-quick-marc - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-feesfines21mod-feesfines:19.1.001024896076888128
mod-feesfines - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-invoice-storage25mod-invoice-storage:5.8.101872153610241024384512
mod-invoice-storage - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-service-interaction22mod-service-interaction:4.0.20204818442561290384512
mod-service-interaction - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-data-export20mod-data-export:5.0.402592248010241440881024
mod-data-export - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-patron25mod-patron:6.1.001024896076888128
mod-patron - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-oai-pmh22mod-oai-pmh:3.13.204096369020483076384512
mod-oai-pmh - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
edge-connexion6edge-connexion:1.3.101024896076888128
mod-kb-ebsco-java21mod-kb-ebsco-java:4.0.001024896076888128
mod-kb-ebsco-java - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-notes22mod-notes:5.2.0010248960952384512
mod-notes - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-data-export-spring20mod-data-export-spring:3.3.00204818442561536384512
mod-data-export-spring - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
mod-organizations-storage23mod-organizations-storage:4.7.001024896076888128
mod-organizations-storage - Sidecar 1N/Afolio-module-sidecar:1.0.0.312N/A665512012800
edge-erm6edge-erm:1.2.101024896076888128


...

Legacy approach about data preparation instructions can be found at the link: Steps for testing process#Fiscalyearrollover

  • Set max_locks_per_transaction parameter in DB cluster and instance configurations from default 64 to 1024 to avoid problems with ordersRollover.
  • Additional info for testing (scripts, queries) saved in S3 bucket - Buckets/fse-ptf/FYR/