Hi, The serialization interface needs to be refactored afterward.
Before that, using ByteArrayOutputStream is easier. Thanks, ————————————————— Jialin Qiao Apache IoTDB PMC 李思佳 <[email protected]> 于2022年5月16日周一 11:44写道: > Hi all, > > When I was developing the snapshot interface for the configNode module, I > noticed that the parameters received by the serialization interface were > all defined as ByteBuffer, which seemed to have some problems. For example, > the external main process has no way of knowing how big the buffer will be. > We can only estimate a large value to allocate memory. > > Then I looked at the serialization interfaces of other modules, and it > seemed that most modules did the same thing. This could be a problem once > the actual size of the buffer exceeds our estimate. So I did a quick survey > of Netty's byteBuf last week, and here's the Chinese version of the results< > https://apache-iotdb.feishu.cn/docs/doccnW1EFoyLOScys9GTOuaEUbh>. > > At the same time, we found that the consensus module also has some > ByteBuf requirements. But byteBuf doesn't seem to be enough to give us > precise control over the size of the memory pool, and we may need to wrap > it if we decide to use it. > > Finally, we decided to use stream type instead of byteBuffer in > configNode for the time being. I will start this work to see if this is the > better way this week. If any idea, please let me know. > > By the way, Netty’s ByteBuf provides powerful tool operations that we > will not discard outright, but rather as an option. > > BR, > ----------------------------------- > Sijia Li > >
