Activity Log

This section contains information about activity_log.json. This log file provides a comprehensive record of the migration process, capturing detailed information about changes, events, and required interventions.

Summary

  • File name: activity_log.json
  • Serves a business-level record of changes and the context of the migration process.
  • Provides a detailed log of the activities during migration in JSON format that follows a structured schema: it begins with metadata and consists of a list of entries.
  • Designed for human readability and automated filtering, but not for fully automatic processing.

Metadata

  • Provides context for understanding the log entries.
  • Metadata fields:
    • recordingStarts: (number) UNIX epoch timestamp indicating when logging began, the approximate start of the stage run (not suitable for performance measurements)
    • recordingEnds: (number) UNIX epoch timestamp indicating when logging concluded, the approximate end of the stage run (not suitable for performance measurements)
    • stage: (string) Identifies the stage that is run. Possible values are "STAGE_1" or "STAGE_2"

Entry

  • The Activity Log contains a list of entries, each representing a distinct event using different entry types.
  • Each entry serves to provide insight into the actions performed during the migration process.
Entry properties
  • sequence: A unique number within the log file, that represents the entry's sequence. It can be used to order and reference entries.
  • type: A string denoting the purpose of the entry. For more information, see Entry types below.
  • subject: A string representing the entity involved in the entry, such as a component, group, or other relevant entity.
  • message: A string containing the main content or description of the entry.
  • context: A JSON object with additional key-value pairs, providing further details about the entry (for example: applied rules, affected properties).
Entry types
  • manual-change-request
    • Subject: Usually the ID of a component requiring manual intervention
    • Message: Describes changes that cannot be applied automatically and require human intervention. For example, deprecated components without replacements or decisions requiring domain expertise.
    • Context: Not commonly used
    • Example:
      {
            "sequence": 5,
            "type": "manual-change-request",
            "subject": "69c4f8f3-549a-4103-b8f6-f8627b689e12",
            "message": "The value [null] for property [assume-role-sts-region] is not supported any more.",
            "context": {  }
          }
      
  • manual-inspection-request
    • Subject: Typically the ID of a component under review.
    • Message: Highlights changes that should be explicitly reviewed to ensure correctness. These changes may or may not require adjustments.
    • Context: May include a rule key with a UUID for the applied migration rule, which helps identify errors.
  • change-info
    • Subject: The component being migrated.
    • Message: Describes version differences and provides context for changes, without indicating any actual transformation.
    • Context: Includes a rule key with a UUID for the applied migration rule.
    • Example:
      {
            "sequence": 4,
            "type": "change-info",
            "subject": "69c4f8f3-549a-4103-b8f6-f8627b689e12",
            "message": "Property [assume-role-sts-region] has been changed as follows: [Allowed values have been changed. Values removed: [eu-isoe-west-1]]",
            "context": {
              "rule": "6ca65082-09bd-4713-9fde-f5beb0722d1c"
            }
          }
      
  • change
    • Subject: The entity (for example: a component or template) that has been modified during migration.
    • Message: Records actual changes applied to the flow during migration. These entries provide specifics on transformations in response to version differences.
    • Context: Includes a rule key with a UUID and may contain additional transformation details. While change-info describes general version differences in NiFi (for example: Processor ConsumeKafka_1_0 has been removed from NiFi), change entry details the specific transformations applied to your flow to address those changes (For example: Deprecated processor ea9178e3-ad81-4c6f-b23c-88a01e08ddac has been replaced with processor d9730bae-4f88-430e-801d-8805f6069988).
    • Example:
      {
            "sequence": 39,
            "type": "change",
            "subject": "0a8d5eb6-6791-1faa-2303-b0adcf300df1",
            "message": "Property [Kerberos Principal] has been removed",
            "context": {
              "rule": "65d775f9-dc70-45c9-b4d4-e18a21f8ccba"
            }
          }
      
  • control
    • Subject: Unspecified, often a Process Group
    • Message: Marks the progression of migration activities, such as the start or completion of a Process Group's migration.
    • Context: No widespread usage
    • Example:
      {
            "sequence": 4,
            "type": "control",
            "subject": "0a8d5a99-6791-1faa-78ea-9582a48a4113",
            "message": "Group migration has started",
            "context": {
            }
          }