Search in sources :

Example 1 with AbstractPartitionDiscoverer

use of org.apache.flink.streaming.connectors.kafka.internals.AbstractPartitionDiscoverer in project flink by apache.

the class FlinkKafkaConsumerBaseTest method checkFilterRestoredPartitionsWithDisovered.

private void checkFilterRestoredPartitionsWithDisovered(List<String> restoredKafkaTopics, List<String> initKafkaTopics, List<String> expectedSubscribedPartitions, Boolean disableFiltering) throws Exception {
    final AbstractPartitionDiscoverer discoverer = new TestPartitionDiscoverer(new KafkaTopicsDescriptor(initKafkaTopics, null), 0, 1, TestPartitionDiscoverer.createMockGetAllTopicsSequenceFromFixedReturn(initKafkaTopics), TestPartitionDiscoverer.createMockGetAllPartitionsFromTopicsSequenceFromFixedReturn(initKafkaTopics.stream().map(topic -> new KafkaTopicPartition(topic, 0)).collect(Collectors.toList())));
    final FlinkKafkaConsumerBase<String> consumer = new DummyFlinkKafkaConsumer<>(initKafkaTopics, discoverer);
    if (disableFiltering) {
        consumer.disableFilterRestoredPartitionsWithSubscribedTopics();
    }
    final TestingListState<Tuple2<KafkaTopicPartition, Long>> listState = new TestingListState<>();
    for (int i = 0; i < restoredKafkaTopics.size(); i++) {
        listState.add(new Tuple2<>(new KafkaTopicPartition(restoredKafkaTopics.get(i), 0), 12345L));
    }
    setupConsumer(consumer, true, listState, true, 0, 1);
    Map<KafkaTopicPartition, Long> subscribedPartitionsToStartOffsets = consumer.getSubscribedPartitionsToStartOffsets();
    assertEquals(new HashSet<>(expectedSubscribedPartitions), subscribedPartitionsToStartOffsets.keySet().stream().map(partition -> partition.getTopic()).collect(Collectors.toSet()));
}
Also used : BroadcastState(org.apache.flink.api.common.state.BroadcastState) Arrays(java.util.Arrays) UnregisteredMetricsGroup(org.apache.flink.metrics.groups.UnregisteredMetricsGroup) ThrowingRunnable(org.apache.flink.util.function.ThrowingRunnable) Tuple2(org.apache.flink.api.java.tuple.Tuple2) IsIn.isIn(org.hamcrest.collection.IsIn.isIn) ExceptionUtils(org.apache.flink.util.ExceptionUtils) TypeHint(org.apache.flink.api.common.typeinfo.TypeHint) Assert.assertThat(org.junit.Assert.assertThat) ListState(org.apache.flink.api.common.state.ListState) Mockito.doThrow(org.mockito.Mockito.doThrow) InstantiationUtil(org.apache.flink.util.InstantiationUtil) Matchers.everyItem(org.hamcrest.Matchers.everyItem) Map(java.util.Map) TestLogger(org.apache.flink.util.TestLogger) KeyedStateStore(org.apache.flink.api.common.state.KeyedStateStore) ListStateDescriptor(org.apache.flink.api.common.state.ListStateDescriptor) Assert.fail(org.junit.Assert.fail) AssignerWithPunctuatedWatermarks(org.apache.flink.streaming.api.functions.AssignerWithPunctuatedWatermarks) TypeInformation(org.apache.flink.api.common.typeinfo.TypeInformation) IsNot.not(org.hamcrest.core.IsNot.not) IsMapContaining.hasKey(org.hamcrest.collection.IsMapContaining.hasKey) TypeSerializer(org.apache.flink.api.common.typeutils.TypeSerializer) KafkaDeserializationSchemaWrapper(org.apache.flink.streaming.connectors.kafka.internals.KafkaDeserializationSchemaWrapper) FunctionInitializationContext(org.apache.flink.runtime.state.FunctionInitializationContext) KafkaTopicPartition(org.apache.flink.streaming.connectors.kafka.internals.KafkaTopicPartition) Collection(java.util.Collection) AbstractFetcher(org.apache.flink.streaming.connectors.kafka.internals.AbstractFetcher) KafkaTopicsDescriptor(org.apache.flink.streaming.connectors.kafka.internals.KafkaTopicsDescriptor) Set(java.util.Set) WatermarkStrategy(org.apache.flink.api.common.eventtime.WatermarkStrategy) OperatorSubtaskState(org.apache.flink.runtime.checkpoint.OperatorSubtaskState) TestProcessingTimeService(org.apache.flink.streaming.runtime.tasks.TestProcessingTimeService) Preconditions(org.apache.flink.util.Preconditions) Collectors(java.util.stream.Collectors) Serializable(java.io.Serializable) TestSourceContext(org.apache.flink.streaming.connectors.kafka.testutils.TestSourceContext) MetricGroup(org.apache.flink.metrics.MetricGroup) KafkaCommitCallback(org.apache.flink.streaming.connectors.kafka.internals.KafkaCommitCallback) AbstractStreamOperatorTestHarness(org.apache.flink.streaming.util.AbstractStreamOperatorTestHarness) List(java.util.List) SerializedValue(org.apache.flink.util.SerializedValue) Assert.assertFalse(org.junit.Assert.assertFalse) ExecutionConfig(org.apache.flink.api.common.ExecutionConfig) Matchers.is(org.hamcrest.Matchers.is) TestPartitionDiscoverer(org.apache.flink.streaming.connectors.kafka.testutils.TestPartitionDiscoverer) KeyedDeserializationSchema(org.apache.flink.streaming.util.serialization.KeyedDeserializationSchema) SupplierWithException(org.apache.flink.util.function.SupplierWithException) Mockito.mock(org.mockito.Mockito.mock) OneShotLatch(org.apache.flink.core.testutils.OneShotLatch) FlinkException(org.apache.flink.util.FlinkException) HashMap(java.util.HashMap) CompletableFuture(java.util.concurrent.CompletableFuture) MapStateDescriptor(org.apache.flink.api.common.state.MapStateDescriptor) AbstractPartitionDiscoverer(org.apache.flink.streaming.connectors.kafka.internals.AbstractPartitionDiscoverer) ArrayList(java.util.ArrayList) AssignerWithPeriodicWatermarks(org.apache.flink.streaming.api.functions.AssignerWithPeriodicWatermarks) MockStreamingRuntimeContext(org.apache.flink.streaming.util.MockStreamingRuntimeContext) HashSet(java.util.HashSet) OptionalLong(java.util.OptionalLong) OperatorStateStore(org.apache.flink.api.common.state.OperatorStateStore) CheckedThread(org.apache.flink.core.testutils.CheckedThread) SourceFunction(org.apache.flink.streaming.api.functions.source.SourceFunction) TupleSerializer(org.apache.flink.api.java.typeutils.runtime.TupleSerializer) OffsetCommitMode(org.apache.flink.streaming.connectors.kafka.config.OffsetCommitMode) Matchers.hasSize(org.hamcrest.Matchers.hasSize) Nonnull(javax.annotation.Nonnull) Preconditions.checkState(org.apache.flink.util.Preconditions.checkState) TimeCharacteristic(org.apache.flink.streaming.api.TimeCharacteristic) ProcessingTimeService(org.apache.flink.streaming.runtime.tasks.ProcessingTimeService) Configuration(org.apache.flink.configuration.Configuration) Assert.assertTrue(org.junit.Assert.assertTrue) Test(org.junit.Test) StateSnapshotContextSynchronousImpl(org.apache.flink.runtime.state.StateSnapshotContextSynchronousImpl) Assert.assertNull(org.junit.Assert.assertNull) MockDeserializationSchema(org.apache.flink.streaming.util.MockDeserializationSchema) Assert(org.junit.Assert) ArrayDeque(java.util.ArrayDeque) StreamSource(org.apache.flink.streaming.api.operators.StreamSource) StreamingRuntimeContext(org.apache.flink.streaming.api.operators.StreamingRuntimeContext) Collections(java.util.Collections) Assert.assertEquals(org.junit.Assert.assertEquals) KafkaTopicPartition(org.apache.flink.streaming.connectors.kafka.internals.KafkaTopicPartition) AbstractPartitionDiscoverer(org.apache.flink.streaming.connectors.kafka.internals.AbstractPartitionDiscoverer) TypeHint(org.apache.flink.api.common.typeinfo.TypeHint) TestPartitionDiscoverer(org.apache.flink.streaming.connectors.kafka.testutils.TestPartitionDiscoverer) Tuple2(org.apache.flink.api.java.tuple.Tuple2) OptionalLong(java.util.OptionalLong) KafkaTopicsDescriptor(org.apache.flink.streaming.connectors.kafka.internals.KafkaTopicsDescriptor)

Aggregations

Serializable (java.io.Serializable)1 ArrayDeque (java.util.ArrayDeque)1 ArrayList (java.util.ArrayList)1 Arrays (java.util.Arrays)1 Collection (java.util.Collection)1 Collections (java.util.Collections)1 HashMap (java.util.HashMap)1 HashSet (java.util.HashSet)1 List (java.util.List)1 Map (java.util.Map)1 OptionalLong (java.util.OptionalLong)1 Set (java.util.Set)1 CompletableFuture (java.util.concurrent.CompletableFuture)1 Collectors (java.util.stream.Collectors)1 Nonnull (javax.annotation.Nonnull)1 ExecutionConfig (org.apache.flink.api.common.ExecutionConfig)1 WatermarkStrategy (org.apache.flink.api.common.eventtime.WatermarkStrategy)1 BroadcastState (org.apache.flink.api.common.state.BroadcastState)1 KeyedStateStore (org.apache.flink.api.common.state.KeyedStateStore)1 ListState (org.apache.flink.api.common.state.ListState)1