You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by GitBox <gi...@apache.org> on 2022/01/24 10:08:42 UTC

[GitHub] [flink] CrynetLogistics commented on a change in pull request #18449: [FLINK-25661] [flink-connector-base]- fatal exception handler

CrynetLogistics commented on a change in pull request #18449:
URL: https://github.com/apache/flink/pull/18449#discussion_r790586157



##########
File path: flink-connectors/flink-connector-base/src/main/java/org/apache/flink/connector/base/sink/AsyncSinkBaseBuilder.java
##########
@@ -37,6 +38,7 @@
         ConcreteBuilderT extends AsyncSinkBaseBuilder<?, ?, ?>> {
 
     private ElementConverter<InputT, RequestEntryT> elementConverter;
+    private FatalExceptionHandler<RequestEntryT> fatalExceptionHandler;

Review comment:
       Hi @nirtsruya thanks for your contribution.
   
   I see the following options:
   
   1. Keeping a mapping between `InputT` and `RequestEntryT` in the `SinkWriter` and only exposing the `InputT`.
   Advantages:
   - Only exposes the `InputT` to the user (would not break encapsulation, underlying sink implementation free to change)
   Disadvantages:
   - Sink would require ~2x the memory to store the corresponding `InputT`s
   - Would complicate `SinkWriter` implementation
   
   2. Return a `toString`-style printout of the failed `RequestEntryT`s - since most people really only want to append a representative list of failed entries in an appropriate format to their message log, we can provide a `shortFailedList` with a few elements (or under 200 chars) and a `fullFailedList`. The sink implementer would be in the best position to determine what is a 'representative list of failed entries in an appropriate format' for their particular set of `RequestEntryT`s.
   Advantages:
   - Would not expose `RequestEntryT` to the user (would not break encapsulation, underlying sink implementation free to change)
   Disadvantages:
   - User not free to use the `RequestEntryT`s in whatever way they like - sort/concat/parse&determine error/etc.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org