-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add determinism #145
base: main
Are you sure you want to change the base?
Add determinism #145
Commits on Aug 25, 2023
-
Add deterministic behavior for calls against a single host:
By queuing requests per host we now provide deterministic behavior of calls. Signed-off-by: Jacob Weinstock <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1f2d25d - Browse repository at this point
Copy the full SHA 1f2d25dView commit details -
Version was old. Signed-off-by: Jacob Weinstock <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b9b43ac - Browse repository at this point
Copy the full SHA b9b43acView commit details -
Fix linting and test failures:
Fixes issue where the task is not found. This was happening because I was creating the record in the DB in a goroutine and mocking the action to immediately fail. This caused the worker to complete and close before any record could be created. Signed-off-by: Jacob Weinstock <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 10e0e65 - Browse repository at this point
Copy the full SHA 10e0e65View commit details
Commits on Aug 28, 2023
-
Signed-off-by: Jacob Weinstock <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a148628 - Browse repository at this point
Copy the full SHA a148628View commit details -
Signed-off-by: Jacob Weinstock <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d459741 - Browse repository at this point
Copy the full SHA d459741View commit details -
Signed-off-by: Jacob Weinstock <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6d432f9 - Browse repository at this point
Copy the full SHA 6d432f9View commit details
Commits on Sep 3, 2023
-
Signed-off-by: Jacob Weinstock <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f1cc9f8 - Browse repository at this point
Copy the full SHA f1cc9f8View commit details
Commits on Sep 4, 2023
-
Fix orphaned goroutine in worker:
The goroutine (in worker) dequeuing tasks was a blocking call. This meant that after there were no tasks in the queue, this dequeue call would sit waiting. This meant that when the rest of the worker exited this goroutine did not and was orphaned. Workers are per host id so depending on unique hosts that requested tasks this would grown and stay at that number. The resolution was to make the dequeue call non-blocking. Signed-off-by: Jacob Weinstock <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bf1fe48 - Browse repository at this point
Copy the full SHA bf1fe48View commit details
Commits on Sep 5, 2023
-
Fix tests, updating for linting issues, etc Signed-off-by: Jacob Weinstock <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 17f982a - Browse repository at this point
Copy the full SHA 17f982aView commit details -
Extend time waiting for task service to be ready.
Signed-off-by: Jacob Weinstock <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cff1d6c - Browse repository at this point
Copy the full SHA cff1d6cView commit details -
Configuration menu - View commit details
-
Copy full SHA for fb4fead - Browse repository at this point
Copy the full SHA fb4feadView commit details -
Signed-off-by: Jacob Weinstock <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 056be60 - Browse repository at this point
Copy the full SHA 056be60View commit details -
Make maxWorkers and workerIdleTimeout configurable:
Plumb these through to the cli flags. Also fixed a channel close so that when workers are done the goruntimes drops back down to original levels. Signed-off-by: Jacob Weinstock <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b90c138 - Browse repository at this point
Copy the full SHA b90c138View commit details -
Signed-off-by: Jacob Weinstock <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1cb6b99 - Browse repository at this point
Copy the full SHA 1cb6b99View commit details
Commits on Sep 7, 2023
-
Add metrics, tune for better ingestion:
The ingestor was single threaded. After adding metrics and watching the queues and processing happen, running the ingestor process with a max goroutine cap yielded better performance. The per ID queues filled up faster and allowed processing of BMC interactions faster. Signed-off-by: Jacob Weinstock <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5bbd289 - Browse repository at this point
Copy the full SHA 5bbd289View commit details -
Signed-off-by: Jacob Weinstock <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c4c4e01 - Browse repository at this point
Copy the full SHA c4c4e01View commit details -
Add a max number of concurrent workers for the ingestion:
This keeps the goroutines from growning uncontrollably. Signed-off-by: Jacob Weinstock <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5d91df1 - Browse repository at this point
Copy the full SHA 5d91df1View commit details
Commits on Sep 9, 2023
-
WIP refactor to use channels instead of the queue:
This made processing significantly faster. Signed-off-by: Jacob Weinstock <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4877220 - Browse repository at this point
Copy the full SHA 4877220View commit details
Commits on Sep 10, 2023
-
Update the metric server to handle slow loris attacks. Signed-off-by: Jacob Weinstock <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e9d0f2f - Browse repository at this point
Copy the full SHA e9d0f2fView commit details -
It was too big and made memory consumption way too high. Also, the typical/general use-case will be high number of hosts and low number of tasks that are requested close together. Signed-off-by: Jacob Weinstock <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 73de1b2 - Browse repository at this point
Copy the full SHA 73de1b2View commit details