> 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