bump Tao Jiuming <dao...@apache.org>于2025年1月24日 周五14:11写道:
> bump > > looking for feedback > > Tao Jiuming <dao...@apache.org>于2025年1月16日 周四15:55写道: > >> bump >> >> Tao Jiuming <dao...@apache.org> 于2025年1月15日周三 15:57写道: >> >>> Hi all, >>> >>> I open PIP-404 to introduce per ledger properties, which will add a >>> `properties` field to `LedgerInfo` to store extra properties for every >>> `Ledger`. >>> >>> # Background knowledge >>> As we don't have a secondary index on the Bookkeeper, so we can't query >>> entries by message metadata efficiently. >>> The `ManagedCursor` provides a method `asyncFindNewestMatching` to find >>> the newest entry that matches the given >>> predicate by binary search(See `OpFindNewest.java`). >>> In https://github.com/apache/pulsar/pull/22792, we optimized `seeking >>> by timestamp` by calculating >>> the range of ledgers that may contain the target timestamp by >>> `LedgerInfo#timestamp` and we don't need to scan all >>> ledgers. >>> However, when we enabled `AppendIndexMetadataInterceptor` and we want to >>> query entries by `BrokerEntryMetadata#index`, >>> there is no more efficient way, >>> we have to scan all ledgers by binary search to find the target entry. >>> >>> # Motivation >>> Introduce per-ledger properties and we can store the extra per-ledger >>> properties in the `LedgerInfo`, >>> so we can query entries by `incremental index` more efficiently, say, >>> `BrokerEntryMetadata#index`. >>> >>> >>> PR link: https://github.com/apache/pulsar/pull/23837/files >>> >>> Thanks, >>> Tao Jiuming(dao-jun) >>> >>>