Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question: Why is MVCC Being Removed? Are There Unknown Bugs? #11538

Open
liupan664021 opened this issue Sep 18, 2024 · 2 comments
Open

Question: Why is MVCC Being Removed? Are There Unknown Bugs? #11538

liupan664021 opened this issue Sep 18, 2024 · 2 comments

Comments

@liupan664021
Copy link

Hi,

I’ve recently been looking to use the TRANSACTIONAL_SNAPSHOT atomicity mode in Ignite for achieving consistency across key reads, which is dependent on MVCC. I’ve noticed that since version 2.12, MVCC has been deprecated, and it was fully removed in version 2.16.

I have built parts of my project on version 2.15 and I am mainly interested in an embedded memory database scenario that involves using KV, SQL, and Index interfaces for production use. Are there any unforeseen bugs or risks that I should be aware of when using these features in a production environment? Could someone provide insights into the reasons behind the removal of MVCC and any associated risks?

Thanks.

@sk0x50
Copy link
Contributor

sk0x50 commented Sep 25, 2024

Hi @liupan664021 ,

The main issue with the current MVCC implementation is that it is based on using a single node (the coordinator node of the cluster) for transaction ordering and 2PC protocol for distributed commits. IMHO, this approach is slow and is not scalable by design.

Also, It seems that there are not enough contributors/maintainers willing to support, develop, and improve the feature.

You can find additional details here:

Thanks,
S.

@liupan664021
Copy link
Author

liupan664021 commented Oct 15, 2024

Thanks so much for the explanation. @sk0x50

The MVCC feature is quite important for non-KV APIs, including SQL, Index, etc. Is this on Ignite’s roadmap? For example, will version 3.x of Ignite have better MVCC features?

Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants