21
21
#include < mqbblp_queuehandlecatalog.h>
22
22
#include < mqbblp_rootqueueengine.h>
23
23
#include < mqbblp_storagemanager.h>
24
+ #include < mqbcfg_brokerconfig.h>
24
25
#include < mqbcmd_messages.h>
25
26
#include < mqbi_domain.h>
26
27
#include < mqbi_queueengine.h>
@@ -471,7 +472,8 @@ void LocalQueue::postMessage(const bmqp::PutHeader& putHeader,
471
472
static_cast <unsigned int >(appData->length ()),
472
473
translation,
473
474
putHeader.compressionAlgorithmType (),
474
- !d_haveStrongConsistency,
475
+ false ,
476
+ d_haveStrongConsistency,
475
477
doAck ? source : 0 ,
476
478
putHeader.crc32c (),
477
479
timePoint); // Arrival Timepoint
@@ -488,28 +490,17 @@ void LocalQueue::postMessage(const bmqp::PutHeader& putHeader,
488
490
489
491
// Send acknowledgement if post failed or if ack was requested (both could
490
492
// be true as well).
491
- if (res != mqbi::StorageResult::e_SUCCESS || haveReceipt) {
492
- // Calculate time delta between PUT and ACK
493
- const bsls::Types::Int64 timeDelta =
494
- bmqsys::Time::highResolutionTimer () - timePoint;
495
- d_state_p->stats ()
496
- ->onEvent <mqbstat::QueueStatsDomain::EventType::e_ACK_TIME>(
497
- timeDelta);
498
- d_state_p->queue ()->domain ()->cluster ()->stats ().onPartitionEvent (
499
- mqbstat::ClusterStats::PartitionEventType::e_PARTITION_REPLICATION,
500
- d_state_p->partitionId (),
501
- timeDelta);
502
- if (res != mqbi::StorageResult::e_SUCCESS || doAck) {
503
- bmqp::AckMessage ackMessage;
504
- ackMessage
505
- .setStatus (bmqp::ProtocolUtil::ackResultToCode (
506
- mqbi::StorageResult::toAckResult (res)))
507
- .setMessageGUID (putHeader.messageGUID ());
508
- // CorrelationId & QueueId are left unset as those fields will
509
- // be filled downstream.
510
-
511
- source->onAckMessage (ackMessage);
512
- }
493
+ if (res != mqbi::StorageResult::e_SUCCESS || haveReceipt ||
494
+ !d_haveStrongConsistency) {
495
+ bmqp::AckMessage ackMessage;
496
+ ackMessage
497
+ .setStatus (bmqp::ProtocolUtil::ackResultToCode (
498
+ mqbi::StorageResult::toAckResult (res)))
499
+ .setMessageGUID (putHeader.messageGUID ());
500
+ // CorrelationId & QueueId are left unset as those fields will
501
+ // be filled downstream.
502
+
503
+ source->onAckMessage (ackMessage);
513
504
}
514
505
515
506
if (BSLS_PERFORMANCEHINT_PREDICT_LIKELY (res ==
@@ -555,21 +546,9 @@ void LocalQueue::onPushMessage(
555
546
" onPushMessage should not be called on LocalQueue" );
556
547
}
557
548
558
- void LocalQueue::onReceipt (const bmqt::MessageGUID& msgGUID,
559
- mqbi::QueueHandle* qH,
560
- const bsls::Types::Int64& arrivalTimepoint)
549
+ void LocalQueue::onReceipt (const bmqt::MessageGUID& msgGUID,
550
+ mqbi::QueueHandle* qH)
561
551
{
562
- // Calculate time delta between PUT and ACK
563
- const bsls::Types::Int64 timeDelta = bmqsys::Time::highResolutionTimer () -
564
- arrivalTimepoint;
565
-
566
- d_state_p->stats ()
567
- ->onEvent <mqbstat::QueueStatsDomain::EventType::e_ACK_TIME>(timeDelta);
568
- d_state_p->queue ()->domain ()->cluster ()->stats ().onPartitionEvent (
569
- mqbstat::ClusterStats::PartitionEventType::e_PARTITION_REPLICATION,
570
- d_state_p->partitionId (),
571
- timeDelta);
572
-
573
552
if (d_state_p->handleCatalog ().hasHandle (qH)) {
574
553
// Send acknowledgement
575
554
bmqp::AckMessage ackMessage;
0 commit comments