oceanbase / oceanbase/seekdb

Prepared Statement (COM_STMT_EXECUTE) bypasses QPS limit in zero mode

Open
#314 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

dima type: bug
Dominant language
C++
Stars
2.9k
Forks
339
Avg merge
1d 19h
Merged PRs (30d)
52

Description

Environment

  • Version: seekdb (OceanBase seekdb 1.1.0.0)
  • Revision: 1-c4bcf8bc659c52205af70103f073bd69781dcf92
  • Build Branch: master
  • Build Time: Mar 17 2026 14:49:04
  • Build Flags: RelWithDebInfo
  • Build Info: obbuild-per...

Description

In zero mode, the QPS (Queries Per Second) limit configured via zero_max_qps_per_user is not enforced for queries executed via Prepared Statements using the COM_STMT_EXECUTE command. This allows clients to bypass the intended rate limiting mechanism.

Impact

This issue undermines the effectiveness of the QPS throttling feature in zero mode, potentially leading to resource exhaustion or performance degradation if a client sends a high volume of requests via Prepared Statements.

Creator: wyfanxiao

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the COM_STMT_EXECUTE command path and trace how zero_max_qps_per_user is applied to ordinary queries versus prepared statements. Confirm completion by enforcing the configured QPS limit for prepared-statement execution in zero mode and covering the bypass with a regression test.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
backend, database
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.