Error - F_JG0EA2 - Invalid or Not Supported MAR Signature Version 4

Documentation: Error - F_JG0EA2 - Invalid or Not Supported MAR Signature Version 4

Error: F_JG0EA2: Invalid or Not Supported MAR Signature Version 4

Issue

After downgrading DSS from a version greater than 6.1.0/76, 6.2.0/14, or 6.2.5/5 to an older version, the following error appears during an Integrate process:

F_JG0EA2: Invalid or not supported MAR signature version 4, known versions: 1, 2, 3

Environment

DSS 6

Cause

Newer DSS versions introduce Metering and Audit Record (MAR) signature version 4, which older DSS versions don't recognize. When you downgrade, the older DSS version attempts to read existing MAR files containing version 4 signatures, resulting in the error above.

Resolution

To resolve this issue, you can either upgrade DSS again or remove the incompatible MAR files and reset the configuration.

Option 1 (preferred): Upgrade DSS

We recommend upgrading back to the version from which you downgraded:

  1. Stop the Integrate process for several hours to prevent generating new MAR files with re-sync signatures.
  2. Keep the hub running so the system can process the remaining MAR files generated before the downgrade.
  3. Upgrade DSS back to the previous version to restore compatibility with version 4 MAR signatures.

Option 2: Remove MAR signature files and reset configuration

If you can't or don't want to upgrade, you must manually remove the problematic MAR files and reset the Integrate process's state:

  1. Find the signature 4 MAR files:

    grep -rl '\!\[4' "$DSS_CONFIG/metering/2025-09/"
    
  2. Back up the files:

    grep -rl '\!\[4' "$DSS_CONFIG/metering/2025-09/" | xargs cp -t /tmp/MAR_BACKUP/
    
  3. Remove the signature 4 MAR files:

    grep -rl '\!\[4' "$DSS_CONFIG/metering/2025-09/" | xargs rm -f
    
  4. If you use Burst Integrate, modify the integ.busy2 file:

    i. Navigate to: $DSS_CONFIG/hubs/<hub>/channels/<channel>/locs/<target loc>/router/integ.busy2.

    ii. Open the file in a text editor.

    iii. Set the mar_recs list to empty ([]).

    For example, replace the following integ.busy2 file content:

      {
        "mar_recs": [
          {
            "file": "path/to/mar_file.mar",
            "signature": "..."
          }
        ]
      }
    

    With:

    {
      "mar_recs": []
    }