Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-6627

Unexpected WriteConflictException during insert benchmark with transactions

    • 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:

      1. 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.
      2. 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.

            Assignee:
            backlog-server-storage-engines [DO NOT USE] Backlog - Storage Engines Team
            Reporter:
            mark.callaghan@mongodb.com Mark Callaghan (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            14 Start watching this issue

              Created:
              Updated: