-
Notifications
You must be signed in to change notification settings - Fork 845
Cleanup: remove ts::Buffer from ControlBase. #9664
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
Cleanup: remove ts::Buffer from ControlBase. #9664
Conversation
|
It seems like somehow your PR is impacting the behavior of the immediate shutdown oriented tests. The ones that misconfigure ATS then expect certain logs and response codes: https://ci.trafficserver.apache.org/job/Github_Builds/job/autest/6935/console Note the difference in return code (-2 instead of 33) and the diags.log and traffic.out files are not there. These tests are generally pretty reliable in master - your other recent PRs haven't failed these tests. Unfortunately, the archived sandbox doesn't have much information, since none of the logs were emitted: |
bneradt
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need to investigate why the shutdown autests are having issues in CI with this PR.
|
@bneradt - actually, they've all failed and are now successful only because of retries. |
Exactly, some passed because of a retry. This is what I notice:
My observation is that it seems like this patch is causing issues with some of the shutdown tests (fatal.test.py, emergency.test.py, etc.). I'm not sure why that's the case, but I don't want us to just re-run autest a bunch of times, get this merged in once all the tests pass by happenstance, then destabilize those tests for the rest of CI. |
Maybe I misunderstood you. When you say they all failed are you referring to CI for the other PR's? |
|
Yes, for every one of these PRs I have had to run CI multiple times. For instance #9661 took three tries. Note on this run, it was a failure on Rocky - all of the AuTests passed. |
Ah, OK. Then I take back my comment. This PR isn't the problem then. Clearly we'll need to figure out what has caused CI to not be stable anymore. It was running pretty consistently for the last couple months. |
|
[approve ci rocky] |
bneradt
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The PR looks fine as is. But when reviewing the code, doesn't this need to call free on these sowc::memSpan elements?
Clearing the vector isn't going to free them. Or are they free'd elsewhere?
|
That looks like a leak. I suspect we don't see it in the field because
The correct solution is to leverage YAML to get rid of the entire ControlMatcher library, but short of that it would be better to put the text in a |
bneradt
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The change looks fine. Again, you didn't introduce the leak here.
We can address the leak in a separate PR if you prefer. Using a std::string as you suggest makes sense. Or we can loop over the vector and call free on them.
|
No, looping over the vector is the wrong approach. It validates doing separate allocations for each string, instead of one for all of them. Don't you remember @zwoop was whining about exactly that at the last PR review? |
* asf/master: (33 commits) Add error log for invalid OCSP response (apache#9674) Add new settings to specify TLS versions to use (apache#9667) Remove flask from tests/Pipfile (apache#9688) Doc: Add example of --enable-lto build option with LLVM (apache#9654) Added Zhengxi to the asf contributors (apache#9685) Don't build native QUIC implementation (apache#9670) Stabilize autest tls_hooks17 (apache#9671) Cleanup: remove ts::buffer from HostDB. (apache#9677) Fix leak in MultiTextMod in ControlBase. (apache#9675) Cleanup: remove TsBuffer.h from MIME.cc (apache#9661) Cleanup: remove ts::Buffer from ControlBase. (apache#9664) setup pre-commit hook at cmake generation time (apache#9669) Updated parent retry attempt logic (apache#9620) Try to do less work in hot function HttpHookState::getNext (apache#9660) cmake build, fixed warning using older openssl APIs (apache#9648) rename attempts to retry_attempts (apache#9655) OCSP: Fix unitialized variable error. (apache#9662) Add support for CONNECT method on HTTP/2 connection (apache#9616) Remove deprecated debug output functions from 10 source files. (apache#9657) Remove deprecated debug output functions from 14 source files. (apache#9658) ...
Remove and replace
ts::Buffer.