Skip to content

Commit 22a4900

Browse files
committed
[FLINK-38352][table-planner] Make source specs forward compatible (like sink specs)
1 parent d08abb7 commit 22a4900

File tree

8 files changed

+16
-0
lines changed

8 files changed

+16
-0
lines changed

flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/abilities/source/AggregatePushDownSpec.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import org.apache.flink.table.types.utils.TypeConversions;
3636

3737
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonCreator;
38+
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonIgnoreProperties;
3839
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonProperty;
3940
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonTypeName;
4041

@@ -56,6 +57,7 @@
5657
* A sub-class of {@link SourceAbilitySpec} that can not only serialize/deserialize the aggregation
5758
* to/from JSON, but also can push the local aggregate into a {@link SupportsAggregatePushDown}.
5859
*/
60+
@JsonIgnoreProperties(ignoreUnknown = true)
5961
@JsonTypeName("AggregatePushDown")
6062
public final class AggregatePushDownSpec extends SourceAbilitySpecBase {
6163

flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/abilities/source/FilterPushDownSpec.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131

3232
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonCreator;
3333
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonIgnore;
34+
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonIgnoreProperties;
3435
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonProperty;
3536
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonTypeName;
3637

@@ -51,6 +52,7 @@
5152
* A sub-class of {@link SourceAbilitySpec} that can not only serialize/deserialize the filter
5253
* to/from JSON, but also can push the filter into a {@link SupportsFilterPushDown}.
5354
*/
55+
@JsonIgnoreProperties(ignoreUnknown = true)
5456
@JsonTypeName("FilterPushDown")
5557
public final class FilterPushDownSpec extends SourceAbilitySpecBase {
5658
public static final String FIELD_NAME_PREDICATES = "predicates";

flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/abilities/source/LimitPushDownSpec.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import org.apache.flink.table.connector.source.abilities.SupportsLimitPushDown;
2424

2525
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonCreator;
26+
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonIgnoreProperties;
2627
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonProperty;
2728
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonTypeName;
2829

@@ -32,6 +33,7 @@
3233
* A sub-class of {@link SourceAbilitySpec} that can not only serialize/deserialize the limit value
3334
* to/from JSON, but also can push the limit value into a {@link LimitPushDownSpec}.
3435
*/
36+
@JsonIgnoreProperties(ignoreUnknown = true)
3537
@JsonTypeName("LimitPushDown")
3638
public final class LimitPushDownSpec extends SourceAbilitySpecBase {
3739
public static final String FIELD_NAME_LIMIT = "limit";

flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/abilities/source/PartitionPushDownSpec.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import org.apache.flink.table.planner.utils.PartitionUtils;
2525

2626
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonCreator;
27+
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonIgnoreProperties;
2728
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonProperty;
2829
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonTypeName;
2930

@@ -38,6 +39,7 @@
3839
* A sub-class of {@link SourceAbilitySpec} that can not only serialize/deserialize the partitions
3940
* to/from JSON, but also can push the partitions into a {@link SupportsPartitionPushDown}.
4041
*/
42+
@JsonIgnoreProperties(ignoreUnknown = true)
4143
@JsonTypeName("PartitionPushDown")
4244
public final class PartitionPushDownSpec extends SourceAbilitySpecBase {
4345
public static final String FIELD_NAME_PARTITIONS = "partitions";

flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/abilities/source/ProjectPushDownSpec.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import org.apache.flink.table.types.logical.RowType;
2626

2727
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonCreator;
28+
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonIgnoreProperties;
2829
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonProperty;
2930
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonTypeName;
3031

@@ -37,6 +38,7 @@
3738
* A sub-class of {@link SourceAbilitySpec} that can not only serialize/deserialize the projection
3839
* to/from JSON, but also can push the projection into a {@link SupportsProjectionPushDown}.
3940
*/
41+
@JsonIgnoreProperties(ignoreUnknown = true)
4042
@JsonTypeName("ProjectPushDown")
4143
public final class ProjectPushDownSpec extends SourceAbilitySpecBase {
4244
public static final String FIELD_NAME_PROJECTED_FIELDS = "projectedFields";

flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/abilities/source/ReadingMetadataSpec.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import org.apache.flink.table.types.utils.TypeConversions;
2727

2828
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonCreator;
29+
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonIgnoreProperties;
2930
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonProperty;
3031
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonTypeName;
3132

@@ -41,6 +42,7 @@
4142
* columns to/from JSON, but also can read the metadata columns from {@link
4243
* SupportsReadingMetadata}.
4344
*/
45+
@JsonIgnoreProperties(ignoreUnknown = true)
4446
@JsonTypeName("ReadingMetadata")
4547
public final class ReadingMetadataSpec extends SourceAbilitySpecBase {
4648
public static final String FIELD_NAME_METADATA_KEYS = "metadataKeys";

flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/abilities/source/SourceWatermarkSpec.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import org.apache.flink.table.types.logical.RowType;
2525

2626
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonCreator;
27+
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonIgnoreProperties;
2728
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonProperty;
2829
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonTypeName;
2930

@@ -34,6 +35,7 @@
3435
* whether a source watermark should be used to/from JSON, but can also apply it to {@link
3536
* SupportsSourceWatermark}.
3637
*/
38+
@JsonIgnoreProperties(ignoreUnknown = true)
3739
@JsonTypeName("SourceWatermark")
3840
public final class SourceWatermarkSpec extends SourceAbilitySpecBase {
3941
public static final String FIELD_NAME_SOURCE_WATERMARK_ENABLED = "sourceWatermarkEnabled";

flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/abilities/source/WatermarkPushDownSpec.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
import org.apache.flink.table.watermark.WatermarkParams;
3535

3636
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonCreator;
37+
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonIgnoreProperties;
3738
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonProperty;
3839
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonTypeName;
3940

@@ -53,6 +54,7 @@
5354
* A sub-class of {@link SourceAbilitySpec} that can not only serialize/deserialize the watermark
5455
* to/from JSON, but also can push the watermark into a {@link SupportsWatermarkPushDown}.
5556
*/
57+
@JsonIgnoreProperties(ignoreUnknown = true)
5658
@JsonTypeName("WatermarkPushDown")
5759
public final class WatermarkPushDownSpec extends SourceAbilitySpecBase {
5860
public static final String FIELD_NAME_WATERMARK_EXPR = "watermarkExpr";

0 commit comments

Comments
 (0)