Commit Graph

14 Commits

Author SHA1 Message Date
Militsa Sotirova d85e519566 SERVER-106620 Remove remaining ABT references as well as unused code from cost model scripts (#42075)
GitOrigin-RevId: 664d35e87b4949cfec3983e96d0b6c6d719a7484
2025-10-07 17:52:55 +00:00
Andi Wang 83c7c807e4 SERVER-104999 port motor to pymongo async (#36697)
GitOrigin-RevId: 4f0df8ed64d03912ef2ef44ecced31b6e40b0c38
2025-05-30 13:07:39 +00:00
Juan Gu 855dfadef0 SERVER-94077 Use isort in Ruff configs (#27865)
GitOrigin-RevId: e793d662774ccd3ab6c3f356c2287cf1f7ff9805
2024-10-10 19:33:49 +00:00
Juan Gu 2513cc511b SERVER-94076 Remove unused imports via Ruff rule (#27337)
GitOrigin-RevId: 8923cc14f276be93355d763cb88c04bdb4dd9000
2024-10-04 01:43:13 +00:00
Steve McClure b4b23946cd SERVER-90570: Enable formatting checks for buildscripts directory, excluding idl (#22254)
GitOrigin-RevId: 9d997a9f44cd43a8dec7c2a17fa2dbcd875e92f6
2024-05-16 22:07:36 +00:00
Timour Katchaounov df67dd6db8 SERVER-73030 Generate random array data for CE testing
* Ensure all generated fields are non-empty.
* Reduce/modify some data distributions.
2023-02-22 11:19:53 +00:00
Timour Katchaounov 7979eacf75 SERVER-73979 Partition large random data files into chunks
Save randomly generated data into files split into chunks
with a limited number of documents per chunk. This is done
to avoid the 2GB limit on JS files imposed by Node.js.
2023-02-17 08:19:00 +00:00
Timour Katchaounov 5af5e4a1e8 SERVER-73031 Generate random data with mixed data types
* Added generation of random data with mixed data types
* Generation of random dates and doubles
* Some refactoring of the python generation framework wrt types
2023-02-15 16:32:12 +00:00
Timour Katchaounov 8f00ba224e SERVER-73030 Generate random array data for CE testing
* Add generation of random array data of integers and strings.
* Minor change to string generation to limit printable chars.
2023-01-27 13:20:27 +00:00
Timour Katchaounov 186ad335bf SERVER-72662 Generate random string data for CE
* Added generation of random string data.
* Remove ce_generate_data_settings.py - no longer needed and used.
2023-01-20 09:44:21 +00:00
Timour Katchaounov d692121e12 SERVER-72663 Visualize distribution of generated data
* Visualize generated data via histograms stored as png files in stests/query_golden/libs/data.
* Added a couple of more mixed distributions.
2023-01-17 13:48:13 +00:00
Timour Katchaounov 550e070c93 SERVER-72236 Generate random integer data for CE
Address final review comments.
2023-01-12 10:36:13 +00:00
Timour Katchaounov 3ade0b9fe3 SERVER-72236 Generate random integer data for CE
Generate random data with integers. The approach is as follows:
- There is one collection for each different cardinality. All collections contain the same fields.
- Each field contains the data generated from a certain data distribution. The data could be anything - same type, mixed types, same mathematical distribution (e.g. normal), or a mixed distribution.
- The committed configuration file, and the corresponding data file are reduced to only two small collections. For actual experiments one needs to add more data sizes, and re-generate the data locally. This is done so that Evergreen tests can run fast, and to reduce the size of the git repository.
- All data is saved in a single JavaScript file: jstests/query_golden/libs/data/ce_accuracy_test.data, with a corresponding schema file jstests/query_golden/libs/data/ce_accuracy_test.schema.
- The data file is a JavaScript file that can be loaded directly inside a JS test. When loading this file, it creates a global variable dataSet. The reason is that this is the only way to load an external JSON file that doesn't need to install external tools in Evergreen.
2023-01-10 12:51:54 +00:00
Timour Katchaounov 38c5aab661 SERVER-72036 Implement data generation and loading into JS CE accuracy tests
* Extend the data generation Python framework for cost calibration to support data generation for CE testing as follows:
- the entry point is ce_generate_data.py,
- the configuration of the generated data is in ce_generate_data_settings.py,
- all collection data is exported into a single JSON file stored in 'jstests/query_golden/libs/data', and a schema file stored in the same directory
* Implement a JS data loader function that also creates all indexes specified in the schema file.
* Add a small JS test that shows how to load the generated JSON files into collections.
2022-12-17 10:06:36 +00:00