-
Notifications
You must be signed in to change notification settings - Fork 122
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
Add support for Oceanbase in MySQL TPROC-C #710
Comments
At the moment we don't have support for Oceanbase with MySQL TPROC-C, However the good news is that Pull Request #670 adds support for Oceanbase for MySQL TPROC-H and as this adds support for querying Oceanbase queries (as opposed to transactions) for the transaction counter and this will be available in v4.11. To add support for Oceanbase TPROC-C we could not just change the statement as that would then break it for regular MySQL. Therefore, it needs something similar to the TPROC-H support i.e. an Oceanbase compatible option/checkbox and the additional connection options added if this is selected such as When this is selected, it would then use the statement you show or something similar, however, does it also need other options such as the tenant name adding as the TPROC-H workload does? It would also need the statement changing in the driver script for when it reports the final TPM value. From your screenshots it looks as if the schema built and the workload ran OK, but it would also need to clarify options such as whether the stored procedures run OK or whether the client SQL option is necessary and stored procedures get greyed out. So, the core team don't have access to Oceanbase and would therefore not add this feature. (however as with #670 we can check if it breaks existing functionality) Nevertheless, #670 provides an excellent template for exactly what you want to do, where #670 adds support for TPROC-H and you want to do this for TPROC-C. Therefore, the best approach is for you to develop this feature and make a pull request. Perhaps also @yaqi-zhao and @xtangxtang who did #670 may be willing to assist you to add Oceanbase support for TPROC-C also and make a pull request to do so. |
And if you add the change by making the PR, you can find that the transaction counter is improved in the current version: and if you run the web service to query the stored job data it would also then add the transaction count to the job data as shown here (Click on Jobs in the tree view, start web service and browse) |
What would be useful would be to run the Schema Check introduced at v4.10. you can see the GUI "Check" option in my screenshot above or you can run the CLI command "schemacheck" - If this runs OK and you can run with stored procedures then that would verify that the build ran OK. Then it would be a case of adding the Oceanbase compatible checkbox, the additional connection options such as port and tenant name and then the transaction counter query in both the transaction counter and the driver scripts (in multiple places). |
A blog post on how to verify the schema is here https://www.hammerdb.com/blog/uncategorized/hammerdb-v4-10-new-features-schema-and-consistency-checks/ |
about temporary table, It was supported in the previous Oceanbase 3.x version, but in the new Oceanbase 4.x version it has been restructured, and the support will be available around September. |
yes that looks successful, so it looks like support for TPROC-C for oceanbase is entirely possible and the performance looks good.
|
Yes that is fixed here a56b984 that will go into the 4.11 release that is still undergoing testing before release. |
For good performance ,can use SQL statement in OceanBase : ALTER TABLE customer PARTITION BY KEY(c_w_id) PARTITIONS 12; call dbms_stats.gather_schema_stats('tpcc',degree=>96); |
There is already a partitioning option for MySQL, however with an oceanbase checkbox you can add any specific partitioning for Oceanbase there. |
ALTER TABLE item DUPLICATE_SCOPE= 'cluster'; |
Alicoud Node specifications : 14cpu70g |
Lets leave this issue open as "help required" as someone with Oceanbase access may wish to add support as it looks straightforward, for example @yaqi-zhao and @xtangxtang can advise if there is interest in doing this? As as a summary, the key enhancement is:
When set up correctly
Once the configuration is done then the additional task are:
|
Changed title of Issue to be clear for where help is wanted |
@KingKongLittle |
Describe the bug
Transaction Counter For Oceanbase4.2.3.0 ( for mysql TPROC-C ) cannot be displayed
To Reproduce
Expected behavior
When I Test Oceanbase4.2.3.0 use Mysql TPROC-C options,The Transaction Counter can't displayed,
It show the proc read_more is return no value.
After I replace :
set sqc "show global status where Variable_name = 'Com_commit' or Variable_name = 'Com_rollback'"
with
set sqc "select REPLACE( REPLACE(name,'trans commit count','Com_commit'),'trans rollback count','Com_rollback') Variable_name,sum(value) from oceanbase.gv$sysstat where name in ('trans rollback count','trans commit count') group by name "
then Transaction Counter is OK.
Screenshots
HammerDB Version (please complete the following information):
Operating System (please complete the following information):
Database Server (please complete the following information):
Database Client (please complete the following information):
Additional context
The text was updated successfully, but these errors were encountered: