Uploaded image for project: 'Configuration Persistence Service'
  1. Configuration Persistence Service
  2. CPS-1628

Kafka Headers not populated with intended properties

XMLWordPrintable

      It now has become clear that NCMP is not populating the 'Kafka Headers' with the intended information. Due to a misunderstanding and lack of clear definition of term like 'headers' and 'payload'. The current implementation send both 'header' and 'payload' as a message. This means receiving client have to 'unmarshal' the whole event (payload) and then decide to process it or not based on te information therein.
      If Kafka-headers are user properly the client can configure filters without the need to unmarshal the event.
      This understanding also resolves the issue regarding the 'scope' of the eventschema. It should describe just the payload/event but since we mistakenly included the fields indented to be headers in the json-body/event/payload the confusion arose...

      Agreed actions (to solve this 'bug')

      Analysis Create Wiki with overview off all known (proposed and implement) schema's
      Include tabel with a row for each 'assumed' headers. Agree and record decision: header only, event field only, both

      Update Current and Ongoing' schema's (see scope below) to apply decision agreed in analysis

      *Solution for legacy schemas: *
      #Duplicate 'headers' into Kakfa headers (schema stays the same but considered 'deprecated' )
      #Create new version of each Schema excluding the headers (for next-to-be-agreed release)

      Open Issue: should the 'header' be described somewhere (with a schema)

      Scope

      1. Current proposals
        1. DMI Data AVC
        2. Batch bulk request messages
      2. Update the ongoing implementation
        1. Subscription-create event (incoming, internal, reply events)
      3. Legacy
        1. External
          1. LCM Events
          2. Async Responses (NCMP to Client)
        2. Internal
          1. Async Response (DMI To NCMP)

      Out of Scope

      1. CPS-Temporal events

      Suggested subtasks

      1. Study
      2. Update Recently merged schemas related to SVC Subscription creation
      3. Duplicate header information (body headers as Kafka header) for legacy schemas

      A/C

      1. One Wiki page with clear tables describe all events. Agree with team and stakeholder each field is header, event field or both!
      2. Kafa Headers (only)are used
        1. Subscription creation related events
          #Kafka hader duplicates header information in legacy-events

            raviteja.karumuri Raviteja Karumuri
            ToineSiebelink Toine Siebelink
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: