oceanbase / oceanbase/seekdb

mysqltest: subplanfilter_mysql_sqlqa.spft_view_mysql reports incorrect count after insert with parallel hint

Open
#524 1 comment 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

  • Platform: Android (arm64)
  • Emulator: Android Studio emulator (device: emulator-5554)
  • Binary: ./data/local/tmp/seekdb
  • Startup Command: ./data/local/tmp/seekdb --nodaemon --base-dir /data/local/tmp/seekdb_data --port 5881
  • Port: 5881

Description

During the execution of the mysqltest case subplanfilter_mysql_sqlqa.spft_view_mysql, an incorrect row count is observed after performing an INSERT operation with a PARALLEL(6) hint. The test involves inserting into a view v_t1.

  • Expected Result: COUNT(*) should return 1039.
  • Actual Result: COUNT(*) returns 1040.

Steps to Reproduce

  1. Set up the test environment on the Android emulator as specified.
  2. Execute the relevant section of the subplanfilter_mysql_sqlqa.spft_view_mysql test case.
  3. Perform the INSERT INTO v_t1 ... PARALLEL(6) operation.
  4. Execute a SELECT COUNT(*) query on the affected table/view.
  5. Observe that the returned count is 1040 instead of the expected 1039.

Impact

This is a functional correctness issue. The discrepancy in row count indicates a potential problem with the execution of the parallel insert operation or the subsequent count aggregation, which could affect data integrity in applications relying on accurate row counts.

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 with the mysqltest case subplanfilter_mysql_sqlqa.spft_view_mysql and reproduce the INSERT INTO v_t1 operation with the PARALLEL(6) hint in the provided Android environment. Trace the parallel insert and subsequent COUNT(*) path to determine why the result is 1040; the fix is complete when the test returns the expected count of 1039.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, mysql
Domain
databases, testing
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.