WriteConflict происходит во время commitTransaction - PullRequest
0 голосов
/ 24 мая 2019
2019-05-13T19:01:30.473+0700 I COMMAND  [conn10179] command admin.$cmd appName: "XXX" command: commitTransaction { commitTransaction: 1, lsid: { id: UUID("4d66cc5b-70ff-4f08-9eae-d281b87b59c4") }, txnNumber: 61576, autocommit: false, $db: "admin" } numYields:0 ok:0 errMsg:"WriteConflict" errName:WriteConflict errCode:112 reslen:153 locks:{ Global: {acquireCount: { r: 1, w: 1 } }, Database: { acquireCount: { w: 2 } }, Collection: { acquireCount: { w: 2 } } } protocol:op_msg 0ms

Во время нагрузочного теста я обнаружил ошибку «WriteConflict» при транзакции фиксации Псевдокод указан примерно ниже:

  • создать сеанс
  • начать транзакцию
  • вставить
  • данные POST через API отдыха
  • в случае успеха зафиксировать транзакцию, в противном случае прервать

Язык: голанг

Драйвер Mongo: go.mongodb.org/mongo-driver v1.0.0

Хотелось бы знать, что

  1. Почему WriteConflict происходит во время фиксации транзакции n. Я только вставляю один документ (новый) на транзакцию Документ IMOP не может быть заблокирован. Почему WriteConflict?

  2. Как это исправить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...