pub async fn chunks(&self, predicate: &Predicate) -> Result<Vec<Arc<dyn QueryChunk>>> {
        debug!(?predicate, namespace=%self.namespace_name, table_name=%self.table_name(), "Fetching all chunks");

        let catalog_cache = self.chunk_adapter.catalog_cache();

        // ask ingesters for data, also optimistically fetching catalog
        // contents at the same time to pre-warm cache
        let (partitions, _parquet_files, _tombstones) = join!(
            self.ingester_partitions(predicate),
            catalog_cache.parquet_file().get(self.id()),
            catalog_cache.tombstone().get(self.id()),
        );

        // handle errors / cache refresh
        let partitions = partitions?;

        // figure out if the ingester has created new parquet files or
        // tombstones the querier doens't yet know about
        self.validate_caches(&partitions);

        debug!(
            namespace=%self.namespace_name,
            table_name=%self.table_name(),
            num_ingester_partitions=%partitions.len(),
            "Ingester partitions fetched"
        );

        // Now fetch the actual contents of the catalog we need
        let (parquet_files, tombstones) = join!(
            catalog_cache.parquet_file().get(self.id()),
            catalog_cache.tombstone().get(self.id())
        );

        self.reconciler
            .reconcile(partitions, tombstones.to_vec(), parquet_files)
            .await
            .context(StateFusionSnafu)
    }
/// Query all chunks within this table.
///
/// This currently contains all parquet files linked to their unprocessed tombstones.
Query all chunks within this table.
This currently contains all parquet files linked to their unprocessed tombstones.
Query all chunks within this table . This currently contains all parquet files linked to their unprocessed tombstones .
pub async fn chunks(&self, predicate: &Predicate) -> Result<Vec<Arc<dyn QueryChunk>>> {
        debug!(?predicate, namespace=%self.namespace_name, table_name=%self.table_name(), "Fetching all chunks");
        let catalog_cache = self.chunk_adapter.catalog_cache();
        // ask ingesters for data, also optimistically fetching catalog
        // contents at the same time to pre-warm cache
        let (partitions, _parquet_files, _tombstones) = join!(
            self.ingester_partitions(predicate),
            catalog_cache.parquet_file().get(self.id()),
            catalog_cache.tombstone().get(self.id()),
        );
        // handle errors / cache refresh
        let partitions = partitions?;
        // figure out if the ingester has created new parquet files or
        // tombstones the querier doens't yet know about
        self.validate_caches(&partitions);
        debug!(
            namespace=%self.namespace_name,
            table_name=%self.table_name(),
            num_ingester_partitions=%partitions.len(),
            "Ingester partitions fetched"
        );
        // Now fetch the actual contents of the catalog we need
        let (parquet_files, tombstones) = join!(
            catalog_cache.parquet_file().get(self.id()),
            catalog_cache.tombstone().get(self.id())
        );
        self.reconciler
            .reconcile(partitions, tombstones.to_vec(), parquet_files)
            .await
            .context(StateFusionSnafu)
    }
pub async fn chunks ( & self , predicate : & Predicate ) -> Result < Vec < Arc < dyn QueryChunk > > > { debug ! ( predicate namespace self namespace_name table_name self table_name ( ) " " ) ; let catalog_cache = self . chunk_adapter . catalog_cache ( ) ; // ask ingesters for data, also optimistically fetching catalog // contents at the same time to pre-warm cache let ( partitions , _parquet_files , _tombstones ) = join ! ( self ingester_partitions ( predicate ) catalog_cache parquet_file ( ) get ( self id ( ) ) catalog_cache tombstone ( ) get ( self id ( ) ) ) ; // handle errors / cache refresh let partitions = partitions ? ; // figure out if the ingester has created new parquet files or // tombstones the querier doens't yet know about self . validate_caches ( & partitions ) ; debug ! ( namespace self namespace_name table_name self table_name ( ) num_ingester_partitions partitions len ( ) " " ) ; // Now fetch the actual contents of the catalog we need let ( parquet_files , tombstones ) = join ! ( catalog_cache parquet_file ( ) get ( self id ( ) ) catalog_cache tombstone ( ) get ( self id ( ) ) ) ; self . reconciler . reconcile ( partitions , tombstones . to_vec ( ) , parquet_files ) . await . context ( StateFusionSnafu ) }
Query all chunks within this table.
Query all chunks within this table .
&self
predicate
&Predicate
&self
predicate
&Predicate