emqx / eip

EMQX Improvement Proposals
21 stars 19 forks source link

cluster call for the consistency of resources #39

Closed zhongwencool closed 3 years ago

qzhuyan commented 3 years ago

I think rpc and mnesia transaction are correlated, if rpc call/cast is failing due to network issue, mneisa transaction will be aborted as well.

zmstone commented 3 years ago

I think rpc and mnesia transaction are correlated, if rpc call/cast is failing due to network issue, mneisa transaction will be aborted as well.

The idea is to make MFA idempotent, Two reasons:

  1. the retry-nature of mnesia transaction functions
  2. the lack of rollback for the MFAs
zmstone commented 3 years ago

I think rpc and mnesia transaction are correlated, if rpc call/cast is failing due to network issue, mneisa transaction will be aborted as well.

The idea is to make MFA idempotent, Two reasons:

  1. the retry-nature of mnesia transaction functions
  2. the lack of rollback for the MFAs

that's why MFA can be, and should be applied before the transaction which commits the last-applied ID to database.