Skip to content

Commit 5e7f21a

Browse files
committed
[FLINK-37652][Connectors/Opensearch] Move to Flink to 2.0.0
1 parent f980346 commit 5e7f21a

File tree

25 files changed

+64
-3644
lines changed

25 files changed

+64
-3644
lines changed

.github/workflows/push_pr.yml

+2-7
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,8 @@ jobs:
2828
compile_and_test:
2929
strategy:
3030
matrix:
31-
flink: [ 1.18-SNAPSHOT ]
32-
jdk: [ '8, 11, 17' ]
33-
include:
34-
- flink: 1.19-SNAPSHOT
35-
jdk: '8, 11, 17, 21'
36-
- flink: 1.20-SNAPSHOT
37-
jdk: '8, 11, 17, 21'
31+
flink: [ 2.1-SNAPSHOT ]
32+
jdk: [ '11', '17, 21' ]
3833
uses: apache/flink-connector-shared-utils/.github/workflows/ci.yml@ci_utils
3934
with:
4035
flink_version: ${{ matrix.flink }}

.github/workflows/weekly.yml

+4-11
Original file line numberDiff line numberDiff line change
@@ -30,23 +30,16 @@ jobs:
3030
strategy:
3131
matrix:
3232
flink_branches: [ {
33-
flink: 1.18-SNAPSHOT,
33+
flink: 2.1-SNAPSHOT,
34+
jdk: '11, 17, 21',
3435
branch: main
35-
}, {
36-
flink: 1.19-SNAPSHOT,
37-
jdk: '8, 11, 17, 21',
38-
branch: main
39-
}, {
40-
flink: 1.20-SNAPSHOT,
41-
jdk: '8, 11, 17, 21',
42-
branch: main
43-
},
36+
},
4437
{
4538
flink: 1.20,
4639
jdk: '8, 11, 17, 21',
4740
branch: main
4841
}, {
49-
flink: 1.19.0,
42+
flink: 1.19.1,
5043
jdk: '8, 11, 17, 21',
5144
branch: v1.2
5245
}, {

flink-connector-opensearch-base/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ under the License.
2626
<parent>
2727
<groupId>org.apache.flink</groupId>
2828
<artifactId>flink-connector-opensearch-parent</artifactId>
29-
<version>2.0-SNAPSHOT</version>
29+
<version>3.0-SNAPSHOT</version>
3030
</parent>
3131

3232
<artifactId>flink-connector-opensearch-base</artifactId>

flink-connector-opensearch-base/src/test/java/org/apache/flink/connector/opensearch/table/TestContext.java

+6-5
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,12 @@ DynamicTableFactory.Context build() {
5353
return new FactoryUtil.DefaultDynamicTableContext(
5454
ObjectIdentifier.of("default", "default", "t1"),
5555
new ResolvedCatalogTable(
56-
CatalogTable.of(
57-
Schema.newBuilder().fromResolvedSchema(schema).build(),
58-
"mock context",
59-
Collections.emptyList(),
60-
options),
56+
CatalogTable.newBuilder()
57+
.schema(Schema.newBuilder().fromResolvedSchema(schema).build())
58+
.comment("mock context")
59+
.partitionKeys(Collections.emptyList())
60+
.options(options)
61+
.build(),
6162
schema),
6263
Collections.emptyMap(),
6364
new Configuration(),

flink-connector-opensearch-base/src/test/java/org/apache/flink/streaming/connectors/opensearch/testutils/SourceSinkDataTestKit.java

-144
This file was deleted.

flink-connector-opensearch-e2e-tests/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ under the License.
2626
<parent>
2727
<groupId>org.apache.flink</groupId>
2828
<artifactId>flink-connector-opensearch-parent</artifactId>
29-
<version>2.0-SNAPSHOT</version>
29+
<version>3.0-SNAPSHOT</version>
3030
</parent>
3131

3232
<artifactId>flink-connector-opensearch-e2e-tests</artifactId>

flink-connector-opensearch-e2e-tests/src/main/java/org/apache/flink/streaming/tests/OpensearchSinkExample.java

+15-43
Original file line numberDiff line numberDiff line change
@@ -18,25 +18,20 @@
1818
package org.apache.flink.streaming.tests;
1919

2020
import org.apache.flink.api.common.functions.FlatMapFunction;
21-
import org.apache.flink.api.common.functions.RuntimeContext;
2221
import org.apache.flink.api.java.tuple.Tuple2;
23-
import org.apache.flink.api.java.utils.ParameterTool;
22+
import org.apache.flink.connector.opensearch.sink.FailureHandler;
23+
import org.apache.flink.connector.opensearch.sink.OpensearchEmitter;
24+
import org.apache.flink.connector.opensearch.sink.OpensearchSinkBuilder;
2425
import org.apache.flink.streaming.api.datastream.DataStream;
2526
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
26-
import org.apache.flink.streaming.connectors.opensearch.ActionRequestFailureHandler;
27-
import org.apache.flink.streaming.connectors.opensearch.OpensearchSink;
28-
import org.apache.flink.streaming.connectors.opensearch.RequestIndexer;
2927
import org.apache.flink.util.Collector;
30-
28+
import org.apache.flink.util.ParameterTool;
3129
import org.apache.http.HttpHost;
32-
import org.opensearch.action.ActionRequest;
3330
import org.opensearch.action.index.IndexRequest;
3431
import org.opensearch.action.update.UpdateRequest;
3532
import org.opensearch.client.Requests;
3633

37-
import java.util.ArrayList;
3834
import java.util.HashMap;
39-
import java.util.List;
4035
import java.util.Map;
4136

4237
/** End to end test for OpensearchSink. */
@@ -69,31 +64,21 @@ public void flatMap(
6964
}
7065
});
7166

72-
List<HttpHost> httpHosts = new ArrayList<>();
73-
httpHosts.add(new HttpHost("127.0.0.1", 9200, "http"));
74-
75-
OpensearchSink.Builder<Tuple2<String, String>> osSinkBuilder =
76-
new OpensearchSink.Builder<>(
77-
httpHosts,
78-
(Tuple2<String, String> element,
79-
RuntimeContext ctx,
80-
RequestIndexer indexer) -> {
67+
OpensearchSinkBuilder<Tuple2<String, String>> osSinkBuilder =
68+
new OpensearchSinkBuilder<>()
69+
.setHosts(new HttpHost("127.0.0.1", 9200, "http"))
70+
.setEmitter((OpensearchEmitter<Tuple2<String, String>>) (element, writer, indexer) -> {
8171
indexer.add(createIndexRequest(element.f1, parameterTool));
8272
indexer.add(createUpdateRequest(element, parameterTool));
83-
});
84-
85-
osSinkBuilder.setFailureHandler(
86-
new CustomFailureHandler(parameterTool.getRequired("index")));
87-
88-
// this instructs the sink to emit after every element, otherwise they would be buffered
89-
osSinkBuilder.setBulkFlushMaxActions(1);
90-
91-
source.addSink(osSinkBuilder.build());
73+
})
74+
.setFailureHandler(new CustomFailureHandler(parameterTool.getRequired("index")))
75+
.setBulkFlushMaxActions(1);
9276

77+
source.sinkTo(osSinkBuilder.build());
9378
env.execute("Opensearch end to end sink test example");
9479
}
9580

96-
private static class CustomFailureHandler implements ActionRequestFailureHandler {
81+
private static class CustomFailureHandler implements FailureHandler {
9782

9883
private static final long serialVersionUID = 942269087742453482L;
9984

@@ -104,21 +89,8 @@ private static class CustomFailureHandler implements ActionRequestFailureHandler
10489
}
10590

10691
@Override
107-
public void onFailure(
108-
ActionRequest action, Throwable failure, int restStatusCode, RequestIndexer indexer)
109-
throws Throwable {
110-
if (action instanceof IndexRequest) {
111-
Map<String, Object> json = new HashMap<>();
112-
json.put("data", ((IndexRequest) action).source());
113-
114-
indexer.add(
115-
Requests.indexRequest()
116-
.index(index)
117-
.id(((IndexRequest) action).id())
118-
.source(json));
119-
} else {
120-
throw new IllegalStateException("unexpected");
121-
}
92+
public void onFailure(Throwable failure) {
93+
throw new IllegalStateException("Unexpected exception for index:" + index);
12294
}
12395
}
12496

flink-connector-opensearch/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ under the License.
2626
<parent>
2727
<groupId>org.apache.flink</groupId>
2828
<artifactId>flink-connector-opensearch-parent</artifactId>
29-
<version>2.0-SNAPSHOT</version>
29+
<version>3.0-SNAPSHOT</version>
3030
</parent>
3131

3232
<artifactId>flink-connector-opensearch</artifactId>

0 commit comments

Comments
 (0)