Avoiding and dealing with conflicting updates in Oak
Apache Jackrabbit Oak offers better horizontal scalability and concurrency than its predecessor, Apache Jackrabbit 2. The downside of which is increased chances of conflicts between concurrent updates. In this session I demonstrate how to deal with such conflicts by taking advantage of Oak's underlying consistency model. I will show how to build functionality like counting, voting, rating, negotiating, bidding, etc. common to collaborative applications. Such functionality traditionally requires some form of global consensus (e.g. locking, atomic commit protocols, ...). I will show how with Oak it is often possible to avoid conflicts all together by choosing the right content model. For cases where this is not possible I will discuss the mechanisms that Oak provides to deal with conflicts while they occur and after the fact.