From bce0d4ebf92993fe1d167d55c67cfe3f91f03ae6 Mon Sep 17 00:00:00 2001 From: Amanda Chesin <33710232+achesin@users.noreply.github.com> Date: Tue, 13 Apr 2021 16:08:09 -0400 Subject: [PATCH] [fix] Add null check for span.logs in search/filter-spans (#734) Signed-off-by: Amanda Chesin Signed-off-by: vvvprabhakar --- packages/jaeger-ui/src/utils/filter-spans.test.js | 5 +++++ packages/jaeger-ui/src/utils/filter-spans.tsx | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/jaeger-ui/src/utils/filter-spans.test.js b/packages/jaeger-ui/src/utils/filter-spans.test.js index e4a054141a..92adfdf283 100644 --- a/packages/jaeger-ui/src/utils/filter-spans.test.js +++ b/packages/jaeger-ui/src/utils/filter-spans.test.js @@ -188,6 +188,11 @@ describe('filterSpans', () => { expect(filterSpans('processTagKey2', spans)).toEqual(new Set([spanID2])); }); + it('should return no spans when logs is null', () => { + const nullSpan = { ...span0, logs: null }; + expect(filterSpans('logFieldKey1', [nullSpan])).toEqual(new Set([])); + }); + it("should return spans whose process.processTags' kv.value match a filter", () => { expect(filterSpans('processTagValue1', spans)).toEqual(new Set([spanID0, spanID2])); expect(filterSpans('processTagValue0', spans)).toEqual(new Set([spanID0])); diff --git a/packages/jaeger-ui/src/utils/filter-spans.tsx b/packages/jaeger-ui/src/utils/filter-spans.tsx index d6df7876cd..5817f65cbc 100644 --- a/packages/jaeger-ui/src/utils/filter-spans.tsx +++ b/packages/jaeger-ui/src/utils/filter-spans.tsx @@ -57,7 +57,7 @@ export default function filterSpans(textFilter: string, spans: Span[] | TNil) { isTextInFilters(includeFilters, span.operationName) || isTextInFilters(includeFilters, span.process.serviceName) || isTextInKeyValues(span.tags) || - span.logs.some(log => isTextInKeyValues(log.fields)) || + (span.logs !== null && span.logs.some(log => isTextInKeyValues(log.fields))) || isTextInKeyValues(span.process.tags) || includeFilters.some(filter => filter.replace(/^0*/, '') === span.spanID.replace(/^0*/, ''));