Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
SUMMARY
xattr
Make the rawx interleave the bunch of
fsexattr
with the bunch ofwrite
. In facts, the xattr are set before the final block (whose size is configurable, default=2MiB). On small chunks, i.e. smaller than the block size, the extended attributes will be stored before the data, so that aGET
on the chunk does all the I/O operations sequentially. Prior to this change, the xattr where stored after the data and a GET would read the end of the file and then jump backwards, to the beginning. This cannot be efficient on HDD.access logs
When logs are not necessary, it is interesting to stop logging to relax the log management chain (especially because the rawx is one of the worst emitters). So, 3 variables have been added to turn the logs on/off for specific chunk requests:
Also, the emission of access log lines are not blocking anymore thanks to a go channel. If the emission would have blocked, an alert is raised and the line is wasted.
beanstalkd
We rewrite the connectors to have 1 queue / N workers, so that we don't block anymore on the connection to one backend. We monitor the availability of the queue and write an alert if the queue would have blocked the caller. Upon a full queue, the event is written in the log.
socket options
Allow to configure specific TCP options:
tcp_cork
(disabled by default) andtcp_nodelay
(disabled by default).ISSUE TYPE
enhancement
COMPONENT NAME
rawx
SDS VERSION