Note: Please use Issues only for bug reports. For questions, discussions, feature requests, etc. post to dev group: https://groups.google.com/forum/#!forum/rocksdb or https://www.facebook.com/groups/rocksdb.dev
Expected behavior
The openDB method is expected to have consistent timings across versions for all platforms.
Actual behavior
When testing performance between 6.27.3 and 6.29.4.1 the performance has been observed to consistently have a ~6X increase in operation time when running on a Mac.
This behavior, from testing, is isolated only to Mac computers. Windows and Linux hosts do not observe this increase in operation time.
Steps to reproduce the behavior
This was reproduced using Kafka Streams and analyzing the time simple tests require to compute and operate against rocksDB.
This was initially identified due to the rocksDB version being upgraded from version 3.1.2 and 3.3.1 of Kafka Streams, the reproduction is based on changing these version and the tested output references these versions.
By creating a simple KStreams operation that produces random data, or performs any stateful operation the rocksDB times are seen to increase dramatically when using the newer rocksDB version due to the openDB method.
For example, here are some KStream applications for testing, the only change needed between tests is altering the version used from Maven to recreate the behavior. https://docs.confluent.io/platform/current/streams/code-examples.html
In testing performed, the increase is a few seconds to 20+. This was reproduced on several Mac, Linux, and Windows machines. Here are some of the example output times recorded on the simple KStreams app we were using as a baseline.
Kafka | OS | Arch | Java | Duration (s)
3.1.2 | Mac OS X 10.16 | x86_64 | 1.8.0_311 | 3
3.3.1 | Mac OS X 10.16 | x86_64 | 1.8.0_311 | 22
3.1.2 | Mac OS X 12.6 | x86_64 | 11.0.16.1 | 4
3.3.1 | Mac OS X 12.6 | x86_64 | 11.0.16.1 | 27
3.1.2 | Windows 10 10.0 | amd64 | 16.0.2 | 5
3.3.1 | Windows 10 10.0 | amd64 | 16.0.2 | 5
3.1.2 | Linux 5.10.102.1-microsoft-standard-WSL2 | amd64 | 1.8.0342 | 7
3.3.1 | Linux 5.10.102.1-microsoft-standard-WSL2 | amd64 | 1.8.0342 | 8
3.3.1 | Mac OS X 10.16 | x86_64 | 1.8.0_231 | 21
3.3.1 | Mac OS X 10.16 | x86_64 | 1.8.0_231 | 22
3.3.1 | Mac OS X 10.16 | x86_64 | 1.8.0_231 | 22
3.3.1 | Mac OS X 10.16 | x86_64 | 1.8.0_231 | 21
3.3.1 | Mac OS X 10.16 | x86_64 | 1.8.0_231 | 21
3.1.2 | Mac OS X 10.16 | x86_64 | 1.8.0_231 | 1
3.1.2 | Mac OS X 10.16 | x86_64 | 1.8.0_231 | 14
3.1.2 | Mac OS X 10.16 | x86_64 | 1.8.0_231 | 1
3.1.2 | Mac OS X 10.16 | x86_64 | 1.8.0_231 | 2
Expected behavior
The openDB method is expected to have consistent timings across versions for all platforms.
Actual behavior
When testing performance between 6.27.3 and 6.29.4.1 the performance has been observed to consistently have a ~6X increase in operation time when running on a Mac.
This behavior, from testing, is isolated only to Mac computers. Windows and Linux hosts do not observe this increase in operation time.
Steps to reproduce the behavior
This was reproduced using Kafka Streams and analyzing the time simple tests require to compute and operate against rocksDB.
This was initially identified due to the rocksDB version being upgraded from version 3.1.2 and 3.3.1 of Kafka Streams, the reproduction is based on changing these version and the tested output references these versions.
By creating a simple KStreams operation that produces random data, or performs any stateful operation the rocksDB times are seen to increase dramatically when using the newer rocksDB version due to the openDB method.
For example, here are some KStream applications for testing, the only change needed between tests is altering the version used from Maven to recreate the behavior. https://docs.confluent.io/platform/current/streams/code-examples.html
In testing performed, the increase is a few seconds to 20+. This was reproduced on several Mac, Linux, and Windows machines. Here are some of the example output times recorded on the simple KStreams app we were using as a baseline.