Patch (to be ported)
Project:
Memcache API and Integration
Version:
8.x-2.x-dev
Component:
Code
Priority:
Normal
Category:
Feature request
Assigned:
Unassigned
Reporter:
Created:
11 Jun 2020 at 13:48 UTC
Updated:
25 Jun 2020 at 05:14 UTC
Jump to comment: Most recent, Most recent file
Comments
Comment #2
peximo commentedComment #3
peximo commentedComment #4
peximo commentedAdded a comment to the README.
Comment #5
jeremy commentedThis is great! Please find an updated patch after more testing.
- renamed all related functions and variables to include ascii_auth (to differentiate from sasl auth)
- added additional documentation
- perform additional tests on admin Status Report
Comment #6
jeremy commentedComment #7
jeremy commentedUploading a new version of the patch, as the previous wasn't properly checking the memcached version.
Comment #8
jeremy commentedI ran some load tests on this patch. Enabling ASCII protocol authentication on the server and in the module results in ~1.25% performance overhead. This seems primarily due to an ~11.25% increase in memcache GET requests. Very acceptable overhead.
Comment #9
fabianx commentedI suggest to add that at least 1.6.4 is recommended to avoid that one bug.
You are missing an essential interdiff - I will post it again.
I still don't get why setByKey returns success when it fails to set the key. [or maybe it can fail to set the key even though the connection is authorized, because any set on an unauthorized connection should give back error 9 CLIENT ERROR].
IIRC - you also wanted to check if ascii auth is even enabled.
The easiest is to create a new Memcached() instance for each connection in the getServerList() and see that a simple set on a dummy key fails.
Comment #10
fabianx commentedComment #11
jeremy commentedI've updated the README, and I also added a Warning on the Status Page if <1.6.4 is used.
Merged in.
It likely is specific to have 1 failed among 2+ servers in a given bin?
I did not address 4, but additional checks are certainly welcome as silent errors are very difficult to debug.
Comment #12
jeremy commentedNote, this patch was load tested with Goose using this example:
https://github.com/tag1consulting/goose/blob/master/examples/drupal_load...
The raw command used was:
cargo run --release --example drupal_loadtest -- --host http://local.dev/ -c10 -t15m -v --only-summaryAnd the collected results:
https://docs.google.com/spreadsheets/d/1aRns-fiXepYhz-lA2y2aJNgFuWjy67OS...
Comment #13
jeremy commentedComment #15
jeremy commentedThis has been committed. Marking as to-be-ported to the 8.x/9.x version.