From bef59d49b8e96df5a98bd917b98433a4c23a986a Mon Sep 17 00:00:00 2001 From: Alexis DUMAS Date: Tue, 16 Oct 2018 14:08:10 +0200 Subject: [PATCH 1/2] Fixing Kafka Default configuration merge --- pkg/rdkafka/RdKafkaConnectionFactory.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/rdkafka/RdKafkaConnectionFactory.php b/pkg/rdkafka/RdKafkaConnectionFactory.php index a3fdbc13e..214552d2a 100644 --- a/pkg/rdkafka/RdKafkaConnectionFactory.php +++ b/pkg/rdkafka/RdKafkaConnectionFactory.php @@ -44,7 +44,7 @@ public function __construct($config = 'kafka:') throw new \LogicException('The config must be either an array of options, a DSN string or null'); } - $this->config = array_replace($this->defaultConfig(), $config); + $this->config = array_replace_recursive($this->defaultConfig(), $config); } /** From 39bdae4a6409ef6f3252d370b95d6d2016064751 Mon Sep 17 00:00:00 2001 From: adumas37 Date: Tue, 16 Oct 2018 14:44:10 +0200 Subject: [PATCH 2/2] Adding test for recursive configuration merging --- pkg/rdkafka/Tests/RdKafkaConnectionFactoryTest.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pkg/rdkafka/Tests/RdKafkaConnectionFactoryTest.php b/pkg/rdkafka/Tests/RdKafkaConnectionFactoryTest.php index 01f653ee6..47fdc1715 100644 --- a/pkg/rdkafka/Tests/RdKafkaConnectionFactoryTest.php +++ b/pkg/rdkafka/Tests/RdKafkaConnectionFactoryTest.php @@ -107,5 +107,19 @@ public static function provideConfigs() ], ], ]; + + yield [ + [ + 'global' => [ + 'group.id' => 'group-id', + ], + ], + [ + 'global' => [ + 'metadata.broker.list' => 'localhost:9092', + 'group.id' => 'group-id', + ], + ], + ]; } }