auditor-bundle icon indicating copy to clipboard operation
auditor-bundle copied to clipboard

Duplicated audit entries

Open samuel4x4 opened this issue 2 years ago • 6 comments

Q A
auditor-bundle version 5.1.0
PHP version 8.1.7
Database MySQL

Summary

Entries are duplicated on the audit database tables for all actions: INSERT, UPDATE, ASSOCIATE.

Current behavior

Multiple similar entries are added on the entity audit tables for the same object_id, including for INSERT operation, which can't really happen with the same id. I have for example up to 12 similar entries sometimes.

How to reproduce

Any normal operation executed on an audited entity generates duplicated audit entries.

Expected behavior

Audit entries should be added only once on the database.

Example:

SELECT * FROM companies_audit;

id,type,object_id,diffs,created_at
955,insert,60,"{""@source"":{""id"":60,""class"":""App\\Core\\Entity\\Company"...",2022-11-01 21:52:43.754603
955,insert,60,"{""@source"":{""id"":60,""class"":""App\\Core\\Entity\\Company"...",2022-11-01 21:52:43.762118
989,update,60,"{""scoring"":{""new"":""2.5"",""old"":null}}",2022-11-01 21:52:43.822860
994,update,60,"{""scoring"":{""new"":""2.5"",""old"":null}}",2022-11-01 21:52:43.830166

samuel4x4 avatar Nov 01 '22 22:11 samuel4x4

We need more info to reproduce an error. @samuel4x4 can you provide your dh_auditor config?

dmitryuk avatar Nov 14 '22 10:11 dmitryuk

@samuel4x4 I confirm the need to get more information about your current config/setup, I haven't been able to reproduce the issue on my side.

DamienHarper avatar Nov 14 '22 10:11 DamienHarper

@samuel4x4 any chance to get more information about your current config/setup?

DamienHarper avatar Dec 05 '22 20:12 DamienHarper

Samy issue.

  • damienharper/auditor-bundle: 5.2.1
  • symfony: 5.4.19
  • php: 7.4

dh_auditor.yaml:

dh_auditor:
    timezone: 'Europe/Paris'
    enabled: true
    providers:
        doctrine:
            table_prefix: null
            table_suffix: '_audit'
            ignored_columns:
                - createdAt
                - updatedAt
                - id
            entities:
                App\Data\Entity\LMS\Course: ~

services.yaml:

    DH\Auditor\Provider\Doctrine\Auditing\Transaction\TransactionManager:
        arguments: [ '@DH\Auditor\Provider\Doctrine\DoctrineProvider' ]

    DH\Auditor\Provider\Doctrine\Auditing\Event\DoctrineSubscriber:
        arguments: [ '@DH\Auditor\Provider\Doctrine\Auditing\Transaction\TransactionManager' ]
        tags:
            - { name: doctrine.event_subscriber }

Navds avatar Feb 13 '23 12:02 Navds

@Navds Why you define Auditor services manually? It defines automatically within container compile time.

dmitryuk avatar Feb 13 '23 15:02 dmitryuk

I don't remember exactly why but it didn't work before and I followed the advice at https://github.com/DamienHarper/auditor-bundle/issues/251 But indeed, the duplication is solved by removing these service definitions

Navds avatar Feb 13 '23 17:02 Navds