Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
473825a
refactor: message collector releases messages as BatchMessage per cha…
dgafka Jul 3, 2026
e1b7331
feat: MessagePublisher asyncPublish returning Future with pending del…
dgafka Jul 3, 2026
69f9488
feat: asyncPublish accepts BatchMessage for whole-batch delivery
dgafka Jul 3, 2026
9af6f73
feat: async publishing channels awaited via interceptor before transa…
dgafka Jul 3, 2026
f15f738
test: async publishing collector on/off matrix coverage
dgafka Jul 3, 2026
e3da996
feat: error channel routing and transaction semantics for async publi…
dgafka Jul 3, 2026
3459b7a
feat: Kafka async publishing with delivery reports and deferred flush
dgafka Jul 3, 2026
edcf893
feat: AMQP async publishing with batched publisher confirms
dgafka Jul 3, 2026
aa10185
feat: CI benchmark comparing synchronous and async publishing for AMQ…
dgafka Jul 3, 2026
6689f2c
feat: asyncPublish gateway for Kafka and AMQP MessagePublishers, Kafk…
dgafka Jul 3, 2026
f60e678
feat: AMQP frame batching publishes BatchMessage in single socket write
dgafka Jul 3, 2026
b02e2b3
perf: amortized registry pruning and MessagePublisher-based publishin…
dgafka Jul 3, 2026
e139dce
test: async publishing without enterprise licence fails for channels …
dgafka Jul 3, 2026
800ab62
fix: reliability hardening for async publishing based on review findings
dgafka Jul 3, 2026
d775623
test: failure-proving reliability tests for async publishing
dgafka Jul 3, 2026
36fd629
feat: batch and asyncPublish support for DBAL backed channels and pub…
dgafka Jul 3, 2026
cd9d88f
feat: batch and asyncPublish support for Redis backed channels and pu…
dgafka Jul 3, 2026
9c45c22
feat: batch and promise-based async publishing for SQS backed channel…
dgafka Jul 3, 2026
7e59e0f
refactor: share single and batch send flow in enqueue provider adapters
dgafka Jul 3, 2026
198c550
feat: benchmark single/batch sync/async publishing matrix for all pro…
dgafka Jul 3, 2026
f5c2923
perf: bound SQS async publishing concurrency via lazy request dispatc…
dgafka Jul 3, 2026
4e88568
fix: close silent-loss paths across async publishing providers
dgafka Jul 3, 2026
83cb096
fix: declare benchmark queue so AMQP publisher subjects measure real …
dgafka Jul 13, 2026
e475ea8
feat: benchmark firing multiple batches before awaiting confirmations
dgafka Jul 13, 2026
63657b1
perf: shared SQS dispatch pool for bounded cross-delivery request con…
dgafka Jul 13, 2026
0c6b40c
perf: kafka async publishing batching via linger, poll cadence and qu…
dgafka Jul 13, 2026
15610e0
test: failing batch among many unresolved asyncPublish calls fails co…
dgafka Jul 13, 2026
2746f48
fix: honor millisecond ttl on redis and drop null kafka headers, prov…
dgafka Jul 14, 2026
a88dc05
refactor: publish single messages through shared batch flow in amqp a…
dgafka Jul 14, 2026
0863701
fix: correct kafka queue-full retry and tighten async publishing life…
dgafka Jul 18, 2026
163941a
fix: per-message confirm attribution for amqp, granular batch retry a…
dgafka Jul 18, 2026
f69e918
fix: resolve nearest composer autoload in shutdown flush test so spli…
dgafka Jul 18, 2026
3136567
test: widen timing margins in async projection and amqp delay tests f…
dgafka Aug 3, 2026
cf08769
fix: address review findings for async publishing reliability
dgafka Aug 3, 2026
c2b220a
test: bound stream channel distributed bus consumers by expected mess…
dgafka Aug 3, 2026
34ed05c
feat: enterprise licence gating for BatchMessage with channel-level b…
dgafka Aug 3, 2026
aab4ae1
fix: align TestQueueChannel with batch-aware QueueChannel signature a…
dgafka Aug 3, 2026
f0da42e
test: give kafka deduplication consumer runs realistic time budget ma…
dgafka Aug 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 21 additions & 1 deletion .github/workflows/benchmark-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,23 @@ jobs:
php-versions: [ 8.5 ]
stability: [prefer-stable]
services:
kafka:
image: apache/kafka:3.9.0
options: >-
--env KAFKA_NODE_ID=0
--env KAFKA_PROCESS_ROLES=broker,controller
--env KAFKA_CONTROLLER_QUORUM_VOTERS=0@127.0.0.1:9093
--env KAFKA_CONTROLLER_LISTENER_NAMES=CONTROLLER
--env KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092,CONTROLLER://:9093
--env KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://127.0.0.1:9092
--env KAFKA_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
--env KAFKA_AUTO_CREATE_TOPICS_ENABLE=true
--env KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1
--env KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR=1
--env KAFKA_TRANSACTION_STATE_LOG_MIN_ISR=1
--env KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS=0
ports:
- 9092:9092
rabbitmq:
image: rabbitmq:4.1.4-management-alpine
env:
Expand Down Expand Up @@ -54,9 +71,11 @@ jobs:
ports:
- 5432:5432
localstack:
image: localstack/localstack:3.0.0
image: localstack/localstack:3.8
env:
SERVICES: 'sqs,sns'
SQS_DISABLE_CLOUDWATCH_METRICS: '1'
EAGER_SERVICE_LOADING: '1'
ports:
- "4566:4566"
- "4510-4559:4510-4559"
Expand All @@ -66,6 +85,7 @@ jobs:
- '6379:6379'
env:
RABBIT_HOST: amqp://127.0.0.1:5672
KAFKA_DSN: 127.0.0.1:9092
SQS_DSN: sqs:?key=key&secret=secret&region=us-east-1&endpoint=http://127.0.0.1:4566&version=latest
REDIS_DSN: redis://127.0.0.1:6379
DATABASE_DSN: pgsql://ecotone:secret@127.0.0.1:5432/ecotone
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/quickstart-examples.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,9 +75,11 @@ jobs:
ports:
- 5432:5432
localstack:
image: localstack/localstack:3.0.0
image: localstack/localstack:3.8
env:
SERVICES: 'sqs,sns'
SQS_DISABLE_CLOUDWATCH_METRICS: '1'
EAGER_SERVICE_LOADING: '1'
ports:
- "4566:4566"
- "4510-4559:4510-4559"
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/split-testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,11 @@ jobs:
ports:
- 5432:5432
localstack:
image: localstack/localstack:3.0.0
image: localstack/localstack:3.8
env:
SERVICES: 'sqs,sns'
SQS_DISABLE_CLOUDWATCH_METRICS: '1'
EAGER_SERVICE_LOADING: '1'
ports:
- "4566:4566"
- "4510-4559:4510-4559"
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/test-monorepo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,9 +71,11 @@ jobs:
ports:
- 5432:5432
localstack:
image: localstack/localstack:3.0.0
image: localstack/localstack:3.8
env:
SERVICES: 'sqs,sns'
SQS_DISABLE_CLOUDWATCH_METRICS: '1'
EAGER_SERVICE_LOADING: '1'
ports:
- "4566:4566"
- "4510-4559:4510-4559"
Expand Down
Loading
Loading