Commit f87ae6b
Add Azure Linux support to MongoDB/YCSB workload (declarative SupportedLinuxDistributions filtering) (#784)
* Add Azure Linux support to the MongoDB/YCSB workload
Extends PERF-MONGODB-YCSB.json to run on Azure Linux in addition to Ubuntu,
and introduces a general-purpose mechanism for scoping any profile component
to specific Linux distributions.
SupportedLinuxDistributions component parameter
Components may now declare "SupportedLinuxDistributions": "AzureLinux,Ubuntu".
IsSupported() evaluates it after the existing SupportedPlatforms check, and a
component that declares it never runs on non-Linux systems.
Profile
The MongoDB installation steps are split into an apt path scoped to
Debian/Ubuntu and a dnf path scoped to AzureLinux. lshw is added to the
package prerequisites; VirtualClient uses it for disk discovery and it is not
present by default on Azure Linux. gnupg is corrected to gnupg2 for the
dnf/yum package names.
MongoDBServerExecutor
The mongod service account is resolved at runtime rather than hardcoded to
mongodb. RPM packages create mongod while Debian packages create mongodb, so
the data directory was left owned by root on Azure Linux and mongod exited
with status 100.
The MongoDB port is opened via IFirewallManager during initialization. Azure
Linux applies a default-deny policy to inbound traffic, so the client could
not reach the server and runs completed with zero recorded operations.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Fix duplicate key insert failures in YCSB run-phase insert scenarios
Read_Latest (workloadd) and Short_Range_Scan (workloade) both perform 5%
run-phase inserts. YCSB seeds the insert key sequence for both scenarios at
recordcount, so the scenario that runs second collides with keys already
written by the first and every insert fails with:
E11000 duplicate key error collection: ycsb.usertable index: _id_
Measured on a 2500000 record run, Short_Range_Scan reported
INSERT-Operations=0 with INSERT-FAILED-Operations=3445, matching the 3445
duplicate key errors in the logs exactly.
Setting mongodb.upsert=true makes colliding inserts update the existing
document instead of failing. This is the documented behaviour of the YCSB
MongoDB binding for partially loaded data sets and requires no change to
RecordCount, operation mix, metric names or scenario names.
This issue is not platform specific and reproduces on both Ubuntu and
Azure Linux.
Verified on Azure Linux 3 and Ubuntu 24.04 (2 VM client/server, exit code 0,
all 7 scenarios): Short_Range_Scan now reports non-zero INSERT-Operations
with zero failed operations and no E11000 errors.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Document Azure Linux support for the MongoDB YCSB profile
The profile metadata declares SupportedOperatingSystems as 'AzureLinux,Ubuntu',
but the workload documentation still listed Ubuntu only. This aligns the
documentation with the profile.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Fix line endings on the MongoDB docs update
The previous commit was uploaded from a CRLF working copy, which rewrote
every line. This restores LF endings so the change is the intended single line.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>1 parent af6d6cf commit f87ae6b
6 files changed
Lines changed: 325 additions & 9 deletions
File tree
- src/VirtualClient
- VirtualClient.Actions.UnitTests/MongoDB
- VirtualClient.Actions/MongoDB
- VirtualClient.Contracts.UnitTests
- VirtualClient.Contracts
- VirtualClient.Main/profiles
- website/docs/workloads/mongodb
Lines changed: 71 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
342 | 342 | | |
343 | 343 | | |
344 | 344 | | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
345 | 416 | | |
346 | 417 | | |
347 | 418 | | |
| |||
Lines changed: 40 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
27 | 37 | | |
28 | 38 | | |
29 | 39 | | |
| |||
68 | 78 | | |
69 | 79 | | |
70 | 80 | | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
71 | 84 | | |
72 | 85 | | |
73 | 86 | | |
| |||
122 | 135 | | |
123 | 136 | | |
124 | 137 | | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
125 | 157 | | |
126 | 158 | | |
127 | 159 | | |
| |||
266 | 298 | | |
267 | 299 | | |
268 | 300 | | |
269 | | - | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
270 | 308 | | |
271 | 309 | | |
272 | | - | |
| 310 | + | |
273 | 311 | | |
274 | 312 | | |
275 | 313 | | |
| |||
Lines changed: 120 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
724 | 724 | | |
725 | 725 | | |
726 | 726 | | |
| 727 | + | |
| 728 | + | |
| 729 | + | |
| 730 | + | |
| 731 | + | |
| 732 | + | |
| 733 | + | |
| 734 | + | |
| 735 | + | |
| 736 | + | |
| 737 | + | |
| 738 | + | |
| 739 | + | |
| 740 | + | |
| 741 | + | |
| 742 | + | |
| 743 | + | |
| 744 | + | |
| 745 | + | |
| 746 | + | |
| 747 | + | |
| 748 | + | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
| 759 | + | |
| 760 | + | |
| 761 | + | |
| 762 | + | |
| 763 | + | |
| 764 | + | |
| 765 | + | |
| 766 | + | |
| 767 | + | |
| 768 | + | |
| 769 | + | |
| 770 | + | |
| 771 | + | |
| 772 | + | |
| 773 | + | |
| 774 | + | |
| 775 | + | |
| 776 | + | |
| 777 | + | |
| 778 | + | |
| 779 | + | |
| 780 | + | |
| 781 | + | |
| 782 | + | |
| 783 | + | |
| 784 | + | |
| 785 | + | |
| 786 | + | |
| 787 | + | |
| 788 | + | |
| 789 | + | |
| 790 | + | |
| 791 | + | |
| 792 | + | |
| 793 | + | |
| 794 | + | |
| 795 | + | |
| 796 | + | |
| 797 | + | |
| 798 | + | |
| 799 | + | |
| 800 | + | |
| 801 | + | |
| 802 | + | |
| 803 | + | |
| 804 | + | |
| 805 | + | |
| 806 | + | |
| 807 | + | |
| 808 | + | |
| 809 | + | |
| 810 | + | |
| 811 | + | |
| 812 | + | |
| 813 | + | |
| 814 | + | |
| 815 | + | |
| 816 | + | |
| 817 | + | |
| 818 | + | |
| 819 | + | |
| 820 | + | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
| 829 | + | |
| 830 | + | |
| 831 | + | |
| 832 | + | |
| 833 | + | |
| 834 | + | |
| 835 | + | |
| 836 | + | |
| 837 | + | |
| 838 | + | |
| 839 | + | |
| 840 | + | |
| 841 | + | |
727 | 842 | | |
728 | 843 | | |
729 | 844 | | |
| |||
743 | 858 | | |
744 | 859 | | |
745 | 860 | | |
| 861 | + | |
| 862 | + | |
| 863 | + | |
| 864 | + | |
| 865 | + | |
746 | 866 | | |
747 | 867 | | |
748 | 868 | | |
| |||
Lines changed: 33 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
633 | 633 | | |
634 | 634 | | |
635 | 635 | | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
636 | 649 | | |
637 | 650 | | |
638 | 651 | | |
| |||
943 | 956 | | |
944 | 957 | | |
945 | 958 | | |
| 959 | + | |
| 960 | + | |
| 961 | + | |
| 962 | + | |
946 | 963 | | |
947 | 964 | | |
948 | 965 | | |
| |||
1018 | 1035 | | |
1019 | 1036 | | |
1020 | 1037 | | |
| 1038 | + | |
| 1039 | + | |
| 1040 | + | |
| 1041 | + | |
| 1042 | + | |
| 1043 | + | |
| 1044 | + | |
| 1045 | + | |
| 1046 | + | |
| 1047 | + | |
| 1048 | + | |
| 1049 | + | |
| 1050 | + | |
| 1051 | + | |
| 1052 | + | |
| 1053 | + | |
1021 | 1054 | | |
1022 | 1055 | | |
0 commit comments