Fix missing PlJii module entries in oceanbase.__all_virtual_memory_info on Android/macOS
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 2.9k
- Forks
- 342
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 53
Description
Environment
- Version: seekdb (OceanBase seekdb)
- Build Info:
Starting seekdb (OceanBase seekdb) source revision 1-210636544cac7e10193998a38d7ce8e36cd031ad.
seekdb (OceanBase seekdb)
REVISION: 1-210636544cac7e10193998a38d7ce8e36cd031ad
BUILD_BRANCH: master
BUILD_TIME: Mar 27 2026 02:11:59
BUILD_FLAGS: RelWithDebInfo
BUILD_INFO:
Copyright (c) 2011-present OceanBase Inc.
Description
When querying the oceanbase.__all_virtual_memory_info table for the PlJit and PlCodeGen modules, the results are empty on Android/macOS seekdb deployments. This behavior is inconsistent with the results from a Linux seekdb deployment, where these module entries are present.
Steps to Reproduce
- Deploy and start the Android seekdb instance using the provided script.
cd /Users/admin/jingtu/macbranch/oceanbase-lite/tools/deploy
source activate_obd.sh
sh deploy_android_seekdb.sh
export OCEANBASE_HOME=/Users/admin/jingtu/macbranch/oceanbase-lite
obd test mysqltest android_seekdb \
--mysqltest-bin=${OCEANBASE_HOME}/deps/3rd/u01/obclient/bin/mysqltest \
--obclient-bin=${OCEANBASE_HOME}/deps/3rd/u01/obclient/bin/obclient \
--init-only \
--init-sql-dir=${OCEANBASE_HOME}/tools/deploy \
--init-sql-files='init.sql,init_user.sql|root@sys|test'
obd test mysqltest android_seekdb \
--mysqltest-bin=${OCEANBASE_HOME}/deps/3rd/u01/obclient/bin/mysqltest \
--obclient-bin=${OCEANBASE_HOME}/deps/3rd/u01/obclient/bin/obclient \
--disable-reboot \
--test-set=pl.pl_bug_54806294_mysql
- Execute the following SQL query:
select * from oceanbase.__all_virtual_memory_info where mod_name in ('PlJit', 'PlCodeGen');
-
Observed Result (Android/macOS): The query returns an empty set.

-
Expected Result (ARM Linux): The query returns entries for the
PlJitandPlCodeGenmodules.

Impact
The missing module information in the virtual table may affect monitoring, debugging, or management tools that rely on consistent memory usage reporting across different platforms.
Additional Context
This issue was identified while running the mysqltest suite (pl.pl_bug_54806294_mysql). The system's internal memory accounting for PL/SQL JIT-related modules appears to be incomplete or incorrectly reported on non-Linux platforms (Android/macOS).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with tools/deploy/deploy_android_seekdb.sh and reproduce the query against oceanbase.__all_virtual_memory_info on Android or macOS, then compare it with ARM Linux. Use the mysqltest case pl.pl_bug_54806294_mysql as the initial test entry point and trace where the PlJit and PlCodeGen entries are reported. Done means both module rows are present consistently on the affected platforms and the test passes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, sql
- Domain
- databases, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100