[SERVER-39654] Storage statistics not logged for a slow transaction Created: 19/Feb/19 Updated: 29/Oct/23 Resolved: 21/Mar/19 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Storage |
| Affects Version/s: | None |
| Fix Version/s: | 4.0.9, 4.1.10 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Sulabh Mahajan | Assignee: | Sulabh Mahajan |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
||||||||||||
| Issue Links: |
|
||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||
| Operating System: | ALL | ||||||||||||
| Backport Requested: |
v4.0
|
||||||||||||
| Sprint: | Storage Engines 2019-03-11, Storage Engines 2019-03-25 | ||||||||||||
| Participants: | |||||||||||||
| Story Points: | 8 | ||||||||||||
| Description |
|
Slow operations extract the operation statistics from the storage engine and report them as part of logging and profiling. For a slow transaction, these storage statistics are meant to be cumulative over the operations performed in that transaction. At the moment, we do not get any storage information for the slow transaction. It looks like we are not collecting the storage stats at the correct place, we might be collecting them too late, past the point where other metrics for a transaction get accumulated. |
| Comments |
| Comment by Githook User [ 03/Apr/19 ] |
|
Author: {'email': 'sulabh.mahajan@mongodb.com', 'name': 'Sulabh Mahajan', 'username': 'sulabhM'}Message: (cherry picked from commit ba3894493a94ed3c18458f391ff181d57475f010)
(cherry picked from commit 86b6aca9fa1940e85bba87261d1494ef2c208a4a)
(cherry picked from commit 82161eec79fc74652dc07b1c83fe500dc4f95e79)
(cherry picked from commit 3b4c6a689a3fdaa923d427ae112ea599513ef8ce)
(cherry picked from commit 6a9a5855048df1f4796a4032276d01318c398691)
The find command will always have the storage stats because the (cherry picked from commit 6125b5fb078a316854f0299b96b7d16eacb944de)
(cherry picked from commit bacb6b67706a2c057fcd0f76a38f416b225aa69a)
(cherry picked from commit 371197e4bab715a83272a4472e118ee5c5cbbf7c)
(cherry picked from commit 23ca771f76f85638f23bca2a4a6ac196a81fdc21) |
| Comment by Githook User [ 21/Mar/19 ] |
|
Author: {'email': 'sulabh.mahajan@mongodb.com', 'name': 'Sulabh Mahajan', 'username': 'sulabhM'}Message: |
| Comment by Sulabh Mahajan [ 27/Feb/19 ] |
|
geert.bosch, |
| Comment by Geert Bosch [ 27/Feb/19 ] |
|
It seems to me that having storage engine stats on the level of individual operations in a transaction is going to be necessarily slow, as we'll have to make an extra expensive call into the storage engine for each operation, even if it is not slow. So, I suggest that we just give up on that idea, and just remember if a transaction had any slow operations. If so, then at transaction commit or abort log the storage engine stats for the transaction. |