redis/tests/integration
sundb 02fd76b97c
Replace all usage of ziplist with listpack for t_hash (#8887)
Part one of implementing #8702 (taking hashes first before other types)

## Description of the feature
1. Change ziplist encoded hash objects to listpack encoding.
2. Convert existing ziplists on RDB loading time. an O(n) operation.

## Rdb format changes
1. Add RDB_TYPE_HASH_LISTPACK rdb type.
2. Bump RDB_VERSION to 10

## Interface changes
1. New `hash-max-listpack-entries` config is an alias for `hash-max-ziplist-entries` (same with `hash-max-listpack-value`)
2. OBJECT ENCODING will return `listpack` instead of `ziplist`

## Listpack improvements:
1. Support direct insert, replace integer element (rather than convert back and forth from string)
3. Add more listpack capabilities to match the ziplist ones (like `lpFind`, `lpRandomPairs` and such)
4. Optimize element length fetching, avoid multiple calculations
5. Use inline to avoid function call overhead.

## Tests
1. Add a new test to the RDB load time conversion
2. Adding the listpack unit tests. (based on the one in ziplist.c)
3. Add a few "corrupt payload: fuzzer findings" tests, and slightly modify existing ones.

Co-authored-by: Oran Agra <oran@redislabs.com>
2021-08-10 09:18:49 +03:00
..
aof-race.tcl TLS: Connections refactoring and TLS support. 2019-10-07 21:06:13 +03:00
aof.tcl cleanup around loadAppendOnlyFile (#9012) 2021-06-14 10:38:08 +03:00
block-repl.tcl Improve test suite to handle external servers better. (#9033) 2021-06-09 15:13:24 +03:00
convert-ziplist-hash-on-load.tcl Replace all usage of ziplist with listpack for t_hash (#8887) 2021-08-10 09:18:49 +03:00
convert-zipmap-hash-on-load.tcl Replace all usage of ziplist with listpack for t_hash (#8887) 2021-08-10 09:18:49 +03:00
corrupt-dump-fuzzer.tcl corrupt-dump-fuzzer test, avoid creating junk keys (#9302) 2021-08-05 22:57:05 +03:00
corrupt-dump.tcl Replace all usage of ziplist with listpack for t_hash (#8887) 2021-08-10 09:18:49 +03:00
dismiss-mem.tcl Use madvise(MADV_DONTNEED) to release memory to reduce COW (#8974) 2021-08-04 23:01:46 +03:00
failover.tcl Improve test suite to handle external servers better. (#9033) 2021-06-09 15:13:24 +03:00
logging.tcl Improve test suite to handle external servers better. (#9033) 2021-06-09 15:13:24 +03:00
psync2-pingoff.tcl Improve test suite to handle external servers better. (#9033) 2021-06-09 15:13:24 +03:00
psync2-reg.tcl Improve test suite to handle external servers better. (#9033) 2021-06-09 15:13:24 +03:00
psync2.tcl Make sure execute SLAVEOF command in the right order in psync2 test. (#9316) 2021-08-05 11:26:09 +03:00
rdb.tcl solve test timing issues in replication tests (#9121) 2021-06-22 11:10:11 +03:00
redis-benchmark.tcl Improve test suite to handle external servers better. (#9033) 2021-06-09 15:13:24 +03:00
redis-cli.tcl redis-cli ASK redirect test: Add retry loop to fix timing issue (#9315) 2021-08-05 08:20:30 +03:00
replication-2.tcl Improve test suite to handle external servers better. (#9033) 2021-06-09 15:13:24 +03:00
replication-3.tcl Allow master to replicate command longer than replica's query buffer limit (#9340) 2021-08-08 17:34:11 -07:00
replication-4.tcl Improve test suite to handle external servers better. (#9033) 2021-06-09 15:13:24 +03:00
replication-psync.tcl Improve test suite to handle external servers better. (#9033) 2021-06-09 15:13:24 +03:00
replication.tcl solve test timing issues in replication tests (#9121) 2021-06-22 11:10:11 +03:00