Skip to content

Commit 8c59674

Browse files
committed
feat(search-issues): Make message column available for querying
This allows the message column on search issues to be queried, and stops using `issue_title`. We won't merge this until we've dual written data for a week or two. Relies on #4385, #4387 Related to getsentry/sentry#50345
1 parent 83d43dc commit 8c59674

File tree

2 files changed

+30
-6
lines changed

2 files changed

+30
-6
lines changed

snuba/datasets/configuration/issues/entities/search_issues.yaml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -81,12 +81,6 @@ storages:
8181
from_col_name: "timestamp"
8282
to_table_name:
8383
to_col_name: "client_timestamp"
84-
- mapper: ColumnToColumn
85-
args:
86-
from_table_name:
87-
from_col_name: "message"
88-
to_table_name:
89-
to_col_name: "search_title"
9084
- mapper: ColumnToColumn
9185
args:
9286
from_table_name:

tests/test_search_issues_api.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ def base_insert_event(
2929
"primary_hash": str(uuid.uuid4()),
3030
"datetime": datetime.utcnow().isoformat() + "Z",
3131
"platform": "other",
32+
"message": "message",
3233
"data": {
3334
"received": now.timestamp(),
3435
},
@@ -94,6 +95,7 @@ def test_simple_search_query(self) -> None:
9495
primary_hash=str(uuid.uuid4().hex),
9596
datetime=datetime.utcnow().isoformat() + "Z",
9697
platform="other",
98+
message="message",
9799
data={"received": now.timestamp()},
98100
occurrence_data=dict(
99101
id=str(uuid.uuid4().hex),
@@ -298,3 +300,31 @@ def test_eventstream_query_profile_id_replay_id(self) -> None:
298300
"replay_id": replay_id.replace("-", ""),
299301
}
300302
]
303+
304+
def test_eventstream_query_message(self) -> None:
305+
now = datetime.utcnow()
306+
insert_row = base_insert_event(now)
307+
message = "my message"
308+
insert_row[2]["message"] = message
309+
310+
response = self.app.post(
311+
"/tests/search_issues/eventstream", data=json.dumps(insert_row)
312+
)
313+
assert response.status_code == 200
314+
315+
from_date = (now - timedelta(days=1)).isoformat()
316+
to_date = (now + timedelta(days=1)).isoformat()
317+
response = self.post_query(
318+
f"""MATCH (search_issues)
319+
SELECT project_id, message
320+
WHERE project_id = 1
321+
AND timestamp >= toDateTime('{from_date}')
322+
AND timestamp < toDateTime('{to_date}')
323+
"""
324+
)
325+
326+
data = json.loads(response.data)
327+
328+
assert response.status_code == 200, data
329+
assert data["stats"]["consistent"]
330+
assert data["data"] == [{"project_id": 1, "message": message}]

0 commit comments

Comments
 (0)