Merge pull request #5051 from oranagra/streams_mem_estimate

fix streams memory estimation, missing raxSeek
This commit is contained in:
Salvatore Sanfilippo 2018-06-21 17:36:28 +02:00 committed by GitHub
commit a16aa03a67
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -745,7 +745,7 @@ char *strEncoding(int encoding) {
* size of a radix tree that is used to store Stream IDs. * size of a radix tree that is used to store Stream IDs.
* *
* Note: to guess the size of the radix tree is not trivial, so we * Note: to guess the size of the radix tree is not trivial, so we
* approximate it considering 128 bytes of data overhead for each * approximate it considering 16 bytes of data overhead for each
* key (the ID), and then adding the number of bare nodes, plus some * key (the ID), and then adding the number of bare nodes, plus some
* overhead due by the data and child pointers. This secret recipe * overhead due by the data and child pointers. This secret recipe
* was obtained by checking the average radix tree created by real * was obtained by checking the average radix tree created by real
@ -904,6 +904,7 @@ size_t objectComputeSize(robj *o, size_t sample_size) {
* structures and the PEL memory usage. */ * structures and the PEL memory usage. */
raxIterator cri; raxIterator cri;
raxStart(&cri,cg->consumers); raxStart(&cri,cg->consumers);
raxSeek(&cri,"^",NULL,0);
while(raxNext(&cri)) { while(raxNext(&cri)) {
streamConsumer *consumer = cri.data; streamConsumer *consumer = cri.data;
asize += sizeof(*consumer); asize += sizeof(*consumer);