3 Commits

Author SHA1 Message Date
github-actions[bot]
d83917a30f chore: bump version to 2.2.0-rc1 2026-10-13 16:59:56 +00:00
54c854bb0a Merge pull request #42 from Aignosi/feature-rc/SIENTIAPDE-1974-release-slot-keyerror
SIENTIAPDE-1974: fix gateway main loop crash (KeyError) on slot unsubscribe
2026-10-13 13:59:26 -03:00
Eduardo Rios
06caa88ed8 SIENTIAPDE-1974: chore(slots): drop NOSONAR, accept S7504 in SonarQube instead
Review (Vitor): avoid NOSONAR; when a SonarQube issue does not apply, accept it
in SonarQube so the decision is recorded there. The list() snapshot of the
readers stays (the loop awaits) and the comment says why S7504 is accepted.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 13:24:54 -03:00
2 changed files with 4 additions and 3 deletions

View File

@@ -561,8 +561,9 @@ class IngestorManager(SientiaMonitoring):
""" """
# list() snapshots the readers: the loop awaits, so a reader added or removed # list() snapshots the readers: the loop awaits, so a reader added or removed
# meanwhile must not break the iteration. # meanwhile must not break the iteration. SonarQube flags it as an unnecessary
for server, reader in list(self.opc_managers.items()): # NOSONAR # list() (S7504); the issue is accepted in SonarQube for this reason.
for server, reader in list(self.opc_managers.items()):
if slot in reader.subscriptions: if slot in reader.subscriptions:
await self._unsubscribe_reader(server, reader, slot) await self._unsubscribe_reader(server, reader, slot)

View File

@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project] [project]
name = "ingestor" name = "ingestor"
version = "2.1.0-rc1" version = "2.2.0-rc1"
description = "Sientia DataOps Ingestor - OPC Tag Ingestor" description = "Sientia DataOps Ingestor - OPC Tag Ingestor"
readme = "README.md" readme = "README.md"
requires-python = ">=3.11" requires-python = ">=3.11"