diff options
author | Mark Benvenuto <mark.benvenuto@mongodb.com> | 2018-10-26 11:36:37 -0400 |
---|---|---|
committer | Mark Benvenuto <mark.benvenuto@mongodb.com> | 2018-10-26 11:36:37 -0400 |
commit | eb2157a3d7c6b02d7d8f873afafd630f3d9aed4f (patch) | |
tree | d82e14ca27cd428979adcf66bffb02daf0d5f2de /src/mongo/db/free_mon/free_mon_message.h | |
parent | a15cf62de1d5de973160ec1a23609aaf6f0f500f (diff) | |
download | mongo-eb2157a3d7c6b02d7d8f873afafd630f3d9aed4f.tar.gz |
SERVER-37685 Ensure free monitoring queue preserves FIFO on messages with same deadline
Diffstat (limited to 'src/mongo/db/free_mon/free_mon_message.h')
-rw-r--r-- | src/mongo/db/free_mon/free_mon_message.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/mongo/db/free_mon/free_mon_message.h b/src/mongo/db/free_mon/free_mon_message.h index 197cea4d300..f5857c973a4 100644 --- a/src/mongo/db/free_mon/free_mon_message.h +++ b/src/mongo/db/free_mon/free_mon_message.h @@ -180,6 +180,20 @@ public: return _deadline; } + /** + * Get the unique message id for FIFO ordering messages with the same deadline. + */ + uint64_t getId() const { + return _id; + } + + /** + * Set the unique message id. + */ + void setId(uint64_t id) { + _id = id; + } + public: FreeMonMessage(FreeMonMessageType type, Date_t deadline) : _type(type), _deadline(deadline) {} @@ -189,6 +203,10 @@ private: // Deadline for when to process message Date_t _deadline; + + // Process-wide unique message id to ensure messages with the same deadlines are processed in + // FIFO order. + uint64_t _id{0}; }; |