-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Tag recognizer pagination #25537
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tag recognizer pagination #25537
Conversation
e2dca3b to
dce5dac
Compare
openmetadata-service/src/main/java/org/openmetadata/service/resources/tags/TagResource.java
Show resolved
Hide resolved
This is by design. Cursors are nothing but a base64-encoded json containing an id and a name of the next recognizer. By validating in Would you prefer a refactor to avoid duplication?
As mentioned before, this is on purpose. A refactor could be performed to do such thing |
Thank you for the clarification! I understand the design intent now - validating the cursor early in However, the CI test failures ( Regarding the refactor: Yes, I'd recommend consolidating the cursor validation logic to avoid the duplication and make the flow clearer. You could:
But first, it would be good to investigate why the test is failing - the pagination logic may need adjustment regardless of the validation approach. |
That test doesn't fail anymore |
Great to hear the test is passing now! I can confirm that both integration test jobs (mysql-elasticsearch and postgres-opensearch) are showing SUCCESS. Since the validation approach is intentional and the tests are passing, the code review findings about the cursor validation can be dismissed. The design makes sense for providing clearer error messages. Regarding the refactor suggestion: It's optional. If you feel the validation duplication adds clarity for error reporting (as you explained), you can keep it as is. A refactor would be beneficial if you want to reduce code duplication, but it's not necessary if the current approach serves the error messaging goal well. |
dce5dac to
25faf52
Compare
🔍 CI failure analysis for 25faf52: Nine CI jobs failed. playwright-ci-postgresql (2, 6) shows massive infrastructure failure with 207 failed tests - all toBeVisible() timing issues, indicating severe environment/infrastructure problem.IssueNine CI jobs failed, all due to infrastructure issues or test problems unrelated to the PR's tag pagination changes. Failures 1-8: Previous Issues (Still Applicable)
Failure 9: playwright-ci-postgresql (2, 6) (Job 61570693936) [NEW - CRITICAL]Test Results: 207 failed tests + 7 flaky tests Critical Severity:This is a massive infrastructure failure - the highest test failure count across all CI jobs. For comparison:
Error Pattern:All 207 failures show the same error: Repeated consistently across all failing tests - this indicates a systematic infrastructure or environment problem, not test-specific issues. Root Cause Analysis:Infrastructure Failure - UI Rendering/Browser Environment:
Analysis:The 207 failed tests represent approximately 73% of tests in this shard (assuming ~280 tests per shard based on 6 total shards). This is not flakiness - this is a complete environment failure where the test infrastructure for shard (2, 6) did not function correctly. Root Cause SummaryAll nine failures are infrastructure/test issues:
DetailsPR Changes Are Unrelated: This PR modifies only tag pagination Java backend:
The failures are in completely unrelated components. Zero overlap between PR changes (Tag pagination) and failing components. Code Review ✅ Approved 2 resolved / 2 findingsBoth previous issues have been addressed. The operationIds are now unique (listATagsRecognizersById and listATagsRecognizersByFQN), and the backward pagination now properly extracts and passes the cursor ID. Good implementation with comprehensive test coverage. ✅ 2 resolved✅ Quality: Duplicate OpenAPI operationId will cause spec conflicts
✅ Bug: Backward pagination cursor not passed correctly
Tip Comment OptionsAuto-apply is off → Gitar will not commit updates to this branch. Comment with these commands to change:
Was this helpful? React with 👍 / 👎 | Gitar |
* Add pagination for tag's recognizers * Add tests * Apply Gitar comments
Describe your changes:
This PR includes an endpoint that returns a tag's recognizers with pagination
Type of change:
Checklist:
Fixes <issue-number>: <short explanation>Summary by Gitar
GET /v1/tags/{id}/recognizersandGET /v1/tags/name/{fqn}/recognizersenable paginated retrieval of tag recognizersTagRepository.getRecognizersOfTag()implements bidirectional cursor navigation withbefore/afterparametersBadCursorExceptionvalidates and handles malformed pagination cursors returning HTTP 400This will update automatically on new commits.