[SERVER-45656] system.profile not written for slow bulk writes done in a transaction Created: 21/Jan/20  Updated: 30/Apr/20  Resolved: 30/Apr/20

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: Mark Callaghan (Inactive) Assignee: Arun Banala
Resolution: Cannot Reproduce Votes: 0
Labels: qexec-team
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Operating System: ALL
Sprint: Query 2020-03-23, Query 2020-04-06, Query 2020-04-20, Query 2020-05-04
Participants:

 Description   

I assume this is similar to SERVER-21772. This occurs for me when running the Linkbench benchmark with the 3.11 Java driver. I am unable to reproduce this via JS in Mongo shell.

The transaction has ~1000 documents in a bulk write operation. When I disable the use of transactions system.profile gets some inserts. When transactions are enabled it does not get any. The bulk writes are update with upsert=true and ordered=false. 

I have begun instrumenting code and when transactions are disabled then finishCurOp is called and system.profile gets inserts. But I don't see calls to finishCurOp for the bulk writes when done within a transaction.

The other odd thing is that CurOp::_dbprofile == 0 when transactions are used so shouldDBProfile returns false, which explains when system.profile doesn't get inserts. So I assume that a call to enter_inlock is missing, similar to SERVER-21772. Or this occurs because capped collections can't be inserted within a transaction. I am just guessing as I am new to the code.



 Comments   
Comment by Mark Callaghan (Inactive) [ 30/Apr/20 ]

I am unable to reproduce this today with 4.2.1 and 4.2.5. I think this was a bogus bug report.

Generated at Thu Feb 08 05:09:23 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.