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 2019/07/23 12:22:50 UTC

[GitHub] [flink] JingsongLi commented on issue #9185: [FLINK-13266] [table] Relocate blink planner classes to avoid class clashes

JingsongLi commented on issue #9185: [FLINK-13266] [table] Relocate blink planner classes to avoid class clashes
URL: https://github.com/apache/flink/pull/9185#issuecomment-514186392
 
 
   > > Update:
   > > @godfreyhe what is the purpose of `NullSerializer` and why has `ListViewTypeInfo` a `(TypeInformation<T> elementType, boolean nullSerializer)` constructor? The Flink code did not contain such special cases.
   > 
   > this is introduced in Blink planner, and `nullSerializer` will be always false in Flink planner.
   > in blink, `MapView` or `ListView` in `Accumulator` does not need to be serialized, like [MaxWithRetractAggFunction](https://github.com/apache/flink/blob/master/flink-table/flink-table-planner-blink/src/main/java/org/apache/flink/table/functions/aggfunctions/MaxWithRetractAggFunction.java)
   
   MapView or ListView in Accumulator can not to be serialized if it is `isStateBackedDataViews`.
   
   In flink-planner: If it is `isStateBackedDataViews`, the flink-planner will remove view field for PojoTypeInfo, the code is in: `UserDefinedFunctionUtils.removeStateViewFieldsFromAccTypeInfo`. (data view fields which are backed by state backend are not serialized.)
   
   In blink-planner: The above approach does not work in blink-planner, because we will convert POJO to BaseRow in blink internal(Use `PojoConverter`), if we discard this field, the BaseRow arity will wrong and field index will confused. And the real state backed data views can not set to the BaseRow. The code is in: `ImperativeAggCodeGen.generateAccumulatorAccess`.

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services