CIRCSTORE-419: Implement Kafka LOG_RECORD Event publishing and remove PubSub infrastructure - #592
Open
mukhiddin-yusuf wants to merge 10 commits into
Open
mukhiddin-yusuf wants to merge 10 commits into
mukhiddin-yusuf wants to merge 10 commits into
Conversation
…dPublisher in RequestExpirationService
…blishing - Delete pub-sub production classes: EventPublisherService, PubSubPublishingService, PubSubRegistrationService, EventType, ModulePubSubUnregisteringException, MessagingDescriptor.json - Remove mod-pubsub-client dependency from pom.xml - Remove pub-sub requires/modulePermissions from ModuleDescriptor-template.json - Clean TenantRefAPI: remove pub-sub registration/unregistration, keep createKafkaTopics only - Fix KafkaLogRecordPublisher: use KafkaProducerRecord.create(..., payload.encode()) instead of KafkaProducerRecordBuilder.value(JsonObject) to avoid Jackson mis-serialization - Wire LogEventPayloadField and LogEventType enums into RequestExpirationService - Delete test pub-sub infra: MockServer, EventPublisherServiceTest, CreateKafkaTopicsOrRegisterPubSubTest, test MessagingDescriptor.json - StorageTestSuite: remove MockServer and pub-sub WireMock stub; create audit.LOG_RECORD Kafka topic at suite startup via KafkaAdminClientService - TenantRefApiTests: remove pub-sub stubFor calls - EventConsumerVerticleTest: remove OkapiConnectionParams imports, use string literals - FakeKafkaConsumer: add LOG_RECORD topic subscription, logRecordEvents map, getLogRecordEvents(), clearLogRecordEvents() - RequestExpirationApiTest: replace MockServer.getPublishedEvents with assertLogRecordEvents backed by FakeKafkaConsumer
mukhiddin-yusuf
requested review from
OleksandrVidinieiev,
alexanderkurash and
roman-barannyk
August 28, 2026 09:42
roman-barannyk
approved these changes
Aug 28, 2026
…actEventPublisher
|
| * @param okapiHeaders Okapi headers propagated as Kafka record headers | ||
| * @return always-succeeded {@code Future<Void>}; send errors are logged but not propagated | ||
| */ | ||
| public Future<Void> publish(String key, JsonObject payload, Map<String, String> okapiHeaders) { |
Contributor
There was a problem hiding this comment.
Why can't this method be a part of the abstract parent class?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Purpose
Replace publishing of
LOG_RECORDpub-sub event with Kafka event/message producing to the same name topic. Remove existing pub-sub dependency and all the related code.Approach
LOG_RECORDKafka topic which is created and owned my mod-auditKafkaLogRecordPublisherinRequestExpirationServiceand retain the structure/schema for the sent log recordsChanges Checklist
Related Issues
CIRCSTORE-419