[FOLIO-3526] Kafka consumer in multi-tenant multi-release installation Created: 22/Jun/22  Updated: 05/Sep/22

Status: Open
Project: FOLIO
Components: None
Affects versions: None
Fix versions: None

Type: Story Priority: TBD
Reporter: Julian Ladisch Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original estimate: Not Specified

Attachments: PNG File kafka-multi-tenant-multi-version.png    
Issue links:
Relates
relates to OKAPI-1105 Broadcast API option Open
Sprint:
Development Team: None
RCA Group: TBD

 Description   

As a sysop in a multi-tenant multi-release installation I want to upgrade one tenant at a time:

Before the migration tenant a and b are enabled for mod-foo 1.0.0 and mod-bar 1.0.0,
and tenant c is enabled for mod-foo 2.0.0 and mod-bar 2.0.0.

mod-foo sends Kafka messages to mod-bar via the tenant specific Kafka topics a.foo, b.foo and c.foo.

Note that 1.0.0 and 2.0.0 have incompatible Kafka messages that cannot be processed by the other version.

After migrating tenant b from 1.0.0 to 2.0.0 Okapi directs API requests for tenant b to mod-foo so that only mod-foo 2.0.0 sends messages to topic b.foo.

This issue is about the consumer (listener) in mod-bar:

  • How does mod-bar 1.0.0 stop listening to b.foo?
  • How does mod-bar 2.0.0 start listening to b.foo?
  • If a mod-bar instance is restartet how does it know which tenants to listen to?


 Comments   
Comment by Mike Taylor [ 05/Sep/22 ]

Julian Ladisch I assume that the a, b and c in the messages are not related to the tenant names a and b?

Comment by Julian Ladisch [ 05/Sep/22 ]

Which messages?

"a.foo" is the Kafka topic for tenant a, "b.foo" is the Kafka topic for tenant b, "c.foo" is the Kafka topic for tenant c.

Comment by Mike Taylor [ 05/Sep/22 ]

Oh, that makes much more sense – I had been misinterpreting the blue boxes as messages, not channels.

Generated at Thu Feb 08 23:28:47 UTC 2024 using Jira 1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d.