[8.6] Fix Profile Print on Missing Value - [MOD-10560]#9047
Conversation
🛡️ Jit Security Scan Results✅ No security findings were detected in this PR
Security scan by Jit
|
| env.assertEqual(actual_res[0], [1, '2']) | ||
| env.assertEqual(actual_res[1][1][0][3], ['Type', 'MISSING', 'Field', 't', 'Number of reading operations', 2, 'Estimated number of matches', 1]) | ||
|
|
||
| actual_res = conn.execute_command('ft.profile', 'idx', 'search', 'query', '-ismissing(@t)', 'nocontent') |
There was a problem hiding this comment.
Missing DIALECT parameter in second test query
High Severity
The second query in testProfileMissingFieldQuery omits 'DIALECT', 2 when calling ft.profile with -ismissing(@t). The ismissing function is only recognized by the v2 parser (dialect 2+), and the default dialect is 1 (defined as DEFAULT_DIALECT_VERSION 1 in config.h). The first query on line 287 correctly passes 'DIALECT', 2, but the second does not. This means the query won't be parsed as a missing-field query, and the assertions on lines 292–294 expecting 'Type', 'MISSING' in the profile output will fail.
Reviewed by Cursor Bugbot for commit a77dc5e. Configure here.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## 8.6 #9047 +/- ##
==========================================
- Coverage 83.88% 83.84% -0.04%
==========================================
Files 367 367
Lines 55818 55825 +7
Branches 14322 14322
==========================================
- Hits 46821 46806 -15
- Misses 8835 8857 +22
Partials 162 162
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
There are 2 total unresolved issues (including 1 from previous review).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 9c338df. Configure here.
|
| @skip(cluster=True) | ||
| def testProfileMissingFieldQuery(env): | ||
| conn = getConnectionByEnv(env) | ||
| env.cmd(config_cmd(), 'SET', '_PRINT_PROFILE_CLOCK', 'false') |
There was a problem hiding this comment.
Didn't backport the true case





Describe the changes in the pull request
8.6variant of #9051Mark if applicable
Release Notes
Note
Low Risk
Low risk: changes only the
FT.PROFILEiterator metadata output and adds coverage for missing-field queries, without affecting query execution or data handling paths.Overview
Fixes
FT.PROFILEiterator printing to correctly label inverted-index iterators asWILDCARD(whenisWildcard) orMISSING(forismissing(@field)), including the missing field name in the profile output.Adds a regression test covering
ismissing(@t)and-ismissing(@t)to validate the new profile output structure.Reviewed by Cursor Bugbot for commit 9c338df. Bugbot is set up for automated code reviews on this repo. Configure here.