-
Type: Bug
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: 4.4.0, 4.2.9
-
Component/s: None
-
8
I get intermittent WriteConflictException errors while running the insert benchmark with transactions enabled and 1 client. This is unexpected because there is only one client, the only unique index is on _id which has ObjectId values and I have not experienced any problem like this for MongoDB without transactions, or for MySQL/Postgres.
I missed this at first, or it didn't always occur, but I see it now:
"forced eviction - session returned rollback error while force evicting due to being oldest" : 1,
With some debugging printfs the error comes from code in __wt_page_in_func trying to forcibly evict too big pages
A reproduction, updated insert benchmark source code and a command line will be provided soon.
My requests are:
- Don't make this visible to the user. The error occurs when I run with j:False as that allows a higher insert rate. There is no error with j:True. I am not surprised by this. However, the inserts are done by one client session and the database is small (this occurs 5 minutes into a test). So I prefer that MongoDB keep up with the client.
- If this is visible to the user then be more truth in the error message. There is a larger discussion to be had about mapping all WT_ROLLBACK errors to WriteConflictException.
- related to
-
WT-8290 Adding a new API to the session to return the rollback reason
- Closed