Skip to content

Add MemQ Rust client library and E2E test suite#53

Open
ambud wants to merge 1 commit into
pinterest:mainfrom
ambud:indexing
Open

Add MemQ Rust client library and E2E test suite#53
ambud wants to merge 1 commit into
pinterest:mainfrom
ambud:indexing

Conversation

@ambud
Copy link
Copy Markdown
Collaborator

@ambud ambud commented May 26, 2026

Full implementation of a Rust consumer for MemQ with:

  • MemQ wire format parser (batch header, message header, CRC32)
  • Kafka notification source with blocking poll fix (background thread + sync_channel)
  • Storage handler abstraction (filesystem + S3)
  • Integration tests via Docker Kafka (docker-compose)
  • E2E example: Java producer -> MemQ broker (fs) -> Kafka -> Rust consumer
  • run-e2e.sh: automated end-to-end test script

Full implementation of a Rust consumer for MemQ with:
- MemQ wire format parser (batch header, message header, CRC32)
- Kafka notification source with blocking poll fix (background thread + sync_channel)
- Storage handler abstraction (filesystem + S3)
- Integration tests via Docker Kafka (docker-compose)
- E2E example: Java producer -> MemQ broker (fs) -> Kafka -> Rust consumer
- run-e2e.sh: automated end-to-end test script
@ambud ambud requested a review from a team as a code owner May 26, 2026 19:20
max_poll_records: 100,
};

let kafka_source = KafkaNotificationSource::new(config).expect("Failed to create KafkaNotificationSource");
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we refactor NotificationSource as a trait to allow future extensibility?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants