leventov opened a new issue #8187: Problematic separation between IndexerMetadataStorageCoordinator and MetadataSegmentManager abstractions URL: https://github.com/apache/incubator-druid/issues/8187 Several methods from `IndexerMetadataStorageCoordinator`, namely - `getUsedSegmentsForInterval` - `getAllUsedSegments` - `getUsedSegmentsAndCreatedDates` - `getUsedSegmentsForIntervals` - `getveUnusedSegmentsForInterval` Duplicate the `MetadataSegmentManager`'s functionality and look like much better suited for the latter class. The conceptual difference is that `MetadataSegmentManager` caches the segments' data in memory, while `IndexerMetadataStorageCoordinator` always accesses the metadata store. This difference should be retained, but there should be comments to those methods, as well as parallel methods returning cached metadata with warnings and guidance regarding which method to use. For example, `MaterializedViewSupervisor` uses the methods from `IndexerMetadataStorageCoordinator` which seems unnecessary to me (could use the methods from `MetadataSegmentManager` instead). If we decide that "cached metadata - direct access to metadata store" is the separation principle between `IndexerMetadataStorageCoordinator` and `MetadataSegmentManager`, then this fact should be reflected in these interfaces' names, Javadocs, and `retrieveAllDataSourceNames()` method should be moved from `MetadataSegmentManager` to `IndexerMetadataStorageCoordinator`.
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
