| 38 | } |
| 39 | |
| 40 | func NewCache(cfgBloom *BloomConfig, nextReader backend.RawReader, nextWriter backend.RawWriter, cacheProvider cache.Provider, logger log.Logger) (backend.RawReader, backend.RawWriter, error) { |
| 41 | rw := &readerWriter{ |
| 42 | cfgBloom: cfgBloom, |
| 43 | |
| 44 | footerCache: cacheProvider.CacheFor(cache.RoleParquetFooter), |
| 45 | bloomCache: cacheProvider.CacheFor(cache.RoleBloom), |
| 46 | offsetIdxCache: cacheProvider.CacheFor(cache.RoleParquetOffsetIdx), |
| 47 | columnIdxCache: cacheProvider.CacheFor(cache.RoleParquetColumnIdx), |
| 48 | traceIDIdxCache: cacheProvider.CacheFor(cache.RoleTraceIDIdx), |
| 49 | pageCache: cacheProvider.CacheFor(cache.RoleParquetPage), |
| 50 | |
| 51 | nextReader: nextReader, |
| 52 | nextWriter: nextWriter, |
| 53 | } |
| 54 | |
| 55 | level.Info(logger).Log("msg", "caches available to storage backend", |
| 56 | cache.RoleParquetFooter, rw.footerCache != nil, |
| 57 | cache.RoleBloom, rw.bloomCache != nil, |
| 58 | cache.RoleParquetOffsetIdx, rw.offsetIdxCache != nil, |
| 59 | cache.RoleParquetColumnIdx, rw.columnIdxCache != nil, |
| 60 | cache.RoleTraceIDIdx, rw.traceIDIdxCache != nil, |
| 61 | cache.RoleParquetPage, rw.pageCache != nil, |
| 62 | ) |
| 63 | |
| 64 | return rw, rw, nil |
| 65 | } |
| 66 | |
| 67 | // List implements backend.RawReader |
| 68 | func (r *readerWriter) List(ctx context.Context, keypath backend.KeyPath) ([]string, error) { |