otp icon indicating copy to clipboard operation
otp copied to clipboard

Introduce receive optimisation to dets calls

Open ssmyczynski opened this issue 2 years ago • 2 comments

Current implementation of dets:req/2 function in dets module is not using receive optimisation.

Module dets is used as a backend for mnesia's disc_only_copies tables. All dirty operations, or symmetric transactions (sym_trans) are executed in context of a single mnesia_tm process which means that in case of using disc_only_copies tables we are actually vulnerable to non-optimised dets calls in case when mnesia_tm message queue is busy.

The proposed solution introduces receive optimisation to avoid that potential problem.

ssmyczynski avatar Jun 02 '22 17:06 ssmyczynski

CT Test Results

       2 files       85 suites   30m 36s :stopwatch: 1 670 tests 1 534 :heavy_check_mark: 136 :zzz: 0 :x: 1 932 runs  1 793 :heavy_check_mark: 139 :zzz: 0 :x:

Results for commit c1bf961a.

:recycle: This comment has been updated with latest results.

To speed up review, make sure that you have read Contributing to Erlang/OTP and that all checks pass.

See the TESTING and DEVELOPMENT HowTo guides for details about how to run test locally.

Artifacts

// Erlang/OTP Github Action Bot

github-actions[bot] avatar Jun 02 '22 17:06 github-actions[bot]

LGTM

mikpe avatar Jun 04 '22 08:06 mikpe

Thanks!

garazdawi avatar Oct 05 '22 08:10 garazdawi