jenkins-bot has submitted this change and it was merged.
Change subject: Use pop when we don't need transactionality
......................................................................
Use pop when we don't need transactionality
Try to extinguish the popAtomic(function () {}) anti-pattern.
Change-Id: Ic09b8d83e34d0ccd470bd46801fd14a3c8b956cc
---
M Core/DataStores/QueueConsumer.php
M Tests/QueueConsumerTest.php
2 files changed, 8 insertions(+), 8 deletions(-)
Approvals:
Ejegg: Looks good to me, approved
jenkins-bot: Verified
diff --git a/Core/DataStores/QueueConsumer.php
b/Core/DataStores/QueueConsumer.php
index 95fcb9f..7dda159 100644
--- a/Core/DataStores/QueueConsumer.php
+++ b/Core/DataStores/QueueConsumer.php
@@ -100,6 +100,7 @@
public function dequeueMessages() {
$startTime = time();
$processed = 0;
+ // FIXME: Use a single code path
if ( $this->damagedQueue ) {
$realCallback = array( $this, 'wrappedCallback' );
} else {
diff --git a/Tests/QueueConsumerTest.php b/Tests/QueueConsumerTest.php
index a8a0988..b7fbe93 100644
--- a/Tests/QueueConsumerTest.php
+++ b/Tests/QueueConsumerTest.php
@@ -40,8 +40,7 @@
$count = $consumer->dequeueMessages();
$this->assertEquals( 1, $count, 'Should report 1 message
processed' );
$this->assertEquals( array( $payload ), $processed, 'Bad
message' );
- $this->assertNull(
- $this->queue->popAtomic( function( $unused ) {} ),
+ $this->assertNull( $this->queue->pop(),
'Should delete message when processing is successful'
);
}
@@ -69,7 +68,7 @@
$this->assertTrue( $ran, 'Callback was not called' );
$this->assertEquals(
$payload,
- $this->queue->popAtomic( function( $unused ) {} ),
+ $this->queue->pop(),
'Should not delete message when exception is thrown'
);
}
@@ -103,11 +102,11 @@
$this->assertTrue( $ran, 'Callback was not called' );
$this->assertEquals(
$payload,
- $damagedQueue->popAtomic( function( $unused ) {} ),
+ $damagedQueue->pop(),
'Should move message to damaged queue when exception is
thrown'
);
$this->assertNull(
- $this->queue->popAtomic( function( $unused ) {} ),
+ $this->queue->pop(),
'Should delete message on exception when damaged queue
exists'
);
}
@@ -137,7 +136,7 @@
}
$this->assertEquals(
$messages[3],
- $this->queue->popAtomic( function( $unused ) {} ),
+ $this->queue->pop(),
'Messed with too many messages'
);
}
@@ -177,13 +176,13 @@
$this->assertEquals( $messages[$i],
$processedMessages[$i], 'Message mutated' );
$this->assertEquals(
$messages[$i],
- $damagedQueue->popAtomic( function( $unused )
{} ),
+ $damagedQueue->pop(),
'Should move message to damaged queue when
exception is thrown'
);
}
$this->assertEquals(
$messages[3],
- $this->queue->popAtomic( function( $unused ) {} ),
+ $this->queue->pop(),
'message 4 should be at the head of the queue'
);
}
--
To view, visit https://gerrit.wikimedia.org/r/300053
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ic09b8d83e34d0ccd470bd46801fd14a3c8b956cc
Gerrit-PatchSet: 2
Gerrit-Project: wikimedia/fundraising/SmashPig
Gerrit-Branch: master
Gerrit-Owner: Awight <[email protected]>
Gerrit-Reviewer: Ejegg <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits