@@ -158,7 +158,7 @@ class ReceiverSuite extends TestSuiteBase with Timeouts with Serializable {
158158 test(" block generator throttling" ) {
159159 val blockGeneratorListener = new FakeBlockGeneratorListener
160160 val blockIntervalMs = 100
161- val maxRate = 100
161+ val maxRate = 1001
162162 val conf = new SparkConf ().set(" spark.streaming.blockInterval" , s " ${blockIntervalMs}ms " ).
163163 set(" spark.streaming.receiver.maxRate" , maxRate.toString)
164164 val blockGenerator = new BlockGenerator (blockGeneratorListener, 1 , conf)
@@ -176,7 +176,7 @@ class ReceiverSuite extends TestSuiteBase with Timeouts with Serializable {
176176 blockGenerator.addData(count)
177177 generatedData += count
178178 count += 1
179- Thread .sleep(1 )
179+ Thread .sleep(0 )
180180 }
181181 blockGenerator.stop()
182182
@@ -186,16 +186,17 @@ class ReceiverSuite extends TestSuiteBase with Timeouts with Serializable {
186186 assert(recordedData.toSet === generatedData.toSet, " Received data not same" )
187187
188188 // recordedData size should be close to the expected rate
189- val minExpectedMessages = expectedMessages - 3
190- val maxExpectedMessages = expectedMessages + 1
189+ // use an error margin proportional to the value, so that rate changes don't cause a brittle test
190+ val minExpectedMessages = expectedMessages - 0.3 * expectedMessages
191+ val maxExpectedMessages = expectedMessages + 0.1 * expectedMessages
191192 val numMessages = recordedData.size
192193 assert(
193194 numMessages >= minExpectedMessages && numMessages <= maxExpectedMessages,
194195 s " #records received = $numMessages, not between $minExpectedMessages and $maxExpectedMessages"
195196 )
196197
197- val minExpectedMessagesPerBlock = expectedMessagesPerBlock - 3
198- val maxExpectedMessagesPerBlock = expectedMessagesPerBlock + 1
198+ val minExpectedMessagesPerBlock = expectedMessagesPerBlock - 0.3 * expectedMessagesPerBlock
199+ val maxExpectedMessagesPerBlock = expectedMessagesPerBlock + 0.1 * expectedMessagesPerBlock
199200 val receivedBlockSizes = recordedBlocks.map { _.size }.mkString(" ," )
200201 assert(
201202 // the first and last block may be incomplete, so we slice them out
0 commit comments