Github user tzulitai commented on a diff in the pull request:
https://github.com/apache/flink/pull/6043#discussion_r190127059
--- Diff:
flink-connectors/flink-connector-elasticsearch-base/src/main/java/org/apache/flink/streaming/connectors/elasticsearch/RequestIndexer.java
---
@@ -21,18 +21,56 @@
import org.apache.flink.annotation.PublicEvolving;
import org.elasticsearch.action.ActionRequest;
+import org.elasticsearch.action.delete.DeleteRequest;
+import org.elasticsearch.action.index.IndexRequest;
+import org.elasticsearch.action.update.UpdateRequest;
/**
- * Users add multiple {@link ActionRequest ActionRequests} to a {@link
RequestIndexer} to prepare
+ * Users add multiple delete, index or update requests to a {@link
RequestIndexer} to prepare
* them for sending to an Elasticsearch cluster.
*/
@PublicEvolving
-public interface RequestIndexer {
+public abstract class RequestIndexer {
--- End diff --
I think we can leave `RequestIndexer` as a interface, and make the
`add(ActionRequest...)` a [default
method](https://docs.oracle.com/javase/tutorial/java/IandI/defaultmethods.html).
This would lessen the friction of this breaking change.
---