You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Aug 17, 2020. It is now read-only.
First off thank you for making such an amazing tool! Goad is very easy to use and does an amazing job :).
I did notice a potential problem at high concurrency (-c of 200-500). There appear to be a few places where maps are updated/read concurrently.
Both RegionsData and AddResult update AggData.Statuses and it appears these can both be active at the same time since goad.Start is returning a channel that is being populated by a goroutine. See:
I have run into this as well, it seems to be related to the total number of requests as well. I was running 10k requests with -c 1000 and it was okay but 100k requests with -c 1000 it crashes at about 50% of the way through.
This is an example of what I was executing: goad -c 1000 -s 10 -n 100000 --region=us-east-1 --region=us-west-2 <url>
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Hi,
First off thank you for making such an amazing tool! Goad is very easy to use and does an amazing job :).
I did notice a potential problem at high concurrency (
-c
of 200-500). There appear to be a few places where maps are updated/read concurrently.Both
RegionsData
andAddResult
updateAggData.Statuses
and it appears these can both be active at the same time sincegoad.Start
is returning a channel that is being populated by a goroutine. See:Which also calls
infrastructure.Receive
viainfrastructure.Aggregate
(again in a goroutine).This should be reproducible by building goad with
-race
. Here are the race conditions I observed at-c 500
.[Expand] Race conditions observed
The text was updated successfully, but these errors were encountered: