Skip to content

Commit 28a8818

Browse files
correct alert json in demo script, refactor querier selection
1 parent ea5270e commit 28a8818

File tree

3 files changed

+23
-6
lines changed

3 files changed

+23
-6
lines changed

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ ulid = { version = "1.0", features = ["serde"] }
132132
xxhash-rust = { version = "0.8", features = ["xxh3"] }
133133
futures-core = "0.3.31"
134134
tempfile = "3.20.0"
135-
lazy_static = "1.5.0"
135+
lazy_static = "1.4.0"
136136

137137
[build-dependencies]
138138
cargo_toml = "0.21"

resources/ingest_demo_data.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -437,7 +437,7 @@ create_alerts() {
437437
fi
438438

439439
# Alert 3: Trace ID null
440-
alert3_json="{\"severity\":\"high\",\"title\":\"Trace ID null\",\"alertType\":\"threshold\",\"query\": \"select count(trace_id) as count_trace_id from demodata where trace_id is null\",\"thresholdConfig\":{\"operator\":\"is null\",\"value\":null},\"evalConfig\":{\"rollingWindow\":{\"evalStart\":\"5h\",\"evalEnd\":\"now\",\"evalFrequency\":1}},\"targets\":[\"$target_id\"]}"
440+
alert3_json="{\"severity\":\"high\",\"title\":\"Trace ID null\",\"alertType\":\"threshold\",\"query\": \"select count(trace_id) as count_trace_id from demodata where trace_id is null\",\"thresholdConfig\":{\"operator\":\">\",\"value\":0},\"evalConfig\":{\"rollingWindow\":{\"evalStart\":\"5h\",\"evalEnd\":\"now\",\"evalFrequency\":1}},\"targets\":[\"$target_id\"]}"
441441
response3=$(curl_with_retry "$P_URL/api/v1/alerts" "POST" "$alert3_json" "application/json" 3)
442442
if [[ $? -eq 0 ]]; then
443443
echo "Alert 3 (Trace ID null) created successfully"

src/handlers/http/cluster/mod.rs

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1308,6 +1308,9 @@ pub async fn mark_querier_available(domain_name: &str) {
13081308

13091309
pub async fn send_query_request(query_request: &Query) -> Result<(JsonValue, String), QueryError> {
13101310
let querier = get_available_querier().await?;
1311+
let domain_name = querier.domain_name.clone();
1312+
1313+
// Perform the query request
13111314
let fields = query_request.fields;
13121315
let streaming = query_request.streaming;
13131316
let send_null = query_request.send_null;
@@ -1316,16 +1319,30 @@ pub async fn send_query_request(query_request: &Query) -> Result<(JsonValue, Str
13161319
&querier.domain_name,
13171320
);
13181321

1319-
let body = serde_json::to_string(&query_request)?;
1320-
let res = INTRA_CLUSTER_CLIENT
1322+
let body = match serde_json::to_string(&query_request) {
1323+
Ok(body) => body,
1324+
Err(err) => {
1325+
mark_querier_available(&domain_name).await;
1326+
return Err(QueryError::from(err));
1327+
}
1328+
};
1329+
1330+
let res = match INTRA_CLUSTER_CLIENT
13211331
.post(uri)
13221332
.header(header::AUTHORIZATION, &querier.token)
13231333
.header(header::CONTENT_TYPE, "application/json")
13241334
.body(body)
13251335
.send()
1326-
.await?;
1336+
.await
1337+
{
1338+
Ok(res) => res,
1339+
Err(err) => {
1340+
mark_querier_available(&domain_name).await;
1341+
return Err(QueryError::from(err));
1342+
}
1343+
};
13271344

1328-
let domain_name = querier.domain_name.clone();
1345+
// Mark querier as available immediately after the HTTP request completes
13291346
mark_querier_available(&domain_name).await;
13301347

13311348
let headers = res.headers();

0 commit comments

Comments
 (0)