Skip to content
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 proxy audit log and other assorted fixes #8781

Merged
merged 20 commits into from
Aug 6, 2024
Merged

Conversation

scbedd
Copy link
Member

@scbedd scbedd commented Aug 4, 2024

This PR

  • Fixes an identified issue with not properly utilizing the session locks -- causing a serious perf degradation when adding a bunch of sanitizers to a bunch of tests. (like 10+ minutes per massive core job bad)
  • Fixes a serious problem that was allowing a test to be stopped while the last entry in the recording is still writing it's body. That location in the code has already obtained a lock on the session, so merely adding the same to playback/stop prevents the test from being stopped while the last entry is being streamed back. This was the source of the Channel Response timeout issues that java- core was seeing @alzimmermsft (at least, it has not reproed in the 3 core runs since I added this fix 🤞 )
  • Add a concurrent queue for log messages that can be dumped. Currently this endlessly grows, but pulling with /Audit/GetAuditLogs will clean up that memory.
  • Add audit entries for Record code paths
  • Add a few tests for the new functionality
  • Get signoff from @mikeharder about the always-on per-session audit logging. We were kinda laughing about chewing up memory, but...it's not that bad :P No affect to java - core which beats the absolute hell out of the server.

@mikeharder I need to add audit items to the record pathway, but I was laser focused on getting playback concurrency issues resolved for the java folks. Please take a look, see how I'm retaining the various locks on resources (by reducing to a single access lock to each playback session). I think I've nailed most of the edge cases.

@alzimmermsft looking at the latest java - core failures running with this version of the test-proxy, I don't think the proxy is related to those. I'm not declaring total victory with this PR but the issues are seriously reduced.

This version is standing up to multiple storage runs:
image

@scbedd scbedd self-assigned this Aug 4, 2024
@scbedd scbedd changed the title Add Proxy Audit Log Add proxy audit log and other assorted fixes Aug 5, 2024
@scbedd scbedd marked this pull request as ready for review August 5, 2024 20:28
@scbedd scbedd requested review from mikeharder and benbp as code owners August 5, 2024 20:28
@scbedd scbedd enabled auto-merge (squash) August 6, 2024 15:21
@scbedd scbedd merged commit 920afb2 into Azure:main Aug 6, 2024
12 checks passed
@scbedd scbedd mentioned this pull request Aug 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

5 participants