From 025a9d1379f31f5081867afa7d8aa879b5ffe49b Mon Sep 17 00:00:00 2001 From: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> Date: Tue, 11 Nov 2025 12:52:48 +0400 Subject: [PATCH] Revert "stress test wip" This reverts commit acde8a1fb38c3136a7440c79683c40f54f9ae146. --- src/Simplex/Chat/Library/Subscriber.hs | 5 -- tests/ChatTests/Groups.hs | 63 +++++--------------------- 2 files changed, 11 insertions(+), 57 deletions(-) diff --git a/src/Simplex/Chat/Library/Subscriber.hs b/src/Simplex/Chat/Library/Subscriber.hs index 21202f6b40..57c39ac21a 100644 --- a/src/Simplex/Chat/Library/Subscriber.hs +++ b/src/Simplex/Chat/Library/Subscriber.hs @@ -3292,12 +3292,7 @@ runDeliveryJobWorker a deliveryKey Worker {doWork} = do processDeliveryJob job = case jobScopeImpliedSpec jobScope of DJDeliveryJob _includePending -> do - liftIO $ print $ "processDeliveryJob, starting sendBodyToMembers" - t1 <- liftIO getCurrentTime sendBodyToMembers - t2 <- liftIO getCurrentTime - let diff = diffToMilliseconds $ diffUTCTime t2 t1 - liftIO $ print $ "processDeliveryJob, sendBodyToMembers in: " <> show diff <> " ms" withStore' $ \db -> updateDeliveryJobStatus db jobId DJSComplete DJRelayRemoved | workerScope /= DWSGroup -> diff --git a/tests/ChatTests/Groups.hs b/tests/ChatTests/Groups.hs index 8237b10227..ad13cac8bd 100644 --- a/tests/ChatTests/Groups.hs +++ b/tests/ChatTests/Groups.hs @@ -238,7 +238,7 @@ chatGroupTests = do it "number of recipients is equal to bucket size (3/3)" (testChannelsRelayDeliverLoop 3) it "sender should deduplicate their own messages" testChannelsSenderDeduplicateOwn describe "stress test" $ do - fit "deliver to 5,000 members" (testChannelsRelayDeliverStress2 5_000) + fit "deliver to 1000 members" (testChannelsRelayDeliverStress 1000) testGroupCheckMessages :: HasCallStack => TestParams -> IO () testGroupCheckMessages = @@ -8195,7 +8195,7 @@ createChannel5 :: String -> TestCC -> TestCC -> TestCC -> TestCC -> TestCC -> IO createChannel5 gName owner relay cath dan eve = do (shortLink, fullLink) <- createChannel1Relay gName owner relay forM_ [cath, dan, eve] $ \member -> - memberJoinChannel gName relay shortLink fullLink 1 member + memberJoinChannel gName relay shortLink fullLink member createChannel1Relay :: String -> TestCC -> TestCC -> IO (String, String) createChannel1Relay gName owner relay = do @@ -8225,20 +8225,19 @@ createChannel1Relay gName owner relay = do owner ##> ("/show link #" <> gName) getGroupLinks owner gName GRMember False -memberJoinChannel :: String -> TestCC -> String -> String -> Int -> TestCC -> IO () -memberJoinChannel gName relay shortLink fullLink userId member = do +memberJoinChannel :: String -> TestCC -> String -> String -> TestCC -> IO () +memberJoinChannel gName relay shortLink fullLink member = do mName <- userName member mFullName <- showName member - member ##> ("/_connect plan " <> show userId <> " " <> shortLink) + member ##> ("/_connect plan 1 " <> shortLink) member <## "group link: ok to connect via relays" groupSLinkData <- getTermLine member - member ##> ("/_prepare group " <> show userId <> " " <> fullLink <> " " <> shortLink <> " direct=off " <> groupSLinkData) + member ##> ("/_prepare group 1 " <> fullLink <> " " <> shortLink <> " direct=off " <> groupSLinkData) member <## ("#" <> gName <> ": group is prepared") - -- group id is same as user id - member ##> ("/_connect group #" <> show userId) + member ##> "/_connect group #1" member <## "ok" concurrentlyN_ [ do @@ -8340,12 +8339,8 @@ testChannelsSenderDeduplicateOwn ps = do where cfg = testCfg {deliveryWorkerDelay = 250000} --- 100 members --- - w/ reception: 965 ms --- - sendMessages: 51 ms --- 1000 members --- - w/ reception: 16395 ms --- - sendMessages: 1197 ms +-- 100 members: 965 ms +-- 1000 members: 16395 ms testChannelsRelayDeliverStress :: HasCallStack => Int -> TestParams -> IO () testChannelsRelayDeliverStress numMembers ps = withNewTestChat ps "alice" aliceProfile $ \alice -> do @@ -8357,12 +8352,12 @@ testChannelsRelayDeliverStress numMembers ps = descr = "Member" <> show i memberProfile = mkProfile (T.pack name) (T.pack descr) Nothing member <- createTestChat ps testCfg testOpts name memberProfile - memberJoinChannel "team" bob shortLink fullLink 1 member + memberJoinChannel "team" bob shortLink fullLink member print $ name <> " joined" pure member - print $ "starting sending to " <> show numMembers <> " members..." t1 <- getCurrentTime + print $ "starting sending to " <> show numMembers <> " members..." alice #> "#team hi" bob <# "#team alice> hi" @@ -8376,39 +8371,3 @@ testChannelsRelayDeliverStress numMembers ps = forConcurrently_ memberCCs $ \member -> do member Int -> TestParams -> IO () -testChannelsRelayDeliverStress2 numMembers ps = - withNewTestChat ps "alice" aliceProfile $ \alice -> do - withNewTestChatOpts ps relayTestOpts "bob" bobProfile $ \bob -> do - withNewTestChat ps "cath" cathProfile $ \cath -> do - (shortLink, fullLink) <- createChannel1Relay "team" alice bob - - memberJoinChannel "team" bob shortLink fullLink 1 cath - forM_ [2..numMembers] $ \i -> do - let uName = "cath" <> show i - cath ##> ("/create user " <> uName) - showActiveUser cath uName - memberJoinChannel "team" bob shortLink fullLink i cath - print $ uName <> " joined" - - print $ "starting sending to " <> show numMembers <> " members..." - t1 <- getCurrentTime - - alice #> "#team hi" - bob <# "#team alice> hi" - forM_ [1..numMembers] $ \_i -> do - cath .<## "#team alice> hi [>>]" - - t2 <- getCurrentTime - let diff = diffToMilliseconds $ diffUTCTime t2 t1 - print $ "sent to " <> show numMembers <> " members in: " <> show diff <> " ms"