Skip to content

Commit 3572a1a

Browse files
authored
fix(tagstore) Don't explode on null values (#16368)
The `sentry:user` tag can come back null when it is read from the promoted columns. Handling nulls allows get_tag_value_label() to be used more broadly.
1 parent 431a42a commit 3572a1a

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

src/sentry/tagstore/base.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ def get_tag_key_label(self, key):
107107
def get_tag_value_label(self, key, value):
108108
label = value
109109

110-
if key == "sentry:user":
110+
if key == "sentry:user" and value:
111111
if value.startswith("id:"):
112112
label = value[len("id:") :]
113113
elif value.startswith("email:"):

tests/snuba/tagstore/test_tagstore_backend.py

+8
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,14 @@ def test_get_tag_value(self):
272272
value="notreal",
273273
)
274274

275+
def test_get_tag_value_label(self):
276+
assert self.ts.get_tag_value_label("foo", "notreal") == "notreal"
277+
assert self.ts.get_tag_value_label("sentry:user", None) is None
278+
assert self.ts.get_tag_value_label("sentry:user", "id:stuff") == "stuff"
279+
assert self.ts.get_tag_value_label("sentry:user", "email:stuff") == "stuff"
280+
assert self.ts.get_tag_value_label("sentry:user", "username:stuff") == "stuff"
281+
assert self.ts.get_tag_value_label("sentry:user", "ip:stuff") == "stuff"
282+
275283
def test_get_groups_user_counts(self):
276284
assert self.ts.get_groups_user_counts(
277285
project_ids=[self.proj1.id],

0 commit comments

Comments
 (0)