Я оцениваю несколько баз данных NoSQL, включая OrientDB. Я новичок OrientDB, пытаясь написать многопоточный тест, который подчеркивает транзакции OrientDB.Ошибка транзакции OrientDb
Вот код (имхо слишком долго, чтобы быть здесь включено): https://github.com/PeterKnego/nosql-benchmark/blob/master/orientdb/src/main/java/net/nosql_bench/OrientDbSimpleTransact.java
Это простой тест автономного, который использует ряд параллельных потоков, которые считывают сущность, увеличивает значение number
поля и их сохранить сущность, все внутри транзакции.
Это создает много разногласий на одном объекте - вот и все. Это своего рода работа, чаще всего выявляет конфликт и должным образом откатывает транзакцию.
Я тестирую это на локально установленном OrientDB 2.0-rc2, клиент подключается к нему через протокол remote
.
Любые идеи, почему иногда происходят столкновения транзакций, а иногда они проходят?
Вашего ответа здесь [OrientDB многоуровневого управление версиями параллелизма] (https://github.com/orientechnologies/orientdb/wiki/Java-Multi-Threading#multi-version- контроль параллелизма) – zella
К сожалению, это не так. В коде используются транзакции, описанные в документах. Проблема в том, что иногда это работает, а иногда и нет. –