Thanks for the clarification. On Wed, May 3, 2023 at 1:16 PM Yangze Guo <karma...@gmail.com> wrote:
> Hi, Anuj, > > - Classes annotated with @Internal are not public API and thus might > change across any two releases. > - Classes annotated with @Experimental are for experimental use. They > can be changed across any two releases as well. > - Classes annotated with @PublicEvolving are intended for public use. > They are stable across patch releases (1.17.0 and 1.17.1), but can be > changed across minor releases (1.17.0 and 1.18.0). > > You can refer to [1] for more details. > > [1] > https://cwiki.apache.org/confluence/display/FLINK/FLIP-196%3A+Source+API+stability+guarantees > > Best, > Yangze Guo > > On Wed, May 3, 2023 at 12:08 PM Anuj Jain <anuj...@gmail.com> wrote: > > > > Hi Community, > > I saw some flink classes annotated with > > @Experimental > > @PublicEvolving > > @Internal > > > > What do these annotations mean? Can I use these classes in production? > > How the class APIs would evolve in future. Can they break backward > compatibility in terms of API declaration or implementation, in minor or > major Flink releases. > > > > More specifically, I am trying to use AvroParquet reader/writers with > File source and sink operators and i saw some classes with these > annotations like > > AvroParquetWriters (@Experimental) > > ParquetWriterFactory (@PublicEvolving implements BulkWriter.Factory<T>) > > BulkWriter (@PublicEvolving) > > AvroParquetReaders (@Experimental) > > AvroParquetRecordFormat (implements StreamFormat (@PublicEvolving)) > > StreamFormatAdapter (@Internal) > > StreamFormat (@PublicEvolving) > > > > Are they safe to use ? > > > > Appreciate your feedback. > > > > Regards > > Anuj >