-
Notifications
You must be signed in to change notification settings - Fork 0
ivan-shevtsov/tx-anomalies
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Very simple web application to demonstrate different anomalies in transaction management with different
isolation levels. <p>
MariaDB - supports:
- Dirty Read
- Non-Repeatable Read
How to Test:
After initialization the test db in docker will contain single row of product
id=1, price=2
Get All Products:
http://localhost:8080/products
Dirty Read Scenario:
* http://localhost:8080/anomalies/dirty-read/update?id=1&price=50&name=test
* http://localhost:8080/anomalies/dirty-read/get?id=1
Non-Repeatable Read Scenario:
* http://localhost:8080/anomalies/nonrepeatable-read/get?id=1
(response gets unblocked by second request)
* http://localhost:8080/anomalies/nonrepeatable-read/twiceprice?id=1
Phantom-read case:
1. http://localhost:8080/anomalies/phantom-read/get?price=3
2. http://localhost:8080/anomalies/phantom-read/twiceprice?id=2
Lost Update:
1. http://localhost:8080/anomalies/lost-update/save?id=1&price=5&name=Product_A
Starts Transaction T1, do some processing
2. http://localhost:8080/anomalies/lost-update/save?id=1&price=50&name=Productaaaaa
Starts Transaction T2, update product
3. T1 updates product with id=1 and overwrite value from T2
Dirty Write:
1. http://localhost:8080/anomalies/dirty-write/update?id=1&price=100&name=Product_A
2. http://localhost:8080/anomalies/dirty-write/twice
Write Skew:
1. http://localhost:8080/anomalies/write-skew/update?id=3
2. http://localhost:8080/anomalies/write-skew/update?id=2About
Demo of tx anomalies for lohika-java-club
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published