tree e797002d9dcfbe495cec0627d9b39da73a93c41b
parent 167c45260c76057b9856bd073661365663bd80f2
author Abhishek Agarwal <1477457+abhishekagarwal87@users.noreply.github.com> 1626957049 +0530
committer GitHub <noreply@github.com> 1626957049 +0530
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJg+WT5CRBK7hj4Ov3rIwAApVUIAFtMe3QJQtjvfV+SZWV+jdIv
 hqOdovU3muPnwY6SyoPfd6HSCxG6JAMxe+g2uejkDoqi7mxfx+g95A7juiUKOXY8
 uWKMM5Nd+gcJpjOtuhrzWrmonUQNgfpO1GxQDs7JsYeU/iD8bpbKrKnCAhCzhWoL
 RG+wM942rxw/wblA82ay3SLh1RP8SeCYrclsKRILL90o315zUHFJAs6AHTSjG+MB
 ENZin5tM8N+mmzvNCs2fFep+SOI59Mgl6z5eEbBAK9i7G8apG199tmUk4xSeooKl
 QeykgUj6X11ouRkqmpg/9QkhFfODVmq1vnv6x3egsll9xL0sgzCTqiQVxMb+aBs=
 =SxrE
 -----END PGP SIGNATURE-----
 

Make SegmentLoader extensible and customizable (#11398)

This PR refactors the code related to segment loading specifically SegmentLoader and SegmentLoaderLocalCacheManager. SegmentLoader is marked UnstableAPI which means, it can be extended outside core druid in custom extensions. Here is a summary of changes

SegmentLoader returns an instance of ReferenceCountingSegment instead of Segment. Earlier, SegmentManager was wrapping Segment objects inside ReferenceCountingSegment. That is now moved to SegmentLoader. With this, a custom implementation can track the references of segments. It also allows them to create custom ReferenceCountingSegment implementations. For this reason, the constructor visibility in ReferenceCountingSegment is changed from private to protected.
SegmentCacheManager has two additional methods called - reserve(DataSegment) and release(DataSegment). These methods let the caller reserve or release space without calling SegmentLoader#getSegment. We already had similar methods in StorageLocation and now they are available in SegmentCacheManager too which wraps multiple locations.
Refactoring to simplify the code in SegmentCacheManager wherever possible. There is no change in the functionality.