69 Commits

Author SHA1 Message Date
8b20afcd8d Fix bug where we may wait indefinately while destroying RdbIndex after merge. Issue with not locking m_pendingMerge 2017-06-02 11:35:27 +02:00
9f2356b234 Fix bug where early return due to empty pendingDocIds cause m_pendingMerge not to be reset 2017-06-01 16:46:36 +02:00
5a06d25448 Always submit a mergePendingDocIds job without locking RdbIndex::m_pendingDocIdsMtx to avoid blocking the main thread 2017-06-01 14:30:48 +02:00
d52bdac673 Don't do a timedMerge when we're generating index 2017-05-30 15:49:48 +02:00
81fb24d82a Change RdbIndex::m_pendingMerge to atomic to avoid locking RdbIndex::m_pendingDocIdsMtx when checking if it's set 2017-05-30 12:33:09 +02:00
cc0967510b Add logging when loop callback hit time threshold. Remove some unused function, remove undefined function (only defined in header) 2017-05-30 12:12:32 +02:00
88ecd3153c Protect m_needWrite variable with a mutex to avoid RdbIndex not writing when it needs to (in preparation for moving Msg4In to a thread) 2017-04-21 11:44:37 +02:00
ba8a260c91 Added RdbIndex::clear method 2017-03-30 16:47:34 +02:00
3613402acd RdbIndex::addKey/addRecord_unlocked: const 2017-03-27 12:44:04 +02:00
a4df893078 Fix compilation error 2017-03-25 11:51:11 +01:00
9fbc3275e5 Sort pending docIds before using lower_bound 2017-03-25 11:48:40 +01:00
cb8e24b0b1 Check pending docIds as well when verifying index 2017-03-22 15:20:18 +01:00
21efc82b90 Don't preallocate m_pendingDocIds when we're not going to use it 2017-03-15 15:58:52 +01:00
eb4cfa3c7c Increase RdbIndex reserve size to 3000000 2017-03-13 15:17:46 +01:00
8265aa398a Don't free memory when it's RdbIndex for tree/bucket 2017-03-13 13:39:10 +01:00
fb6e34a044 Don't submit merge job if we don't need to merge 2017-03-09 16:59:43 +01:00
3b6f9099fc Revert "Make sure we're not blocking main thread while merging pending doc ids"
This reverts commit b5f4e003d7.
2017-03-08 16:45:28 +01:00
868ddb4616 Reserve vector to avoid slow reallocation 2017-03-08 16:21:01 +01:00
b5f4e003d7 Make sure we're not blocking main thread while merging pending doc ids 2017-03-08 12:09:30 +01:00
0ba85ea733 Cater for pthread_cond_wait spurious wakeup 2017-03-06 16:55:25 +01:00
eeaf3a69d1 Make sure we don't try to merge a deleted index 2017-03-06 16:36:25 +01:00
b27ec95e30 Use shrink_to_fit instead 2017-02-06 15:20:26 +01:00
58fa5030c6 Fix out of memory bug when generating index 2016-12-28 11:00:48 +01:00
b3164d629f Move RdbIndex merge to cpu thread 2016-12-22 15:29:09 +01:00
886e4071c4 Make sure RdbIndex std::vector memory is freed 2016-12-19 14:57:59 +01:00
7340a15eb4 Added timedMerged to sleep callback to avoid calling gettimeofdayInMilliseconds at every RdbIndex::addRecord 2016-12-15 17:09:19 +01:00
00b0973e65 Fix copy & paste error. We allocate with RdbIndex but free with RdbMap 2016-12-14 10:57:09 +01:00
52a5f832b6 Reduce the amount of memory used in RdbIndex 2016-12-14 10:56:16 +01:00
bdd8cb5338 #include clean up Query.h 2016-12-08 16:56:09 +01:00
6b72884696 Make sure generateIndex will write index even when it's empty. 2016-11-04 10:55:33 +01:00
1f0b75193d Only log when we need to save RdbIndex 2016-11-03 11:14:51 +01:00
bacc239572 #include cleanup of BigFile.h 2016-10-27 13:47:49 +02:00
eff1548e0b fixed "The '|' operator is applied to bool type value. You've probably forgotten to include parentheses or intended to use the '||' operator." confusion in RdbIndex 2016-10-24 13:01:51 +02:00
d0618b8a23 Default RdbIndex to current version 2016-10-12 14:41:18 +02:00
8ce3b603da More constness in Rdb* 2016-10-06 15:21:11 +02:00
92cb25d30f Use version number instead of storing dataFileSize. It's practically impossible to get accurate bucket record count by just counting the number of addRecords 2016-09-29 16:06:05 +02:00
75d46a736f Add unlocked version of RdbIndex::mergePendingDocIds 2016-09-29 16:06:05 +02:00
e0505efb5c Fix merging of positive/negative key 2016-09-29 16:06:05 +02:00
b6574f7730 Add support for delete key to RdbIndex 2016-09-26 16:19:12 +02:00
44d849bc35 Swap parameter to be more consistent with other Rdb* class. Passing in collnum as the first parameter 2016-09-23 15:19:49 +02:00
9aac7cb794 We need to write RdbIndex even with no new docids added since we're adding the RdbTree/RdbBucket key count as well for verification 2016-09-21 10:54:32 +02:00
916eaaecbe Fix misleading log line 2016-09-21 10:54:32 +02:00
4c4f5daedb Fix datasize for on-the-fly additions. More logs 2016-09-20 13:41:23 +02:00
8454da1376 Use rdbid_t for rdbId instead of char 2016-09-20 13:41:23 +02:00
2311cd4ec5 Encapsulate RdbList 2016-09-05 13:45:59 +02:00
a4d6da878f Fix log message 2016-09-02 10:43:24 +02:00
c45440ac34 Fix logError 2016-08-31 15:56:02 +02:00
460a5b487b Add some simple validation on RdbIndex generated file 2016-08-31 15:36:50 +02:00
a23abef4a1 Generate index file while merging and dumping tree 2016-08-31 11:13:31 +02:00
3b1cd2c9e1 Use set_union instead of inplace_merge which doesn't take care of duplicates 2016-08-31 11:13:31 +02:00