Skip to content

Commit 7f7aa48

Browse files
committed
minor migration update
if mode is Prism, it will read all stream jsons once
1 parent c54b762 commit 7f7aa48

11 files changed

Lines changed: 21 additions & 11 deletions

File tree

src/enterprise/utils.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ pub async fn fetch_parquet_file_paths(
9999

100100
let obs = PARSEABLE
101101
.metastore
102-
.get_all_stream_jsons(stream, None, tenant_id)
102+
.get_all_stream_jsons(stream, None, tenant_id, false)
103103
.await;
104104
if let Ok(obs) = obs {
105105
for ob in obs {

src/handlers/http/cluster/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -872,7 +872,7 @@ pub async fn fetch_stats_from_ingestors(
872872
) -> Result<Vec<utils::QueriedStats>, StreamError> {
873873
let obs = PARSEABLE
874874
.metastore
875-
.get_all_stream_jsons(stream_name, Some(Mode::Ingest), tenant_id)
875+
.get_all_stream_jsons(stream_name, Some(Mode::Ingest), tenant_id, false)
876876
.await?;
877877

878878
let mut ingestion_size = 0u64;

src/handlers/http/modal/query/querier_logstream.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ pub async fn get_stats(
197197
if !date_value.is_empty() {
198198
let obs = PARSEABLE
199199
.metastore
200-
.get_all_stream_jsons(&stream_name, None, &tenant_id)
200+
.get_all_stream_jsons(&stream_name, None, &tenant_id, false)
201201
.await?;
202202

203203
let mut stream_jsons = Vec::new();

src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ pub mod handlers;
3232
pub mod hottier;
3333
pub mod interactive;
3434
mod livetail;
35-
mod metadata;
35+
pub mod metadata;
3636
pub mod metastore;
3737
pub mod metrics;
3838
pub mod migration;

src/metastore/metastore_traits.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,7 @@ pub trait Metastore: std::fmt::Debug + Send + Sync {
247247
stream_name: &str,
248248
mode: Option<Mode>,
249249
tenant_id: &Option<String>,
250+
is_migration: bool
250251
) -> Result<Vec<Bytes>, MetastoreError>;
251252

252253
/// Fetch manifests only for the explicitly requested date keys

src/metastore/metastores/object_store_metastore.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -892,6 +892,7 @@ impl Metastore for ObjectStoreMetastore {
892892
stream_name: &str,
893893
mode: Option<Mode>,
894894
tenant_id: &Option<String>,
895+
_is_migration: bool
895896
) -> Result<Vec<Bytes>, MetastoreError> {
896897
let root = tenant_id.as_deref().unwrap_or("");
897898
let path = RelativePathBuf::from_iter([root, stream_name, STREAM_ROOT_DIRECTORY]);

src/migration/mod.rs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,14 @@ async fn migration_stream(
272272
let schema = storage
273273
.create_schema_from_metastore(stream, tenant_id)
274274
.await?;
275+
276+
if PARSEABLE.options.mode == Mode::Prism {
277+
// read stream jsons once
278+
PARSEABLE
279+
.metastore
280+
.get_all_stream_jsons(stream, None, tenant_id, true)
281+
.await?;
282+
}
275283
let stream_metadata = fetch_or_create_stream_metadata(stream, storage, tenant_id).await?;
276284

277285
let mut stream_meta_found = true;
@@ -327,7 +335,7 @@ async fn fetch_or_create_stream_metadata(
327335
}
328336
}
329337

330-
async fn migrate_stream_metadata(
338+
pub async fn migrate_stream_metadata(
331339
mut stream_metadata_value: Value,
332340
stream: &str,
333341
schema: &Bytes,
@@ -432,7 +440,7 @@ async fn migrate_stream_metadata(
432440
Ok(stream_metadata_value)
433441
}
434442

435-
async fn setup_logstream_metadata(
443+
pub async fn setup_logstream_metadata(
436444
stream: &str,
437445
arrow_schema: &mut Schema,
438446
stream_metadata_value: Value,

src/prism/home/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ pub async fn generate_home_response(
212212
async fn get_stream_metadata(stream: String, tenant_id: &Option<String>) -> StreamMetadataResponse {
213213
let obs = PARSEABLE
214214
.metastore
215-
.get_all_stream_jsons(&stream, None, tenant_id)
215+
.get_all_stream_jsons(&stream, None, tenant_id, false)
216216
.await?;
217217
let mut stream_jsons = Vec::new();
218218
for ob in obs {

src/query/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -769,7 +769,7 @@ pub async fn get_manifest_list(
769769
if PARSEABLE.options.mode == Mode::Query || PARSEABLE.options.mode == Mode::Prism {
770770
let obs = PARSEABLE
771771
.metastore
772-
.get_all_stream_jsons(stream_name, None, tenant_id)
772+
.get_all_stream_jsons(stream_name, None, tenant_id, false)
773773
.await;
774774
if let Ok(obs) = obs {
775775
for ob in obs {

src/query/stream_schema_provider.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -566,7 +566,7 @@ impl TableProvider for StandardTableProvider {
566566
if PARSEABLE.options.mode == Mode::Query || PARSEABLE.options.mode == Mode::Prism {
567567
let obs = PARSEABLE
568568
.metastore
569-
.get_all_stream_jsons(&self.stream, None, &self.tenant_id)
569+
.get_all_stream_jsons(&self.stream, None, &self.tenant_id, false)
570570
.await;
571571
if let Ok(obs) = obs {
572572
for ob in obs {

0 commit comments

Comments
 (0)