$success = false; } // write 10k messages to category foodoo (handled by prefix store) print "test writing 10k messages to category foodoo\n"; stress_test('foodoo', 'client1', 10000, 10000, 20, 100, 1); sleep(5); $results = resultChecker('/tmp/scribetest_/foo', 'foo-', 'client1'); if ($results["count"] != 10000 || $results["out_of_order"] != 0) { $success = false; } // write 10k messages to category rock (handled by categories prefix store) print "test writing 100k messages to category rock\n"; stress_test('rock', 'client1', 100, 10000, 20, 100, 1); sleep(5); $results = resultChecker('/tmp/scribetest_/rockpaper', 'rockpaper-', 'client1'); if ($results["count"] != 10000 || $results["out_of_order"] != 0) { $success = false; } // write 10k messages to category paper (handled by categories store) print "test writing 10k messages to category paper\n"; stress_test('paper', 'client2', 1000, 10000, 20, 500, 1); sleep(5); $results = resultChecker('/tmp/scribetest_/rockpaper', 'rockpaper-', 'client2'); if ($results["count"] != 10000 || $results["out_of_order"] != 0) { $success = false; } if (!scribe_stop($GLOBALS['SCRIBE_CTRL'], $GLOBALS['SCRIBE_PORT'], $pid)) { print "ERROR: could not stop scribe\n"; return false; } return $success;
// See the License for the specific language governing permissions and // limitations under the License. // // See accompanying file LICENSE or visit the Scribe site at: // http://developers.facebook.com/scribe/ include_once 'tests.php'; include_once 'testutil.php'; $success = true; $pid = scribe_start('categoriestest', $GLOBALS['SCRIBE_BIN'], $GLOBALS['SCRIBE_PORT'], 'scribe.conf.categoriestest'); // write 10k messages to many different categories $categories = array("hello", "foo", "food", "rock", "rockstar", "paper", "scissors", "apple", "banana"); $client = "client1"; print "Testing writing 100k messages to multiple categories.\n"; super_stress_test($categories, $client, 1000, 100000, 20, 100, 1); sleep(10); // verify all messages got written foreach ($categories as $category) { $path = "/tmp/scribetest_/{$category}"; $prefix = $category . '-'; print "Verifying messages for category {$category}.\n"; $results = resultChecker($path, $prefix, $client); if ($results["count"] != 100000 || $results["out_of_order"] != 0) { print "Error:Bad results for category {$category}\n"; $success = false; } } if (!scribe_stop($GLOBALS['SCRIBE_CTRL'], $GLOBALS['SCRIBE_PORT'], $pid)) { print "ERROR: could not stop scribe\n"; $success = false; } return $success;
$success = false; } // write 10k messages to category rock (handled by categories prefix store) print "test writing 100k messages to category rock\n"; stress_test('rock', 'client1', 100, 10000, 20, 100, 1); sleep(1); $results = resultChecker('/tmp/scribetest_/rock', 'rock-', 'client1'); if ($results["count"] != 10000 || $results["out_of_order"] != 0) { $success = false; } $results = resultChecker('/tmp/scribe_test_/rock', 'rock-', 'client1'); if ($results["count"] != 10000 || $results["out_of_order"] != 0) { $success = false; } // write 10k messages to category paper (handled by categories store) print "test writing 10k messages to category paper\n"; stress_test('paper', 'client1', 1000, 10000, 20, 500, 1); sleep(1); $results = resultChecker('/tmp/scribetest_/paper', 'paper-', 'client1'); if ($results["count"] != 10000 || $results["out_of_order"] != 0) { $success = false; } $results = resultChecker('/tmp/scribe_test_/paper', 'paper-', 'client1'); if ($results["count"] != 10000 || $results["out_of_order"] != 0) { $success = false; } if (!scribe_stop($GLOBALS['SCRIBE_CTRL'], $GLOBALS['SCRIBE_PORT'], $pid)) { print "ERROR: could not stop scribe\n"; $success = false; } return $success;
stress_test('rock', 'client1', 100, 10000, 20, 100, 1); // re-create primary store path system("mkdir /tmp/scribetest_", $error); if ($error) { print "ERROR: unable to recreate /tmp/scribetest_\n"; } // sleep for a while to wait for buffers to flush print "Waiting for buffers to flush...\n"; sleep(120); // verify all messages got logged $results = resultChecker('/tmp/scribetest_/test', 'test-', 'client1'); if ($results["count"] != 20000 || $results["out_of_order"] != 1) { $success = false; } $results = resultChecker('/tmp/scribetest_/test', 'test-', 'client2'); if ($results["count"] != 200000 || $results["out_of_order"] != 0) { $success = false; } $results = resultChecker('/tmp/scribetest_/foodoo', 'foodoo-', 'client1'); if ($results["count"] != 10000 || $results["out_of_order"] != 0) { $success = false; } $results = resultChecker('/tmp/scribetest_/rock', 'rock-', 'client1'); if ($results["count"] != 10000 || $results["out_of_order"] != 0) { $success = false; } if (!scribe_stop($GLOBALS['SCRIBE_CTRL'], $GLOBALS['SCRIBE_PORT'], $pid)) { print "ERROR: could not stop scribe\n"; return false; } return $success;