Skip to content

Commit 6256816

Browse files
committed
[FLINK-38733] Add new SplitterEnumerator on JdbcSource
1 parent d8d0280 commit 6256816

5 files changed

Lines changed: 30 additions & 8 deletions

File tree

flink-connector-jdbc-core/src/main/java/org/apache/flink/connector/jdbc/core/datastream/source/JdbcSourceBuilder.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@ public JdbcSourceBuilder<OUT> setSplitter(SplitterEnumerator splitterEnumerator)
140140
return this;
141141
}
142142

143+
/** @deprecated Use {@link #setSplitter(SplitterEnumerator)} instead. */
143144
@Deprecated
144145
public JdbcSourceBuilder<OUT> setSql(@Nonnull String sql) {
145146
Preconditions.checkArgument(
@@ -205,6 +206,8 @@ public JdbcSourceBuilder<OUT> setContinuousUnBoundingSettings(
205206
/**
206207
* If the value was set as an instance of {@link JdbcSlideTimingParameterProvider}, it's
207208
* required to specify the {@link #continuousUnBoundingSettings}.
209+
*
210+
* @deprecated Use {@link #setSplitter(SplitterEnumerator)} instead.
208211
*/
209212
@Deprecated
210213
public JdbcSourceBuilder<OUT> setJdbcParameterValuesProvider(

flink-connector-jdbc-core/src/main/java/org/apache/flink/connector/jdbc/core/datastream/source/enumerator/JdbcSourceEnumerator.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -85,13 +85,7 @@ public void start() {
8585
continuousUnBoundingSettings.getInitialDiscoveryDelay().toMillis(),
8686
continuousUnBoundingSettings.getDiscoveryInterval().toMillis());
8787
} else {
88-
context.callAsync(
89-
() ->
90-
splitterEnumerator.isAllSplitsFinished()
91-
? Collections.emptyList()
92-
: splitterEnumerator.enumerateSplits(),
93-
(List<JdbcSourceSplit> splits, Throwable error) ->
94-
this.unassigned.addAll(splits));
88+
unassigned.addAll(splitterEnumerator.enumerateSplits());
9589
}
9690
}
9791

flink-connector-jdbc-core/src/main/java/org/apache/flink/connector/jdbc/core/datastream/source/enumerator/JdbcSqlSplitEnumeratorBase.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
package org.apache.flink.connector.jdbc.core.datastream.source.enumerator;
2020

2121
import org.apache.flink.annotation.PublicEvolving;
22+
import org.apache.flink.connector.jdbc.core.datastream.source.enumerator.splitter.SplitterEnumerator;
2223
import org.apache.flink.connector.jdbc.core.datastream.source.split.JdbcSourceSplit;
2324

2425
import javax.annotation.Nonnull;
@@ -33,6 +34,7 @@
3334
* Base class for jdbc sql split enumerator.
3435
*
3536
* @param <SplitT> JDBC split type.
37+
* @deprecated Use {@link SplitterEnumerator} instead.
3638
*/
3739
@Deprecated
3840
@PublicEvolving

flink-connector-jdbc-core/src/main/java/org/apache/flink/connector/jdbc/core/datastream/source/enumerator/SqlTemplateSplitEnumerator.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
package org.apache.flink.connector.jdbc.core.datastream.source.enumerator;
2020

2121
import org.apache.flink.annotation.VisibleForTesting;
22+
import org.apache.flink.connector.jdbc.core.datastream.source.enumerator.splitter.PreparedSplitterEnumerator;
2223
import org.apache.flink.connector.jdbc.core.datastream.source.split.CheckpointedOffset;
2324
import org.apache.flink.connector.jdbc.core.datastream.source.split.JdbcSourceSplit;
2425
import org.apache.flink.connector.jdbc.split.JdbcParameterValuesProvider;
@@ -37,7 +38,11 @@
3738
import java.util.List;
3839
import java.util.function.Supplier;
3940

40-
/** A split enumerator based on sql-parameters grains. */
41+
/**
42+
* A split enumerator based on sql-parameters grains.
43+
*
44+
* @deprecated Use {@link PreparedSplitterEnumerator} instead.
45+
*/
4146
@Deprecated
4247
public final class SqlTemplateSplitEnumerator extends JdbcSqlSplitEnumeratorBase<JdbcSourceSplit> {
4348

flink-connector-jdbc-core/src/main/java/org/apache/flink/connector/jdbc/core/datastream/source/enumerator/splitter/JdbcSqlSplitterEnumerator.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,21 @@
1+
/*
2+
* Licensed to the Apache Software Foundation (ASF) under one
3+
* or more contributor license agreements. See the NOTICE file
4+
* distributed with this work for additional information
5+
* regarding copyright ownership. The ASF licenses this file
6+
* to you under the Apache License, Version 2.0 (the
7+
* "License"); you may not use this file except in compliance
8+
* with the License. You may obtain a copy of the License at
9+
*
10+
* http://www.apache.org/licenses/LICENSE-2.0
11+
*
12+
* Unless required by applicable law or agreed to in writing, software
13+
* distributed under the License is distributed on an "AS IS" BASIS,
14+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
* See the License for the specific language governing permissions and
16+
* limitations under the License.
17+
*/
18+
119
package org.apache.flink.connector.jdbc.core.datastream.source.enumerator.splitter;
220

321
import org.apache.flink.annotation.Internal;

0 commit comments

Comments
 (0)