fix(models): only update resources when tags are created (#9569)

This commit is contained in:
Víctor Fernández Poyatos
2025-12-16 13:30:25 +01:00
committed by GitHub
parent 433853493b
commit cbc621cb43
2 changed files with 11 additions and 5 deletions

View File

@@ -14,7 +14,8 @@ All notable changes to the **Prowler API** are documented in this file.
- Increased execution delay for the first scheduled scan tasks to 5 seconds[(#9558)](https://github.com/prowler-cloud/prowler/pull/9558) - Increased execution delay for the first scheduled scan tasks to 5 seconds[(#9558)](https://github.com/prowler-cloud/prowler/pull/9558)
### Fixed ### Fixed
- Make `scan_id` a required filter in the compliance overview endpoint [(#9560)](https://github.com/prowler-cloud/prowler/pull/9560) - Made `scan_id` a required filter in the compliance overview endpoint [(#9560)](https://github.com/prowler-cloud/prowler/pull/9560)
- Reduced unnecessary UPDATE resources operations by only saving when tag mappings change, lowering write load during scans [(#9569)](https://github.com/prowler-cloud/prowler/pull/9569)
--- ---

View File

@@ -716,14 +716,19 @@ class Resource(RowLevelSecurityProtectedModel):
self.clear_tags() self.clear_tags()
return return
# Add new relationships with the tenant_id field # Add new relationships with the tenant_id field; avoid touching the
# Resource row unless a mapping is actually created to prevent noisy
# updates during scans.
mapping_created = False
for tag in tags: for tag in tags:
ResourceTagMapping.objects.update_or_create( _, created = ResourceTagMapping.objects.update_or_create(
tag=tag, resource=self, tenant_id=self.tenant_id tag=tag, resource=self, tenant_id=self.tenant_id
) )
mapping_created = mapping_created or created
# Save the instance if mapping_created:
self.save() # Only bump updated_at when the tag set truly changed
self.save(update_fields=["updated_at"])
class Meta(RowLevelSecurityProtectedModel.Meta): class Meta(RowLevelSecurityProtectedModel.Meta):
db_table = "resources" db_table = "resources"