Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

#

Issue

Notes 

Decision

1Preferred Alternative

Solution Proposal

Assumption

  1. during Upgrade two CM Handle LCM notifications are sent: 1) READY→LOCKED (for upgrade). 2) LOCKED → READY
  2. LCM events should be processed within Milliseconds

Alternative 0: Remove existing cache

  • tried but mush slower and ODL memory leak experienced

Alternative 1: (existing) Kafka Message without confirmation

Notes

  1. LCM event should; be processed within milliseconds
  2. Caffeine cache has an expiry (1h /10mins) So NOT all models are cached all the time
  3. Worst case scenario: an update (with newly modelled data) happens before cache expiry. Update gets reject (fails validation)
    1. mitigation: Invalidate cache upon validation error and try again (consider this as an extension alternative 1a )

ProCon
1

2

Alternative 2: (existing) Kafka Message with (new) Kafka Confirmation

Not viable without knowing how many instances need to form ie need Hazelcast Cache


ProCon
1

2

Alternative 3: (existing) Kafka Message with (new) Hazelcast Cache (semaphore)

Confirmation


ProCon
1

2

Alternative 4: (existing) Polling (status watchdog) with (new)

...

confirmation

Not viable because upgrades can be completed well withing polling time


ProCon
1

2

Alternative

...

5: Add version info the cache-key


ProCon
1

2