XMLWordPrintableJSON

Details

    Description

      Annotations should be utilized to generate more efficient serialization code.

      Planned improvements:

      • Using never null annotations on a field, the serialized representation can omit the 1 byte null tags and the serializer code handling this tag.
      • Using never null annotiation on the POJO, we can omit the top level null tag.
      • Making a POJO final we can omit the subclass tag.

      The very same annotations can be used to make the getLength method much smarter.

      Code generation is a prerequisite, to avoid runtime checks which could make the common codepath (without annotations) slower.

      I could also annotate some internal Flink types to make them more efficient.

      The main risk: it would break savepoints created with a Flink version that did not have annotation. We could either introduce a compatibility mode, or force users to recreate those save points.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              xazax Gabor Horvath
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated: