Skip to content

Commit cde8edf

Browse files
author
Devdutt Shenoi
committed
perf: to_string is an indirection
1 parent 06f093c commit cde8edf

File tree

4 files changed

+7
-16
lines changed

4 files changed

+7
-16
lines changed

src/handlers/http/modal/ingest_server.rs

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ use crate::storage::PARSEABLE_ROOT_DIRECTORY;
4343
use crate::sync;
4444

4545
use crate::{handlers::http::base_path, option::CONFIG};
46-
use actix_web::body::MessageBody;
4746
use actix_web::web;
4847
use actix_web::web::resource;
4948
use actix_web::Scope;
@@ -323,9 +322,7 @@ impl IngestServer {
323322
.clone_from(&INGESTOR_META.domain_name);
324323
store_data.port.clone_from(&INGESTOR_META.port);
325324

326-
let resource = serde_json::to_string(&store_data)?
327-
.try_into_bytes()
328-
.map_err(|err| anyhow!(err))?;
325+
let resource = Bytes::from(serde_json::to_vec(&store_data)?);
329326

330327
// if pushing to object store fails propagate the error
331328
return store
@@ -334,9 +331,7 @@ impl IngestServer {
334331
.map_err(|err| anyhow!(err));
335332
}
336333
} else {
337-
let resource = serde_json::to_string(&resource)?
338-
.try_into_bytes()
339-
.map_err(|err| anyhow!(err))?;
334+
let resource = Bytes::from(serde_json::to_vec(&resource)?);
340335

341336
store.put_object(&path, resource).await?;
342337
}

src/handlers/http/modal/mod.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,7 @@ impl IngestorMetadata {
220220
#[cfg(test)]
221221
mod test {
222222
use actix_web::body::MessageBody;
223+
use bytes::Bytes;
223224
use rstest::rstest;
224225

225226
use super::{IngestorMetadata, DEFAULT_VERSION};
@@ -255,10 +256,7 @@ mod test {
255256
"8002".to_string(),
256257
);
257258

258-
let lhs = serde_json::to_string(&im)
259-
.unwrap()
260-
.try_into_bytes()
261-
.unwrap();
259+
let lhs = Bytes::from(serde_json::to_vec(&im).unwrap());
262260
let rhs = br#"{"version":"v3","port":"8000","domain_name":"https://localhost:8000","bucket_name":"somebucket","token":"Basic YWRtaW46YWRtaW4=","ingestor_id":"ingestor_id","flight_port":"8002"}"#
263261
.try_into_bytes()
264262
.unwrap();

src/migration/metadata_migration.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
*
1717
*/
1818

19+
use bytes::Bytes;
1920
use rand::distributions::DistString;
2021
use serde_json::{json, Map, Value as JsonValue};
2122

@@ -24,7 +25,6 @@ use crate::{
2425
option::CONFIG,
2526
storage::{object_storage::ingestor_metadata_path, staging},
2627
};
27-
use actix_web::body::MessageBody;
2828

2929
/*
3030
v1
@@ -194,9 +194,7 @@ pub async fn migrate_ingester_metadata() -> anyhow::Result<Option<IngestorMetada
194194
JsonValue::String(CONFIG.parseable.flight_port.to_string()),
195195
);
196196
}
197-
let bytes = serde_json::to_string(&json)?
198-
.try_into_bytes()
199-
.map_err(|err| anyhow::anyhow!(err))?;
197+
let bytes = Bytes::from(serde_json::to_vec(&json)?);
200198

201199
let resource: IngestorMetadata = serde_json::from_value(json)?;
202200
staging::put_ingestor_info(resource.clone())?;

src/storage/staging.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -462,7 +462,7 @@ pub fn put_ingestor_info(info: IngestorMetadata) -> anyhow::Result<()> {
462462
let file_name = format!("ingestor.{}.json", info.ingestor_id);
463463
let file_path = path.join(file_name);
464464

465-
std::fs::write(file_path, serde_json::to_string(&info)?)?;
465+
std::fs::write(file_path, serde_json::to_vec(&info)?)?;
466466

467467
Ok(())
468468
}

0 commit comments

Comments
 (0)