Hi Zixuan,

Looks like you have added the wrong link for the proposal?
https://github.com/apache/pulsar/issues/14395 is for PIP-44

Penghui

On Mon, Mar 7, 2022 at 12:37 PM PengHui Li <peng...@apache.org> wrote:

> > This is a global setting now. But I wonder if we should compress it only
> if the size
> is over a threshold?
>
> +1
>
> Penghui
>
> On Sun, Mar 6, 2022 at 6:57 PM Enrico Olivelli <eolive...@gmail.com>
> wrote:
>
>> Il Dom 6 Mar 2022, 05:04 Haiting Jiang <jianghait...@apache.org> ha
>> scritto:
>>
>> > This is a global setting now. But I wonder if we should compress it only
>> > if the size
>> > is over a threshold?
>>
>>
>> Good idea
>>
>> Enrico
>>
>>
>>   Because:
>> > 1. It's not easy for us to notice some managed cursor info is too large
>> in
>> > advance,  normally it would be found only if it have actual impact. But
>> if
>> > we enable this compression in advance, it will took some extra computing
>> > resources.
>> > 2. It seems that it won't be a common case that this managed cursor info
>> > is too large (only if there are a lot individualDeletedMessages and
>> > batchedEntryDeletionIndexInfo). So not quite necessary to compress all
>> > managed cursor info.
>> >
>> > Regards,
>> > Haiting
>> >
>> >
>> > On 2022/03/02 04:41:16 Zixuan Liu wrote:
>> > > Hi Pulsar Community,
>> > >
>> > >
>> > > I create a proposal that support ManagedCursorInfo compression.
>> > >
>> > > The proposal can be found:
>> https://github.com/apache/pulsar/issues/14395
>> > >
>> > >
>> > > Motivation
>> > >
>> > > The cursor data is managed by ZooKeeper/etcd metadata store. When
>> > > cursor data becomes more and more, the data size will increase and
>> > > will take a lot of time to pull the data. Therefore, it is necessary
>> > > to add compression for the cursor, which can reduce the size of data
>> > > and reduce the time of pulling data.
>> > > Goal
>> > >
>> > > Support use the LZ4/ZLIB/ZSTD/SNAPPY to compress the
>> ManagedCursorInfo.
>> > > Implementation
>> > >
>> > >    - Cursor compression format
>> > >    [MAGIC_NUMBER] + [METADATA_SIZE] + [METADATA_PAYLOAD] +
>> > > [MANAGED_CURSOR_INFO_PAYLOAD]
>> > >
>> > >
>> > >    -
>> > >
>> > >    MAGIC_NUMBER
>> > >    Ox4779
>> > >    -
>> > >
>> > >    METADATA
>> > >    Add a named ManagedCursorInfoMetadata message to
>> MLDataFormats.proto:
>> > >    message ManagedCursorInfoMetadata {
>> > >       required CompressionType compressionType = 1;
>> > >       required int32 uncompressedSize = 2;
>> > >    }
>> > >
>> > > Currently, these compressions have been supported, we only need to
>> > > deal with compression and decompression of the ManagedCursorInfo data:
>> > >
>> > >    -
>> > >
>> > >    Get CursorInfo from the metadata store
>> > >    We will check the cursor data header, if it is compressed, we will
>> > > parse the bytes data by compressed format, otherwise by the original
>> > > way.
>> > >    -
>> > >
>> > >    Add/Update CursorInfo to the metadata store
>> > >    The default is to use compression if the compression type is
>> > specified.
>> > >
>> > >
>> > > Thanks,
>> > > Zixuan
>> > >
>> >
>>
>

Reply via email to