Skip to content

Commit 9c53d3b

Browse files
authored
chore(test): Fix flaky FlinkKafkaIntegrationIT that can stuck (#2225)
1 parent 73aff99 commit 9c53d3b

1 file changed

Lines changed: 9 additions & 13 deletions

File tree

sqrl-testing/sqrl-testing-integration/src/test/java/com/datasqrl/FlinkKafkaIntegrationIT.java

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,8 @@
2121
import java.util.ArrayList;
2222
import java.util.Collections;
2323
import java.util.List;
24-
import java.util.Map;
2524
import java.util.Properties;
2625
import java.util.concurrent.TimeUnit;
27-
import org.apache.flink.configuration.Configuration;
2826
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
2927
import org.apache.flink.table.api.ResultKind;
3028
import org.apache.flink.table.api.bridge.java.StreamTableEnvironment;
@@ -36,19 +34,16 @@
3634
import org.junit.jupiter.api.AfterAll;
3735
import org.junit.jupiter.api.BeforeAll;
3836
import org.junit.jupiter.api.Test;
39-
import org.testcontainers.containers.KafkaContainer;
40-
import org.testcontainers.utility.DockerImageName;
37+
import org.testcontainers.kafka.KafkaContainer;
4138

42-
// @ExtendWith(MiniClusterExtension.class)
4339
class FlinkKafkaIntegrationIT {
4440

4541
private static KafkaContainer kafkaContainer;
4642

47-
@SuppressWarnings("resource")
4843
@BeforeAll
4944
static void setup() {
5045
kafkaContainer =
51-
new KafkaContainer(DockerImageName.parse("confluentinc/cp-kafka:7.9.2"))
46+
new KafkaContainer("apache/kafka-native:4.3.1")
5247
.withEnv(
5348
"KAFKA_MESSAGE_MAX_BYTES",
5449
"50000000") // Increase broker's max message size to 50 MB
@@ -83,12 +78,15 @@ void flinkKafkaLargeMessage() throws Exception {
8378
consumerProps.put(ConsumerConfig.FETCH_MAX_BYTES_CONFIG, "50000000");
8479
consumerProps.put(ConsumerConfig.MAX_PARTITION_FETCH_BYTES_CONFIG, "50000000");
8580

86-
AdminClient.create(consumerProps)
87-
.createTopics(List.of(new NewTopic("test-topic", 1, (short) 1)));
81+
try (var adminClient = AdminClient.create(consumerProps)) {
82+
adminClient
83+
.createTopics(List.of(new NewTopic("test-topic", 1, (short) 1)))
84+
.all()
85+
.get(10, TimeUnit.SECONDS);
86+
}
8887

8988
// Set up Flink execution environments
90-
var env =
91-
StreamExecutionEnvironment.createLocalEnvironmentWithWebUI(Configuration.fromMap(Map.of()));
89+
var env = StreamExecutionEnvironment.createLocalEnvironment();
9290
var tableEnv = StreamTableEnvironment.create(env);
9391

9492
// Define the DataGen source table with a large message field
@@ -172,7 +170,5 @@ var record = recordsList.get(0);
172170
// For this example, we'll check the lengths
173171
// Since the 'large_message' field is 1 MB, the value should be at least 1 MB in size
174172
assertThat(value).hasSizeGreaterThanOrEqualTo(1048576);
175-
176-
System.out.println("Message successfully written and read from Kafka.");
177173
}
178174
}

0 commit comments

Comments
 (0)