Hello Lari: Here I actually want to discuss whether it is necessary for us to introduce Jackson modules, and what is the scope boundary we use when introducing Jackson modules? Here are some questions about this:
1. After we introduce Jackson modules, do we need to optimize the code that originally called Jackson? 2. After the introduction, we keep the original code using Jackson unchanged, and only use the logic of Jackson modules in the newly added code If we take 1, it seems that the changes here will be relatively large. Many Pojo objects will involve the serialization and deserialization of Json objects, and it feels that the entire boundary is not well controlled. +1 for me if we're taking 2. -- Thanks Xiaolong Ran Lari Hotari <lhot...@apache.org> 于2023年1月9日周一 21:25写道: > Any change to Jackson configuration is a potential breaking change. Yes, > it will need a PIP. > I guess we can continue to discuss the change in this thread before I > create an actual PIP which can be voted on. > > -Lari > > On 2023/01/09 11:53:02 丛搏 wrote: > > Hi, Lari: > > > > Will it affect compatibility? If it is just an improved function, I > > think it can also be added to the pulsar-common module. it adds the > > dependency, so it needs PIP to discuss. > > > > Thanks, > > Bo > > > > Lari Hotari <lhot...@apache.org> 于2023年1月9日周一 19:06写道: > > > > > > Hi all, > > > > > > Jackson has a separate Java 8 support modules for adding support for > proper serialization and deserialization of new classes that were added in > Java 8 (Java 8 was released in 2014). > > > > > > These Jackson Java 8 support modules haven't been used in the Pulsar > code base. This is a pity. This causes a lot of pain when using Java Time > classes in Pulsar applications or Pulsar Functions. There are ways to get > the classes working for applications, but the documentation is missing. It > would make things easier if the Java 8 support modules for Jackson would be > included and registered by default. > > > > > > I have created a PR to register Jackson Java 8 support modules by > default for all Pulsar components. The PR is > https://github.com/apache/pulsar/pull/19161 . > > > > > > Please review and provide feedback. Do we need a PIP for this change? > > > > > > -Lari > > >