From a419cc178c0844051bf0353c4d9e5a75ca4d3a01 Mon Sep 17 00:00:00 2001 From: danielhanrahan Date: Mon, 22 Jul 2024 13:46:32 +0100 Subject: [PATCH] Fix timing issue for data sync CSIT The default data sync watchdog sleep time is 30 seconds, while the CSIT only waits 10 seconds for data sync to run. This is leading to intermittent failures. - increase CSIT time out to 40 seconds for data sync operation - adjust log levels for data sync so that issues are easier to debug Issue-ID: CPS-2313 Signed-off-by: danielhanrahan Change-Id: I3ceb9097bf357f47e5d49f84c70b1c711b52171a --- .../onap/cps/ncmp/api/impl/inventory/sync/DataSyncWatchdog.java | 9 +++++---- csit/tests/cps-data-sync/cps-data-sync.robot | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/inventory/sync/DataSyncWatchdog.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/inventory/sync/DataSyncWatchdog.java index 6f089a57fb..373c870eba 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/inventory/sync/DataSyncWatchdog.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/inventory/sync/DataSyncWatchdog.java @@ -1,6 +1,6 @@ /* * ============LICENSE_START======================================================= - * Copyright (C) 2022-2023 Nordix Foundation + * Copyright (C) 2022-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. @@ -61,21 +61,22 @@ public class DataSyncWatchdog { moduleOperationsUtils.getUnsynchronizedReadyCmHandles().forEach(unSynchronizedReadyCmHandle -> { final String cmHandleId = unSynchronizedReadyCmHandle.getId(); if (hasPushedIntoSemaphoreMap(cmHandleId)) { - log.debug("Executing data sync on {}", cmHandleId); + log.info("Executing data sync on {}", cmHandleId); final CompositeState compositeState = inventoryPersistence .getCmHandleState(cmHandleId); final String resourceData = moduleOperationsUtils.getResourceData(cmHandleId); if (resourceData == null) { - log.debug("Error retrieving resource data for Cm-Handle: {}", cmHandleId); + log.error("Error retrieving resource data for Cm-Handle: {}", cmHandleId); } else { cpsDataService.saveData(NFP_OPERATIONAL_DATASTORE_DATASPACE_NAME, cmHandleId, resourceData, OffsetDateTime.now()); setSyncStateToSynchronized().accept(compositeState); inventoryPersistence.saveCmHandleState(cmHandleId, compositeState); updateDataSyncSemaphoreMap(cmHandleId); + log.info("Data sync finished for {}", cmHandleId); } } else { - log.debug("{} already processed by another instance", cmHandleId); + log.info("{} already processed by another instance", cmHandleId); } }); log.debug("No Cm-Handles currently found in READY State and Operational Sync State is UNSYNCHRONIZED"); diff --git a/csit/tests/cps-data-sync/cps-data-sync.robot b/csit/tests/cps-data-sync/cps-data-sync.robot index c0ee4da67b..2de03b0739 100644 --- a/csit/tests/cps-data-sync/cps-data-sync.robot +++ b/csit/tests/cps-data-sync/cps-data-sync.robot @@ -54,7 +54,7 @@ Operational state goes to UNSYNCHRONIZED when data sync (flag) is enabled Operational state goes to SYNCHRONIZED after sometime when data sync (flag) is enabled ${uri}= Set Variable ${ncmpBasePath}/v1/ch/ietfYang-PNFDemo/state ${headers}= Create Dictionary Authorization=${auth} - Wait Until Keyword Succeeds 10sec 100ms Is CM Handle State SYNCHRONIZED ${uri} ${headers} + Wait Until Keyword Succeeds 40sec 100ms Is CM Handle State SYNCHRONIZED ${uri} ${headers} *** Keywords *** Is CM Handle READY -- 2.16.6