From 36b81b27703d298f016180a71c85113d5c90c6b1 Mon Sep 17 00:00:00 2001
From: danielhanrahan <daniel.hanrahan@est.tech>
Date: Thu, 17 Aug 2023 14:58:30 +0100
Subject: Enable hibernate write batching

- Implement fragment ID sequence generator with allocation size of 100
- Enable write batching for insert and update, with batch size of 100
- Write performance is over 2x faster

Issue-ID: CPS-1795
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I7ebd0f834abb57c593603e2cd3fafc7e3425ab1e
---
 integration-test/src/test/resources/application.yml        | 14 ++++++++------
 .../src/test/resources/liquibase/test-changelog.yaml       |  9 +++++++--
 2 files changed, 15 insertions(+), 8 deletions(-)

(limited to 'integration-test/src/test/resources')

diff --git a/integration-test/src/test/resources/application.yml b/integration-test/src/test/resources/application.yml
index 0aefac83fc..55560aa626 100644
--- a/integration-test/src/test/resources/application.yml
+++ b/integration-test/src/test/resources/application.yml
@@ -1,5 +1,5 @@
 # ============LICENSE_START=======================================================
-# Copyright (C) 2023 Nordix Foundation.
+# Copyright (C) 2023-2024 Nordix Foundation.
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -20,11 +20,13 @@ spring:
     ddl-auto: create
     show-sql: false
     properties:
-      hibernate:
-        enable_lazy_load_no_trans: true
-        dialect: org.hibernate.dialect.PostgreSQLDialect
-        format_sql: true
-        show_sql: false
+      hibernate.enable_lazy_load_no_trans: true
+      hibernate.dialect: org.hibernate.dialect.PostgreSQLDialect
+      hibernate.format_sql: true
+      hibernate.show_sql: false
+      # Please ensure these values match those used in cps-application/src/main/resources/application.yml
+      hibernate.id.new_generator_mappings: true
+      hibernate.jdbc.batch_size: 100
 
   datasource:
     url: ${DB_URL}
diff --git a/integration-test/src/test/resources/liquibase/test-changelog.yaml b/integration-test/src/test/resources/liquibase/test-changelog.yaml
index 3f12331453..ba639ede01 100644
--- a/integration-test/src/test/resources/liquibase/test-changelog.yaml
+++ b/integration-test/src/test/resources/liquibase/test-changelog.yaml
@@ -1,5 +1,5 @@
 # ============LICENSE_START=======================================================
-# Copyright (c) 2023 Nordix Foundation.
+# Copyright (c) 2023-2024 Nordix Foundation.
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -100,7 +100,7 @@ databaseChangeLog:
         - createTable:
             columns:
               - column:
-                  autoIncrement: true
+                  autoIncrement: false
                   constraints:
                     nullable: false
                     primaryKey: true
@@ -127,6 +127,11 @@ databaseChangeLog:
                   name: schema_node_id
                   type: INTEGER
             tableName: fragment
+        - createSequence:
+            dataType: BIGINT
+            incrementBy: 100
+            sequenceName: fragment_id_seq
+            startValue: 100
   - changeSet:
       id: 1-5
       author: cps
-- 
cgit