Skip to content

Commit 3a9a7f5

Browse files
authored
Change stream_name type (#31)
1 parent 5da4839 commit 3a9a7f5

File tree

4 files changed

+21
-23
lines changed

4 files changed

+21
-23
lines changed

server/src/event.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ impl Event {
5959
&self,
6060
storage: &impl ObjectStorage,
6161
) -> Result<response::EventResponse, Error> {
62-
let schema = metadata::STREAM_INFO.schema(self.stream_name.clone())?;
62+
let schema = metadata::STREAM_INFO.schema(&self.stream_name)?;
6363
if schema.is_empty() {
6464
self.first_event(storage).await
6565
} else {
@@ -147,7 +147,7 @@ impl Event {
147147
);
148148

149149
// validate schema before attempting to append to parquet file
150-
let stream_schema = metadata::STREAM_INFO.schema(self.stream_name.clone())?;
150+
let stream_schema = metadata::STREAM_INFO.schema(&self.stream_name)?;
151151
if stream_schema != event_schema.string_schema {
152152
return Err(Error::SchemaMismatch(self.stream_name.clone()));
153153
}

server/src/handlers/event.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ pub async fn post_event(req: HttpRequest, body: web::Json<serde_json::Value>) ->
7676
let stream_name: String = req.match_info().get("logstream").unwrap().parse().unwrap();
7777
let labels = utils::collect_labels(&req);
7878

79-
if let Err(e) = metadata::STREAM_INFO.schema(stream_name.clone()) {
79+
if let Err(e) = metadata::STREAM_INFO.schema(&stream_name) {
8080
// if stream doesn't exist, fail to post data
8181
return response::ServerResponse {
8282
msg: format!(

server/src/handlers/logstream.rs

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ pub async fn delete(req: HttpRequest) -> HttpResponse {
5757
.to_http();
5858
}
5959

60-
if let Err(e) = metadata::STREAM_INFO.delete_stream(stream_name.to_string()) {
60+
if let Err(e) = metadata::STREAM_INFO.delete_stream(&stream_name) {
6161
return response::ServerResponse {
6262
msg: format!(
6363
"failed to delete log stream {} from metadata due to err: {}",
@@ -82,7 +82,7 @@ pub async fn list(_: HttpRequest) -> impl Responder {
8282
pub async fn schema(req: HttpRequest) -> HttpResponse {
8383
let stream_name: String = req.match_info().get("logstream").unwrap().parse().unwrap();
8484

85-
match metadata::STREAM_INFO.schema(stream_name.clone()) {
85+
match metadata::STREAM_INFO.schema(&stream_name) {
8686
Ok(schema) => response::ServerResponse {
8787
msg: schema,
8888
code: StatusCode::OK,
@@ -116,7 +116,7 @@ pub async fn schema(req: HttpRequest) -> HttpResponse {
116116
pub async fn get_alert(req: HttpRequest) -> HttpResponse {
117117
let stream_name: String = req.match_info().get("logstream").unwrap().parse().unwrap();
118118

119-
match metadata::STREAM_INFO.alert(stream_name.clone()) {
119+
match metadata::STREAM_INFO.alert(&stream_name) {
120120
Ok(alert) => response::ServerResponse {
121121
msg: alert,
122122
code: StatusCode::OK,
@@ -178,9 +178,7 @@ pub async fn put(req: HttpRequest) -> HttpResponse {
178178
// Fail if unable to create log stream on object store backend
179179
if let Err(e) = s3.create_stream(&stream_name).await {
180180
// delete the stream from metadata because we couldn't create it on object store backend
181-
metadata::STREAM_INFO
182-
.delete_stream(stream_name.to_string())
183-
.unwrap();
181+
metadata::STREAM_INFO.delete_stream(&stream_name).unwrap();
184182
return response::ServerResponse {
185183
msg: format!(
186184
"failed to create log stream {} due to err: {}",
@@ -217,8 +215,8 @@ pub async fn put_alert(req: HttpRequest, body: web::Json<serde_json::Value>) ->
217215
.await
218216
{
219217
Ok(_) => {
220-
if let Err(e) = metadata::STREAM_INFO
221-
.set_alert(stream_name.to_string(), alert_config.to_string())
218+
if let Err(e) =
219+
metadata::STREAM_INFO.set_alert(stream_name.clone(), alert_config.to_string())
222220
{
223221
return response::ServerResponse {
224222
msg: format!(

server/src/metadata.rs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,14 @@ use std::sync::RwLock;
2626
use crate::error::Error;
2727
use crate::storage::ObjectStorage;
2828

29-
#[derive(Debug, Default)]
29+
#[derive(Debug, Default, Clone, PartialEq, Eq)]
3030
pub struct LogStreamMetadata {
3131
pub schema: String,
3232
pub alert_config: String,
3333
pub stats: Stats,
3434
}
3535

36-
#[derive(Debug, Deserialize, Serialize, Default, Clone)]
36+
#[derive(Debug, Deserialize, Serialize, Default, Clone, PartialEq, Eq)]
3737
pub struct Stats {
3838
pub size: u64,
3939
pub compressed_size: u64,
@@ -67,29 +67,29 @@ lazy_static! {
6767
#[allow(clippy::all)]
6868
impl STREAM_INFO {
6969
pub fn set_schema(&self, stream_name: String, schema: String) -> Result<(), Error> {
70-
let alert_config = self.alert(stream_name.clone())?;
70+
let alert_config = self.alert(&stream_name)?;
7171
self.add_stream(stream_name, schema, alert_config)
7272
}
7373

74-
pub fn schema(&self, stream_name: String) -> Result<String, Error> {
74+
pub fn schema(&self, stream_name: &str) -> Result<String, Error> {
7575
let map = self.read().unwrap();
7676
let meta = map
77-
.get(&stream_name)
78-
.ok_or(Error::StreamMetaNotFound(stream_name))?;
77+
.get(stream_name)
78+
.ok_or(Error::StreamMetaNotFound(stream_name.to_string()))?;
7979

8080
Ok(meta.schema.clone())
8181
}
8282

8383
pub fn set_alert(&self, stream_name: String, alert_config: String) -> Result<(), Error> {
84-
let schema = self.schema(stream_name.clone())?;
84+
let schema = self.schema(&stream_name)?;
8585
self.add_stream(stream_name, schema, alert_config)
8686
}
8787

88-
pub fn alert(&self, stream_name: String) -> Result<String, Error> {
88+
pub fn alert(&self, stream_name: &str) -> Result<String, Error> {
8989
let map = self.read().unwrap();
9090
let meta = map
91-
.get(&stream_name)
92-
.ok_or(Error::StreamMetaNotFound(stream_name))?;
91+
.get(stream_name)
92+
.ok_or(Error::StreamMetaNotFound(stream_name.to_owned()))?;
9393

9494
Ok(meta.alert_config.clone())
9595
}
@@ -112,10 +112,10 @@ impl STREAM_INFO {
112112
Ok(())
113113
}
114114

115-
pub fn delete_stream(&self, stream_name: String) -> Result<(), Error> {
115+
pub fn delete_stream(&self, stream_name: &str) -> Result<(), Error> {
116116
let mut map = self.write().unwrap();
117117
// TODO: Add check to confirm data deletion
118-
map.remove(&stream_name);
118+
map.remove(stream_name);
119119

120120
Ok(())
121121
}

0 commit comments

Comments
 (0)