Merge pull request #1169 in FS/freeswitch from feature/FS-9775-rewrite-dht to master
* commit '57f793a07696739b9f3db15e40f6039a3ec5aad0': (92 commits)
FS-9775: Remove nodeid from bucket container
FS-9775: Update testbuckets to latest api
FS-9775: Update testbuckets to new api
FS-9775: Committing start of very basic datastore concept, will start tieing in the physical transport layer for replication under new ticket/branch
fix unqlite build, don't do warn all ansi on it
FS-9775: Committing to get assistance with building unqlite
FS-9775: Remove moved h file references
FS-9775: First round of integration of DHT into libblade, requires ongoing changes to DHT for proper exposure to blade level
FS-9775: Fixed building libblade with address sanitizing support
FS-9775: Tweaks, bug fixes, etc. Committing in preparation for introducing into libblade.
FS-9775: Implement serialization, deserialization & repopulation for dht table
FS-9775: A bunch of stuff related to chaining multiple jobs, bug fixes, few other changes
FS-9775: DHT Repopulate empty buckets
FS-9775: DHT Process table timing changes & test cleanup
FS-9775: Some cleanup and bug fixes in DHT, switched to using hash destructors, and added sending of errors to most failed query scenarios
FS-9775: First tested pass on search functionality, not tested with deep searching at multiple levels
FS-9775: Add flags to dhtrt_create_node (merge)
FS-9775: Bug fixes and exposed interface changes while implementing tests for get/put which are functional and pass initial tests now. Deep searching needs to be revamped now to complete the full announcing process.
FS-9775: Exclude newly created nodes from find
FS-9775: Fix memory reuse. Remove redundant fields
...
Shane Bryldt [Tue, 27 Dec 2016 04:27:35 +0000 (04:27 +0000)]
FS-9775: Bug fixes and exposed interface changes while implementing tests for get/put which are functional and pass initial tests now. Deep searching needs to be revamped now to complete the full announcing process.
Shane Bryldt [Fri, 16 Dec 2016 01:58:21 +0000 (01:58 +0000)]
FS-9775: Most of search functionality is finished, needs testing when route table is ready, still reviewing a few things related to recent lock changes
Shane Bryldt [Tue, 13 Dec 2016 23:02:51 +0000 (23:02 +0000)]
FS-9775: Added initialization of threadpool, and switched parsing and processing of a received datagram to dispatch through the threadpool. Also a bit more work on searches sneaking in here.
Shane Bryldt [Mon, 12 Dec 2016 01:02:43 +0000 (01:02 +0000)]
FS-9775: Incorporated route table to test find_node before adding deep searching, but routetable bug is currently returning same values for all closest nodes results
Shane Bryldt [Wed, 7 Dec 2016 16:08:05 +0000 (16:08 +0000)]
FS-9775: Some refactoring for consistency, reduction of nodeid to simpler type, added preliminary type for node to track externally after discussions on route table responsibilities
Shane Bryldt [Mon, 5 Dec 2016 20:43:52 +0000 (20:43 +0000)]
FS-9775: Added support for removing finished transactions via latent purging while expiring
Also added support to send error message responses and updated the test to confirm, errors still need to be updated to send an error responses
Shane Bryldt [Wed, 30 Nov 2016 06:42:11 +0000 (06:42 +0000)]
FS-9775: Added salloc calls for other entities
The use of salloc in the main ks_dht_t for the inner nodeid suggests salloc calls
should be renamed prealloc to avoid confusion where not used on stack variables
Shane Bryldt [Wed, 30 Nov 2016 03:47:40 +0000 (03:47 +0000)]
FS-9775: Initial commit of the first portion of the DHT rewrite for peer review
Code compiles, but not yet functional, unit tests to come soon for current code
Chris Rienzo [Fri, 20 Jan 2017 13:50:42 +0000 (08:50 -0500)]
FS-9965 [mod_hiredis] Improvements for performance, memory utilization, and resiliency.
Pipelining of requests to improve throughput
-- new parameter max-pipelined-requests (default 20) for maximum number of requests to batch at one time
Deletion of counter keys when zero
-- new parameter delete-when-zero (default false) to enable. This will cause a redis eval to execute to decrement counters instead of DECR.
Detection of negative limit counters
-- Self healing of negative counters (due to key eviction, etc)