summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Threaded IO: handleClientsWithPendingReadsUsingThreads top comment.threaded-ioantirez2019-04-301-0/+6
|
* Threaded IO: configuration directive for turning on/off reads.antirez2019-04-301-0/+6
|
* Threaded IO: ability to disable reads from threaded path.antirez2019-04-303-1/+5
|
* Threaded IO: put fflush() inside tio_debug conditional.antirez2019-04-301-2/+2
|
* Threaded IO: parsing WIP 2: refactoring to parse from thread.antirez2019-04-302-28/+60
|
* Threaded IO: parsing WIP 1: set current_client in a better scoped way.antirez2019-04-301-11/+12
|
* Threaded IO: logging should be safe in I/O threads.antirez2019-04-301-3/+2
| | | | | | | | | | | | | | Potentially it is possible that we get interleaved writes, even if serverLog() makes sure to write into a buffer and then use printf(), so even this should be ok. However in general POSIX guarantees that writing to the same file pointer object from multiple threads is safe. Anyway currently we *reopen* the file at each call, but for the standard output logging. The logging functions actually also access global configuration while performing the log (for instance in order to check the log level, the log filename and so forth), however dunring the I/O threads execution we cannot alter such shared state in any way.
* Threaded IO: process read queue before stopping threads.antirez2019-04-301-1/+6
|
* Threaded IO: read side WIP 3.antirez2019-04-303-6/+55
|
* Threaded IO: read side WIP 2.antirez2019-04-301-7/+23
|
* Threaded IO: read side WIP.antirez2019-04-304-46/+75
|
* Threaded IO: hide more debugging printfs under conditional.antirez2019-04-301-2/+2
|
* Threaded IO: make num of I/O threads configurable.antirez2019-04-304-2/+10
|
* Threaded IO: use main thread if num of threads is 1.antirez2019-04-301-2/+11
|
* Threaded IO: stop threads when no longer needed + C11 in Makefile.Ubuntu2019-04-304-6/+29
| | | | | | Now threads are stopped even when the connections drop immediately to zero, not allowing the networking code to detect the condition and stop the threads. serverCron() will handle that.
* Threaded IO: 3rd version: use the mutex only to stop the thread.antirez2019-04-301-19/+33
|
* Threaded IO: second attempt without signaling conditions.antirez2019-04-302-52/+56
|
* Threaded IO: allow to disable debug printf.antirez2019-04-301-10/+12
|
* Threaded IO: implement handleClientsWithPendingWritesUsingThreads().antirez2019-04-303-9/+162
| | | | | | | | | | | | | This is just an experiment for now, there are a couple of race conditions, mostly harmless for the performance gain experiment that this commit represents so far. The general idea here is to take Redis single threaded and instead fan-out on expansive kernel calls: write(2) in this case, but the same concept could be easily implemented for read(2) and protcol parsing. However just threading writes like in this commit, is enough to evaluate if the approach is sounding.
* Merge pull request #5971 from devnexen/unstableSalvatore Sanfilippo2019-04-261-0/+1
|\ | | | | build fix
| * build fixDavid Carlier2019-03-281-0/+1
| |
* | Merge pull request #6002 from yongman/fix-memleak-in-bitfieldSalvatore Sanfilippo2019-04-261-2/+8
|\ \ | | | | | | Fix memleak in bitfieldCommand
| * | Fix memleak in bitfieldCommandyongman2019-04-091-2/+8
| | |
* | | Merge pull request #6013 from rouzier/fix/stream_iterator_initSalvatore Sanfilippo2019-04-261-2/+2
|\ \ \ | | | | | | | | Fix stream interator start and end key initialize
| * | | Fix start and end key initializeJames Rouzier2019-04-111-2/+2
| | | |
* | | | Merge pull request #6039 from git-hulk/fix/benchmark-coredump-in-argumentsSalvatore Sanfilippo2019-04-261-1/+1
|\ \ \ \ | | | | | | | | | | FIX: coredump in redis-benchmark
| * | | | FIX: core dump in redis-benchmark when the `-r` is the last arggit-hulk2019-04-241-1/+1
| |/ / /
* | | | removed obsolete warning as per - https://github.com/antirez/redis/issues/5291abhay2019-04-261-7/+1
| | | |
* | | | Merge branch 'unstable' of github.com:/antirez/redis into unstableantirez2019-04-156-28/+64
|\ \ \ \ | |/ / /
| * | | Merge pull request #5961 from yossigo/modules-testsSalvatore Sanfilippo2019-04-117-29/+64
| |\ \ \ | | | | | | | | | | Modules tests
| | * | | Add runtest-moduleapi with commandfilter coverage.Yossi Gottlieb2019-03-246-29/+63
| | | | |
| | * | | fix: missing initialization.Yossi Gottlieb2019-03-243-0/+1
| | | |/ | | |/|
* | | | Test: disable module testing for now.antirez2019-04-151-1/+0
|/ / /
* | | Aesthetic change to #5962 to conform to Redis style.antirez2019-04-101-3/+1
| | |
* | | Merge pull request #5962 from oranagra/module_blocked_replySalvatore Sanfilippo2019-04-103-6/+15
|\ \ \ | |_|/ |/| | slave corrupts replication stream when module blocked client uses large reply (or POSTPONED_ARRAY)
| * | slave corrupts replication stream when module blocked client uses large ↵Oran Agra2019-03-243-6/+15
| |/ | | | | | | | | | | | | | | | | | | reply (or POSTPONED_ARRAY) when redis appends the blocked client reply list to the real client, it didn't bother to check if it is in fact the master client. so a slave executing that module command will send replies to the master, causing the master to send the slave error responses, which will mess up the replication offset (slave will advance it's replication offset, and the master does not)
* | ACL: Fix memory leak in ACLResetSubcommandsForCommand().antirez2019-04-082-1/+3
| | | | | | | | This commit fixes bug reported at #5998. Thanks to @tomcat1102.
* | ACL: regression test for #5998.antirez2019-04-081-0/+7
| |
* | Fix assert comparison in fetchClusterSlotsConfiguration().antirez2019-04-081-1/+1
|/
* Merge pull request #5944 from yossigo/command-filteringSalvatore Sanfilippo2019-03-229-9/+527
|\ | | | | Command Filtering API
| * CommandFilter API: REDISMODULE_CMDFILTER_NOSELF.Yossi Gottlieb2019-03-214-15/+62
| | | | | | | | | | Add a flag to automatically protect filters from being called recursively by their own module.
| * CommandFilter API: fix UnregisterCommandFilter.Yossi Gottlieb2019-03-211-3/+2
| |
| * CommandFilter API: Add unregister option.Yossi Gottlieb2019-03-214-32/+126
| | | | | | | | | | | | | | | | A filter handle is returned and can be used to unregister a filter. In the future it can also be used to further configure or manipulate the filter. Filters are now automatically unregistered when a module unloads.
| * CommandFilter API: Extend documentation.Yossi Gottlieb2019-03-191-5/+43
| |
| * CommandFilter API: hellofilter and tests.Yossi Gottlieb2019-03-182-5/+47
| |
| * CommandFilter API: Support Lua and RM_call() flows.Yossi Gottlieb2019-03-182-7/+18
| |
| * CommandFilter API: More cleanup.Yossi Gottlieb2019-03-182-29/+10
| |
| * Add command filter Module API tests.Yossi Gottlieb2019-03-182-0/+28
| |
| * Add command filtering argument handling API.Yossi Gottlieb2019-03-183-13/+132
| |
| * Initial command filter experiment.Yossi Gottlieb2019-03-186-2/+161
| |