Skip to content

Commit 4dec3d5

Browse files
committed
update trim the id to be 15 chars long
1 parent 7bd8102 commit 4dec3d5

File tree

3 files changed

+25
-8
lines changed

3 files changed

+25
-8
lines changed

server/src/handlers/http/modal/ingest_server.rs

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -198,10 +198,28 @@ impl IngestServer {
198198
// generate the path for the object store
199199
let path = ingestor_metadata_path(None);
200200

201-
if store.get_object(&path).await.is_ok() {
202-
log::info!("ingestor metadata already exists");
203-
return Ok(());
204-
};
201+
// we are considering that we can always get from object store
202+
if let Ok(store_meta) = store.get_object(&path).await {
203+
log::info!("Ingestor Metadata is present. Checking for updates");
204+
let mut store_data = serde_json::from_slice::<IngestorMetadata>(&store_meta)
205+
.map_err(|_| anyhow!("IngestorMetadata was not parseable as valid json"))?;
206+
207+
if store_data.domain_name != INGESTOR_META.domain_name {
208+
log::info!("Ingestor Metadata update needed.");
209+
store_data.domain_name = INGESTOR_META.domain_name.clone();
210+
store_data.port = INGESTOR_META.port.clone();
211+
212+
let resource = serde_json::to_string(&store_data)?
213+
.try_into_bytes()
214+
.map_err(|err| anyhow!(err))?;
215+
216+
// if pushing to object store fails propagate the error
217+
return store
218+
.put_object(&path, resource)
219+
.await
220+
.map_err(|err| anyhow!(err));
221+
}
222+
}
205223

206224
let resource = serde_json::to_string(&resource)?
207225
.try_into_bytes()

server/src/storage/staging.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,6 @@ pub fn get_ingestor_info() -> anyhow::Result<IngestorMetadata> {
330330
);
331331

332332
put_ingestor_info(out.clone())?;
333-
334333
Ok(out)
335334
}
336335

server/src/utils.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,8 @@ pub mod update;
2525
use crate::option::CONFIG;
2626
use chrono::{DateTime, NaiveDate, Timelike, Utc};
2727
use sha2::{Digest, Sha256};
28+
2829
use std::env;
29-
#[allow(unused_imports)]
30-
use std::net::SocketAddr;
3130
use url::Url;
3231

3332
#[allow(dead_code)]
@@ -270,8 +269,9 @@ pub fn get_ingestor_id() -> String {
270269
let mut hasher = Sha256::new();
271270
hasher.update(now);
272271
let result = format!("{:x}", hasher.finalize());
272+
let result = result.split_at(15).0.to_string();
273273
log::debug!("Ingestor ID: {}", &result);
274-
result
274+
result.to_string()
275275
}
276276

277277
#[cfg(test)]

0 commit comments

Comments
 (0)