spring-projects / spring-data-examples

Spring Data Example Projects
Apache License 2.0
5.17k stars 3.39k forks source link

Move blocking random key generation to executor thread #666

Open Arooba-git opened 1 year ago

Arooba-git commented 1 year ago

Thank you for the effort for this handy project!

This is a minor fix pertaining to a blocking call in KeyCommandsTests class as detected by BlockHound:

eg-blocking

Of course the method is just used in the test cases but since this is the official examples repository, I think the fix could set a good example for how we should try to avoid blocking calls in reactive apps wherever possible, to keep the pipeline reactive end to end. :)

We re-ran the test cases and also evaluated the performance (in terms of latency) before and after the fix

Parking duration of main thread before fix

eg-latency-after

After

eg-latency-before
Arooba-git commented 9 months ago

bump