138 lines
2.5 KiB
JSON
138 lines
2.5 KiB
JSON
{
|
|
"runOn": [
|
|
{
|
|
"minServerVersion": "3.6",
|
|
"topology": [
|
|
"replicaset"
|
|
]
|
|
}
|
|
],
|
|
"data": [
|
|
{
|
|
"_id": 1,
|
|
"x": 11
|
|
},
|
|
{
|
|
"_id": 2,
|
|
"x": 22
|
|
}
|
|
],
|
|
"tests": [
|
|
{
|
|
"description": "FindOneAndDelete is committed on first attempt",
|
|
"failPoint": {
|
|
"configureFailPoint": "onPrimaryTransactionalWrite",
|
|
"mode": {
|
|
"times": 1
|
|
}
|
|
},
|
|
"operation": {
|
|
"name": "findOneAndDelete",
|
|
"arguments": {
|
|
"filter": {
|
|
"x": {
|
|
"$gte": 11
|
|
}
|
|
},
|
|
"sort": {
|
|
"x": 1
|
|
}
|
|
}
|
|
},
|
|
"outcome": {
|
|
"result": {
|
|
"_id": 1,
|
|
"x": 11
|
|
},
|
|
"collection": {
|
|
"data": [
|
|
{
|
|
"_id": 2,
|
|
"x": 22
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"description": "FindOneAndDelete is not committed on first attempt",
|
|
"failPoint": {
|
|
"configureFailPoint": "onPrimaryTransactionalWrite",
|
|
"mode": {
|
|
"times": 1
|
|
},
|
|
"data": {
|
|
"failBeforeCommitExceptionCode": 1
|
|
}
|
|
},
|
|
"operation": {
|
|
"name": "findOneAndDelete",
|
|
"arguments": {
|
|
"filter": {
|
|
"x": {
|
|
"$gte": 11
|
|
}
|
|
},
|
|
"sort": {
|
|
"x": 1
|
|
}
|
|
}
|
|
},
|
|
"outcome": {
|
|
"result": {
|
|
"_id": 1,
|
|
"x": 11
|
|
},
|
|
"collection": {
|
|
"data": [
|
|
{
|
|
"_id": 2,
|
|
"x": 22
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"description": "FindOneAndDelete is never committed",
|
|
"failPoint": {
|
|
"configureFailPoint": "onPrimaryTransactionalWrite",
|
|
"mode": {
|
|
"times": 2
|
|
},
|
|
"data": {
|
|
"failBeforeCommitExceptionCode": 1
|
|
}
|
|
},
|
|
"operation": {
|
|
"name": "findOneAndDelete",
|
|
"arguments": {
|
|
"filter": {
|
|
"x": {
|
|
"$gte": 11
|
|
}
|
|
},
|
|
"sort": {
|
|
"x": 1
|
|
}
|
|
}
|
|
},
|
|
"outcome": {
|
|
"error": true,
|
|
"collection": {
|
|
"data": [
|
|
{
|
|
"_id": 1,
|
|
"x": 11
|
|
},
|
|
{
|
|
"_id": 2,
|
|
"x": 22
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|