apache / apache/shenyu

[BUG] — `mock_request_record.selectByQuery`: fetches `body`/`header`/`query` large columns + no pagination + no indexes

Open
#6,808 1 comment 0 reactions 0 assignees View on GitHub
priority: medium type: performance
Dominant language
Java
Stars
8.8k
Forks
3.1k
Avg merge
7d 1h
Merged PRs (30d)
85

Description

- severity: Medium; files: `mappers/mock-request-record-sqlmap.xml:45-67`; service `MockRequestRecordServiceImpl.java:83-86` (no `@Pageable`)
- description: `Base_Column_List` includes `body` (TEXT), `header`/`query`/`url` (varchar 1024) for a list query; `mock_request_record` has only PK (`schema.sql:134-147`); no index on `api_id`/`host`/`url`.
- impact: Listing transfers the full request body for every row and scans the whole table per filter.
- suggested_fix: Add `@Pageable`; add index on `api_id`; drop `body` from the list column list.
- confidence: High

---
_Identified during the 2026-08-02 deep re-scan; full list in [`docs/scan2-2026-08-02/06-medium-tiers.md`](docs/scan2-2026-08-02/06-medium-tiers.md)._

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with mappers/mock-request-record-sqlmap.xml:45-67 and MockRequestRecordServiceImpl.java:83-86, then inspect schema.sql:134-147. Confirm how the list query selects large columns and handles filtering before assessing pagination and the api_id index. Done means list results use pagination, omit body from the list columns, and support the needed index without changing detail retrieval.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.