Skip to content

Commit 282046d

Browse files
fix doc level query constructor (opensearch-project#651) (opensearch-project#682)
Signed-off-by: Surya Sashank Nistala <snistala@amazon.com> (cherry picked from commit 58a3a83) Co-authored-by: Surya Sashank Nistala <snistala@amazon.com>
1 parent ec20fc3 commit 282046d

4 files changed

Lines changed: 12 additions & 7 deletions

File tree

src/main/java/org/opensearch/securityanalytics/findings/FindingsService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ public FindingDto mapFindingWithDocsToFindingDto(FindingWithDocs findingWithDocs
216216
if (docLevelQueries.isEmpty()) { // this is finding generated by a bucket level monitor
217217
for (Map.Entry<String, String> entry : detector.getRuleIdMonitorIdMap().entrySet()) {
218218
if(entry.getValue().equals(findingWithDocs.getFinding().getMonitorId())) {
219-
docLevelQueries = Collections.singletonList(new DocLevelQuery(entry.getKey(),"","",Collections.emptyList()));
219+
docLevelQueries = Collections.singletonList(new DocLevelQuery(entry.getKey(),"", Collections.emptyList(),"",Collections.emptyList()));
220220
}
221221
}
222222
}

src/main/java/org/opensearch/securityanalytics/transport/TransportIndexDetectorAction.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,10 @@ private void createMonitorFromQueries(List<Pair<String, Rule>> rulesById, Detect
295295
);
296296
}
297297
},
298-
listener::onFailure
298+
e1 -> {
299+
log.error("Failed to index doc level monitor in detector creation", e1);
300+
listener.onFailure(e1);
301+
}
299302
);
300303
}, listener::onFailure);
301304
} else {
@@ -642,7 +645,7 @@ private IndexMonitorRequest createDocLevelMonitorRequest(List<Pair<String, Rule>
642645
tags.add(rule.getCategory());
643646
tags.addAll(rule.getTags().stream().map(Value::getValue).collect(Collectors.toList()));
644647

645-
DocLevelQuery docLevelQuery = new DocLevelQuery(id, name, actualQuery, tags);
648+
DocLevelQuery docLevelQuery = new DocLevelQuery(id, name, Collections.emptyList(), actualQuery, tags);
646649
docLevelQueries.add(docLevelQuery);
647650
}
648651
DocLevelMonitorInput docLevelMonitorInput = new DocLevelMonitorInput(detector.getName(), detector.getInputs().get(0).getIndices(), docLevelQueries);
@@ -692,6 +695,7 @@ private IndexMonitorRequest createDocLevelMonitorMatchAllRequest(
692695
DocLevelQuery docLevelQuery = new DocLevelQuery(
693696
monitorName,
694697
monitorName + "doc",
698+
Collections.emptyList(),
695699
actualQuery,
696700
Collections.emptyList()
697701
);

src/test/java/org/opensearch/securityanalytics/findings/FindingDtoTests.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
package org.opensearch.securityanalytics.findings;
66

77
import java.time.Instant;
8+
import java.util.Collections;
89
import java.util.List;
910
import org.opensearch.commons.alerting.model.DocLevelQuery;
1011
import org.opensearch.commons.alerting.model.FindingDocument;
@@ -27,7 +28,7 @@ public void testFindingDTO_creation() {
2728
"findingId",
2829
List.of("doc1", "doc2", "doc3"),
2930
"my_index",
30-
List.of(new DocLevelQuery("1","myQuery","fieldA:valABC", List.of())),
31+
List.of(new DocLevelQuery("1", "myQuery", Collections.emptyList(), "fieldA:valABC", List.of())),
3132
now,
3233
List.of(findingDocument1, findingDocument2, findingDocument3)
3334
);
@@ -36,7 +37,7 @@ public void testFindingDTO_creation() {
3637
assertEquals("findingId", findingDto.getId());
3738
assertEquals(List.of("doc1", "doc2", "doc3"), findingDto.getRelatedDocIds());
3839
assertEquals("my_index", findingDto.getIndex());
39-
assertEquals(List.of(new DocLevelQuery("1","myQuery","fieldA:valABC", List.of())), findingDto.getDocLevelQueries());
40+
assertEquals(List.of(new DocLevelQuery("1", "myQuery", Collections.emptyList(), "fieldA:valABC", List.of())), findingDto.getDocLevelQueries());
4041
assertEquals(now, findingDto.getTimestamp());
4142
assertEquals(List.of(findingDocument1, findingDocument2, findingDocument3), findingDto.getDocuments());
4243
}

src/test/java/org/opensearch/securityanalytics/findings/FindingServiceTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ public void testGetFindings_success() {
8484
"monitor_id1",
8585
"monitor_name1",
8686
"test_index1",
87-
List.of(new DocLevelQuery("1","myQuery","fieldA:valABC", List.of())),
87+
List.of(new DocLevelQuery("1", "myQuery", Collections.emptyList(), "fieldA:valABC", List.of())),
8888
Instant.now(),
8989
"1234"
9090
);
@@ -100,7 +100,7 @@ public void testGetFindings_success() {
100100
"monitor_id2",
101101
"monitor_name2",
102102
"test_index2",
103-
List.of(new DocLevelQuery("1","myQuery","fieldA:valABC", List.of())),
103+
List.of(new DocLevelQuery("1", "myQuery", Collections.emptyList(), "fieldA:valABC", List.of())),
104104
Instant.now(),
105105
"1234"
106106
);

0 commit comments

Comments
 (0)