+1

Penghui

> On Jan 16, 2023, at 23:36, Yubiao Feng <yubiao.f...@streamnative.io.INVALID> 
> wrote:
> 
> Hi community
> 
> I am starting a DISCUSS for making the default value of the parameter
> "--get-subscription-backlog-size" of admin API "topics stats" true.
> 
> In the PR https://github.com/apache/pulsar/pull/9302, the property backlog
> size of each subscription returned in the response of the API topics stats,
> by default this property is always equal to 0 in response, and this will
> confuse users. Since the calculation of backlog size is done in broker
> memory, there is no significant overhead(the process is described in the
> following section), so I think the correct values should be displayed by
> default.
> 
> ### The following two APIs should be affected:
> 
> In Pulsar admin API
> ```
> pulsar-admin topics stats persistent://test-tenant/ns1/tp1
> --get-subscription-backlog-size
> pulsar-admin topics stats persistent://test-tenant/ns1/tp1 -sbs
> ```
> the default value of parameter `--get-subscription-backlog-size` will be
> `true`
> 
> In Pulsar Rest API
> ```
> curl GET "http://127.0.0.1:8080/test-tenant/ns1/tp1/stats
> "?subscriptionBacklogSize=true
> ```
> the default value of parameter `subscriptionBacklogSize ` will be `true`
> 
> 
> ### The following is the process of calculating backlog size:
> - Divide `PersistentTopc.ledgers` into two parts according to the ledgerId
> of the mark delete position of the cursor. The second part is ledgers
> indicating the messages still need to be consumed, aka backlogSizeInLedgers.
> - Find the LedgerInfo whose ledgerId is the same as the ledgerId of the
> mark delete position of the cursor, and we can also divide the ledger into
> two parts, the second part is entries indicating the messages still need to
> be consumed, multiply the average size of each entry in metrics by the
> number of still need to be consumed entries we can get the backlog size in
> this ledger. aka backlogSizeInEntries.
> - `backlogSizeInLe dgers` + `backlogSizeInEntries`
> 
> Thanks
> Yubiao Feng

Reply via email to