[
https://issues.apache.org/jira/browse/DL-101?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sijie Guo resolved DL-101.
--------------------------
Resolution: Fixed
> Improve session expire handling on fetching log segments for readers
> --------------------------------------------------------------------
>
> Key: DL-101
> URL: https://issues.apache.org/jira/browse/DL-101
> Project: DistributedLog
> Issue Type: Improvement
> Components: distributedlog-core
> Reporter: Sijie Guo
> Assignee: Sijie Guo
>
> The log segment management in DL is now done by 3 parts.
> - a LogSegmentMetadataStore (one per namespace instance): it is used for
> fetching the log segments from log segment metadata store (ZooKeeper). it
> doesn't do any caching.
> - a LogSegmentMetadataCache (one per namespace instance): it is a guava
> cache based metadata cache. it maintains a mapping between log segment
> metadata path and the log segment metadata. it manages the cache for the log
> segments that will be accessed in this namespace instance. it doesn't manage
> the sequence of the log segments for streams.
> - a PerStreamLogSegmentCache for each BKLogHandler. the log segment cache
> is per stream. it maintains the sequence of the log segments.
> BKLogWriteHandler doesn't watch the log segment changes. It fetches
> minimal number of log segments when it is created and fetches the full list
> of log segments for truncations. New log segments will be added to the per
> stream log segment cache with log segment rolling.
> BKLogReadHandler watch the log segments changes and only notify when the
> list of log segments is changed. the session handling which is specific to
> the metadata store is hidden to the implementations of
> LogSegmentMetadataStore.
> The change tries to cleanup bunch of unused methods in
> BKLog{Read,Write}Handler too.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)