Commit Graph

562 Commits

Author SHA1 Message Date
Andrea Cavalli
f3c63842c8 Don't close unreleasable buffers 2021-10-29 00:11:25 +02:00
Andrea Cavalli
37de47fd6c Refactor results 2021-10-28 23:57:23 +02:00
Andrea Cavalli
d861e26a57 Rename sort 2021-10-28 17:18:23 +02:00
Andrea Cavalli
417c174761 Implement ResourceSupport 2021-10-28 11:44:20 +02:00
Andrea Cavalli
e24dc4bece Update dependencies 2021-10-26 23:59:55 +02:00
Andrea Cavalli
da2b302d1b Replace sinks with references when needed 2021-10-26 00:02:08 +02:00
Andrea Cavalli
1899ef1723 Optimize array 2021-10-25 01:54:37 +02:00
Andrea Cavalli
f9b656986c Clean queues 2021-10-25 01:44:12 +02:00
Andrea Cavalli
7a01b6a2a4 Group writes together to speedup writes 2021-10-25 01:41:02 +02:00
Andrea Cavalli
e48f8b25eb Remove unused constants 2021-10-25 00:44:30 +02:00
Andrea Cavalli
db9b1bb7fb Rename constants 2021-10-25 00:42:48 +02:00
Andrea Cavalli
90aa7a2522 Use in-memory database if the limit is lower than 8192 2021-10-22 01:26:44 +02:00
Andrea Cavalli
a77af5253d Fix performance issue 2021-10-22 00:51:54 +02:00
Andrea Cavalli
213e446ff4 Separate lucene from the rest of the app to avoid thread interruptions 2021-10-21 11:55:59 +02:00
Andrea Cavalli
fb43fa78af Discard transaction data 2021-10-21 10:01:29 +02:00
Andrea Cavalli
1f04241ac6 Use optimistic db 2021-10-21 10:00:39 +02:00
Andrea Cavalli
1625a5c44b RocksDB database abstraction 2021-10-20 01:51:34 +02:00
Andrea Cavalli
80d0ced888 Optimistic transactions, inline codecs 2021-10-19 00:22:05 +02:00
Andrea Cavalli
aad5f8c96c Optimistic updates 2021-10-17 19:52:43 +02:00
Andrea Cavalli
df2b757fdd Remove unused class 2021-10-17 17:15:57 +02:00
Andrea Cavalli
3a591c38f2 Use new netty resource leak detector 2021-10-16 16:56:10 +02:00
Andrea Cavalli
e66efba834 Publish lucene 9 snapshots 2021-10-16 14:59:38 +02:00
Andrea Cavalli
f77784fc50 Improve temporary LMDB database lifecycle 2021-10-16 14:35:04 +02:00
Andrea Cavalli
a441c2fb85 Move comparator 2021-10-16 01:51:07 +02:00
Andrea Cavalli
6f8f70c23b Bugfix in sizeRange 2021-10-16 01:49:41 +02:00
Andrea Cavalli
fd565c80b2 Fix assertions 2021-10-16 01:35:09 +02:00
Andrea Cavalli
f6aab7dafb More tests 2021-10-16 00:50:06 +02:00
Andrea Cavalli
f91617c7ec Update tests 2021-10-16 00:32:04 +02:00
Andrea Cavalli
e6c0f14fda Implement some sort codecs 2021-10-15 22:03:53 +02:00
Andrea Cavalli
17a9b49755 Partial sorted implementation 2021-10-15 00:03:41 +02:00
Andrea Cavalli
36df18796b Partial sorted implementation 2021-10-14 23:04:34 +02:00
Andrea Cavalli
e1d1e1fb05 Fix LMDB PriorityQueue 2021-10-14 15:55:58 +02:00
Andrea Cavalli
d6b6a211a8 Replace scoreMode with boolean "complete" 2021-10-14 00:49:21 +02:00
Andrea Cavalli
5817d8a93f Implement more tests 2021-10-13 14:26:54 +02:00
Andrea Cavalli
c8536e45da Cleanup code 2021-10-13 13:16:56 +02:00
Andrea Cavalli
584115c5cc Rename classes and improve readonly tests performance 2021-10-13 12:25:32 +02:00
Andrea Cavalli
09f60a3a99 Implement memory-mapped sorted searcher for streaming huge query results 2021-10-13 00:23:56 +02:00
Andrea Cavalli
83e98ebce8 Fast implementation of query transformers 2021-10-08 11:50:28 +02:00
Andrea Cavalli
30a14a4aae Add todos 2021-10-08 02:14:34 +02:00
Andrea Cavalli
4d5f8b5b37 Implement MoreLikeThis transformer 2021-10-08 02:13:33 +02:00
Andrea Cavalli
81d8abe72c Add ensureBlocking in blocking method 2021-10-07 00:54:20 +02:00
Andrea Cavalli
013e4c5dd8 Remove publishOn in lucene utils 2021-10-07 00:54:11 +02:00
Andrea Cavalli
33e4cb2f14 Add ensureOpen method to avoid writing to the index when closing 2021-10-07 00:53:38 +02:00
Andrea Cavalli
818bd20ed9 Update netty 2021-10-01 19:17:33 +02:00
Andrea Cavalli
9646ddcb28 Use method references 2021-09-30 18:25:36 +02:00
Andrea Cavalli
5d2ba797eb Cleanup code 2021-09-30 00:25:09 +02:00
Andrea Cavalli
9a6f195b63 Cleanup utils 2021-09-30 00:23:41 +02:00
Andrea Cavalli
dc14192dca Reimplement MultiMoreLikeThis using BigCompositeReader 2021-09-29 13:18:06 +02:00
Andrea Cavalli
6b8c1025d1 Fix ClassCastException 2021-09-29 11:47:17 +02:00
Andrea Cavalli
74d20204ab Avoid using BufferTimeoutPublisher (it kills lucene Async IO) 2021-09-29 11:38:53 +02:00
Andrea Cavalli
2fb96eaf03 Ensure running in a blocking thread 2021-09-29 11:38:36 +02:00
Andrea Cavalli
74f2cce604 Throw error only when needed 2021-09-26 15:10:42 +02:00
Andrea Cavalli
5d7b403e55 Move reactive collector 2021-09-25 18:31:41 +02:00
Andrea Cavalli
f03f7296d4 Separate LeafCollector 2021-09-25 14:09:10 +02:00
Andrea Cavalli
5443e330bb Optimistic emission of results 2021-09-25 13:26:59 +02:00
Andrea Cavalli
8e15020f5b Improve performance of infinite queries 2021-09-25 13:07:52 +02:00
Andrea Cavalli
d06c9184bd Bugfix 2021-09-25 13:07:40 +02:00
Andrea Cavalli
d96b5a168b Execute searches on its own executor 2021-09-25 13:06:24 +02:00
Andrea Cavalli
3742eedd7f Release dropped resource 2021-09-24 04:01:28 +02:00
Andrea Cavalli
996165c3cc Do not release cached searcher 2021-09-24 02:47:52 +02:00
Andrea Cavalli
23fa46c775 Release cached searcher 2021-09-24 02:44:12 +02:00
Andrea Cavalli
20c19f662b Avoid multiple drops 2021-09-24 02:01:45 +02:00
Andrea Cavalli
be1ca997a7 Bugfix 2021-09-23 23:45:41 +02:00
Andrea Cavalli
1a73a5a33f Bugfixes 2021-09-23 22:04:01 +02:00
Andrea Cavalli
3a544d4297 Partial migration to ResourceSupport 2021-09-23 20:57:28 +02:00
Andrea Cavalli
247207febe Temporary 2021-09-23 15:48:27 +02:00
Andrea Cavalli
51ec85abe1 Improve logging 2021-09-23 15:37:13 +02:00
Andrea Cavalli
6c849fae78 Change makeInaccessible visibility 2021-09-23 15:34:56 +02:00
Andrea Cavalli
d4c977047c Allow sorted/scored counting 2021-09-23 14:50:15 +02:00
Andrea Cavalli
b77b441515 Fix all errors 2021-09-23 11:30:44 +02:00
Andrea Cavalli
552b5f78ce Fix size check assertion 2021-09-23 02:22:30 +02:00
Andrea Cavalli
29086b1939 Add some tests for low level dictionary, log tests, pass more tests 2021-09-23 02:15:58 +02:00
Andrea Cavalli
e034f3b778 Support memory segments 2021-09-22 18:33:28 +02:00
Andrea Cavalli
8b73a05177 Bugfixes and upgraded to java 17 2021-09-22 11:03:39 +02:00
Andrea Cavalli
0fee105f0b Bugfixes 2021-09-21 02:01:02 +02:00
Andrea Cavalli
bd97704a0b Better page limits 2021-09-20 18:20:59 +02:00
Andrea Cavalli
b8adbf452e Add resources flux 2021-09-20 16:22:39 +02:00
Andrea Cavalli
3c5edbc06e Finished initial refactoring 2021-09-20 12:51:27 +02:00
Andrea Cavalli
4a883ca8ea Done implementing Local and LocalMulti lucene indices 2021-09-20 11:52:21 +02:00
Andrea Cavalli
ca37d1fb68 Rewrite lucene transformers and implement MoreLikeThis sharding 2021-09-20 11:35:01 +02:00
Andrea Cavalli
5cfb5f49cd Add custom MoreLikeThis with sharding support 2021-09-20 00:22:22 +02:00
Andrea Cavalli
65db1711b5 Missing: moreLikeThis 2021-09-19 19:59:37 +02:00
Andrea Cavalli
31422847c2 Add SimpleUnsortedUnscoredLuceneMultiSearcher 2021-09-19 12:35:48 +02:00
Andrea Cavalli
d1963a1d65 Finish refactoring SimpleLuceneLocalSearcher 2021-09-19 12:01:11 +02:00
Andrea Cavalli
8bc0284f27 First safe search commit 2021-09-18 18:34:21 +02:00
Andrea Cavalli
26e9c4bbee Fix package 2021-09-17 20:37:26 +02:00
Andrea Cavalli
6782abb66d Use Net5 2021-09-17 16:56:28 +02:00
Andrea Cavalli
32300d63ac Fix ci mode 2021-09-10 13:42:02 +02:00
Andrea Cavalli
c467d5f2ba Add ci mode 2021-09-10 13:34:26 +02:00
Andrea Cavalli
7feeb4a9ce Use markers 2021-09-10 12:13:52 +02:00
Andrea Cavalli
0a378bc0f1 Fix negative value 2021-09-10 12:13:46 +02:00
Andrea Cavalli
9e09574517 Don't parallelize here 2021-09-10 01:13:39 +02:00
Andrea Cavalli
36dde3bb5a Set concurrency to 3 2021-09-10 00:05:39 +02:00
Andrea Cavalli
c47f45076a Optimization 2021-09-09 23:27:39 +02:00
Andrea Cavalli
f157e67818 Various searchers optimizations 2021-09-09 23:00:16 +02:00
Andrea Cavalli
6dda099cc1 Fix registration of global allocator 2021-09-09 16:18:47 +02:00
Andrea Cavalli
d9fd4113e0 Fix refactoring 2021-09-09 15:34:31 +02:00
Andrea Cavalli
9c167a322a Extend metric utils 2021-09-09 15:30:28 +02:00
Andrea Cavalli
2fd311f67a Support allocator metrics 2021-09-09 15:21:20 +02:00
Andrea Cavalli
48ba4d15de Bugfix 2021-09-09 12:31:49 +02:00
Andrea Cavalli
cb5a5e36f2 Fix timeout subscription 2021-09-09 11:43:37 +02:00
Andrea Cavalli
48db79359b Use boundedelastic db scheduler 2021-09-08 23:51:05 +02:00
Andrea Cavalli
5293fbe22c Close leaked data 2021-09-08 23:41:18 +02:00
Andrea Cavalli
3a79e5ba6f Undo parallelization of lucene searches 2021-09-08 23:41:05 +02:00
Andrea Cavalli
6926292904 Avoid nesting schedulers inside generators 2021-09-08 22:32:08 +02:00
Andrea Cavalli
2b21e6a864 Use blocking generator instead of Flux.create 2021-09-08 22:16:06 +02:00
Andrea Cavalli
e12e240487 Subscribe on the same thread 2021-09-08 21:35:04 +02:00
Andrea Cavalli
09c7e4f730 Performance bugfix 2021-09-08 21:34:52 +02:00
Andrea Cavalli
047a471bf7 Fix last leaks 2021-09-08 00:22:39 +02:00
Andrea Cavalli
46787fa353 Fix untested testing function
A test function was not tested, causing the uneffectiveness of some tests that were passing when they should have not.
New tests to test the test function have been written, making sure to avoid false negatives.
Add editorconfig, add documentation of MetricUtils
2021-09-07 19:44:23 +02:00
Andrea Cavalli
57a0206cf1 Fully implement memory dictionary 2021-09-07 19:32:37 +02:00
Andrea Cavalli
a662033228 Less verbose exception 2021-09-07 11:39:13 +02:00
Andrea Cavalli
dd1ed1d18f Suppress warning 2021-09-07 11:29:28 +02:00
Andrea Cavalli
d4ed99cc24 Fix compilation issue 2021-09-07 11:28:03 +02:00
Andrea Cavalli
717d13ef1f Revert commit 1882e8b300 2021-09-07 11:26:10 +02:00
Andrea Cavalli
66fa853272 Avoid memory leaks 2021-09-07 02:36:11 +02:00
Andrea Cavalli
f5d3474966 Fix possible deadlock 2021-09-07 02:08:29 +02:00
Andrea Cavalli
936c07406e Implement more phasers 2021-09-06 18:52:21 +02:00
Andrea Cavalli
51b60168f7 Implement phaser 2021-09-06 18:29:10 +02:00
Andrea Cavalli
d05994c8ff Rename manager 2021-09-06 18:24:36 +02:00
Andrea Cavalli
5a79d2d7cb Close the CachedIndexSearcher automatically 2021-09-06 18:23:47 +02:00
Andrea Cavalli
7230e96343 Bugfix 2021-09-06 17:42:12 +02:00
Andrea Cavalli
e59705bd0b Better manage cached index searchers 2021-09-06 17:35:02 +02:00
Andrea Cavalli
b7d975ccfb MultiGet window set to 16 to avoid memory problems 2021-09-06 15:54:44 +02:00
Andrea Cavalli
16bd3b263b Limit cached indexwriters 2021-09-06 15:08:07 +02:00
Andrea Cavalli
d5964a7bed Pool searchers 2021-09-06 15:06:51 +02:00
Andrea Cavalli
6c73c1e86d Add memory tests
needs fix
2021-09-06 01:15:13 +02:00
Andrea Cavalli
4c348a6b2f Throw exception if running in a nonblocking scope 2021-09-05 14:23:46 +02:00
Andrea Cavalli
1882e8b300 Optimize performance by removing all superfluous subscribeOn calls 2021-09-04 16:42:47 +02:00
Andrea Cavalli
2fe8063193 Fix composite buffers 2021-09-04 02:35:12 +02:00
Andrea Cavalli
f5f46edbec Use netty5 package 2021-09-04 02:19:10 +02:00
Andrea Cavalli
154086dee2 Fix compilation issues and buffer expansions 2021-09-03 16:11:14 +02:00
Andrea Cavalli
47de651c94 Bugfixes 2021-09-03 02:22:55 +02:00
Andrea Cavalli
a8028024c8 Finish refactoring 2021-09-02 21:14:26 +02:00
Andrea Cavalli
3091b81d34 Fix map tests 2021-09-02 17:15:40 +02:00
Andrea Cavalli
ff7823656e y 2021-09-01 00:01:56 +02:00
Andrea Cavalli
013d26387d (unfinished) Netty 5 refactoring 2021-08-31 15:50:11 +02:00
Andrea Cavalli
0faef5316e (unfinished) Netty 5 refactoring 2021-08-31 09:14:46 +02:00
Andrea Cavalli
3b55e8bd24 (unfinished) Netty 5 refactoring 2021-08-29 23:18:03 +02:00
Andrea Cavalli
9984cfff73 Bugfixes 2021-08-29 01:15:51 +02:00
Andrea Cavalli
8adc8b77b4 Bugfixes 2021-08-28 22:51:05 +02:00
Andrea Cavalli
03b5876001 Bugfixes 2021-08-28 22:42:51 +02:00
Andrea Cavalli
0c17af2ae5 Bugfixes 2021-08-27 02:49:51 +02:00
Andrea Cavalli
6fe9f9c24f Fix hanging on ScoredSimpleLuceneShardSearcher 2021-08-25 10:23:42 +02:00
Andrea Cavalli
6e31aa01f9 Ignore release errors for empty searchers 2021-08-24 14:13:43 +02:00
Andrea Cavalli
2207ae4314 Fix class names 2021-08-24 11:55:33 +02:00
Andrea Cavalli
a0eb80b130 Protect against memory leaks with dropped search results 2021-08-24 11:53:19 +02:00
Andrea Cavalli
a909aaaf52 LLKeyScore is now a regular record 2021-08-24 11:06:25 +02:00
Andrea Cavalli
c5552d2827 Bugfixes 2021-08-22 23:50:50 +02:00
Andrea Cavalli
2a24570512 Add checked serialization exception 2021-08-22 21:23:22 +02:00
Andrea Cavalli
4e71e42d32 Code cleanup 2021-08-22 19:54:23 +02:00
Andrea Cavalli
906379923f Lazy retain generated suffixes 2021-08-22 19:52:19 +02:00
bc759c344d Use a new approach to completely avoid memory leaks 2021-08-22 18:20:05 +02:00
6ed31ab2a6 Code cleanup 2021-08-16 10:36:54 +02:00
435e7d4886 Use a new approach to completely avoid memory leaks 2021-08-16 10:27:47 +02:00
Andrea Cavalli
9d326f5a8b Human readable representation of total hits count 2021-08-04 01:16:17 +02:00
Andrea Cavalli
9734d78839 Total hits with precision 2021-08-04 01:12:39 +02:00
Andrea Cavalli
bcd99f4727 Avoid errors 2021-08-04 00:44:06 +02:00
Andrea Cavalli
328a45f40d Fix unscored-unsorted collectors 2021-07-31 23:12:13 +02:00
Andrea Cavalli
586be8751c Fix compilation issue 2021-07-31 19:18:20 +02:00
Andrea Cavalli
d411675c2b Use flatMapIterable when possible 2021-07-31 18:00:53 +02:00
Andrea Cavalli
7597e54bac Remove unnecessary schedulers 2021-07-31 12:28:53 +02:00
Andrea Cavalli
4e782403f5 Fix results ordering 2021-07-30 14:01:12 +02:00
Andrea Cavalli
db54773cda remove warning 2021-07-28 22:18:33 +02:00
Andrea Cavalli
e738eda331 Performance optimization 2021-07-27 19:34:51 +02:00
Andrea Cavalli
b816e1f9e5 Use buffertimeoutpublisher 2021-07-27 01:31:18 +02:00
Andrea Cavalli
7abcdf05f9 Optimize performance of unscored queries 2021-07-27 00:32:30 +02:00
Andrea Cavalli
ea86bf7a43 Improve performance with UnscoredCollector 2021-07-26 19:21:17 +02:00
Andrea Cavalli
32b514c866 Add max open files option 2021-07-24 23:47:51 +02:00
Andrea Cavalli
1df38022fb Fix max open files with direct I/O 2021-07-23 22:43:24 +02:00
Andrea Cavalli
c5d353e02a Fix discard errors 2021-07-23 22:18:08 +02:00
Andrea Cavalli
abde1d1aab Fix getMulti 2021-07-23 15:20:33 +02:00
Andrea Cavalli
aa1aa7a6fb Test more numbers 2021-07-18 19:37:24 +02:00
Andrea Cavalli
ff9ee54857 Improve performance 2021-07-17 23:06:26 +02:00
Andrea Cavalli
43439c6f10 Optimize performance 2021-07-17 11:52:08 +02:00
Andrea Cavalli
e4bbeeca3a Fix messages query not releasing 2021-07-15 15:54:34 +02:00
Andrea Cavalli
547fa68fe7 use record getters in queries 2021-07-13 23:07:39 +02:00
Andrea Cavalli
2489c50022 Make buckets unmodifiable 2021-07-13 22:58:08 +02:00
Andrea Cavalli
fe5f50be10 Remove deprecated methods 2021-07-13 18:07:19 +02:00
Andrea Cavalli
61d4b00a02 Suppress warning 2021-07-11 00:39:48 +02:00
Andrea Cavalli
d5c42d531f Fix lexicographic order 2021-07-11 00:37:32 +02:00
Andrea Cavalli
58a9121978 Add heap kv database implementation 2021-07-10 20:52:01 +02:00
Andrea Cavalli
5f3c8a2515 Avoid calling reduce() multiple times 2021-07-08 18:54:53 +02:00
Andrea Cavalli
e2b5432b8d Fix npe 2021-07-08 17:04:53 +02:00
Andrea Cavalli
211a0b36cd Search unscored sorted queries using the non-scored shard searcher 2021-07-08 17:01:56 +02:00
Andrea Cavalli
c85dcfb54e Clean rocksdb code 2021-07-06 22:27:03 +02:00
Andrea Cavalli
2a47e6f3fd Add lucene options 2021-07-06 14:33:47 +02:00
Andrea Cavalli
e7e25e646d Fix scheduling 2021-07-06 02:23:06 +02:00
Andrea Cavalli
7cebcd7e92 Sort shards during merge 2021-07-06 01:52:12 +02:00
Andrea Cavalli
6c97b0f068 Bugfixes 2021-07-06 01:30:37 +02:00
Andrea Cavalli
b5ccf315be Implement adaptive multi searcher for shard indexes 2021-07-06 00:30:14 +02:00
Andrea Cavalli
545c7111de Bugfix 2021-07-05 18:55:11 +02:00
Andrea Cavalli
00ff36836e Improve reactive searchers performance 2021-07-05 15:43:19 +02:00
Andrea Cavalli
a5d4584a11 Adaptive reactive lucene search engine, lazy results 2021-07-05 12:05:45 +02:00
Andrea Cavalli
7929f0dc8c Fully reactive lucene queries 2021-07-04 01:34:17 +02:00
Andrea Cavalli
8a1e4028f7 Advanced lucene options 2021-07-01 21:19:52 +02:00
Andrea Cavalli
b80feabb97 Use NIOFSDirectory 2021-06-30 23:43:46 +02:00
Andrea Cavalli
b567f9f320 Copy map before writing to avoid errors 2021-06-30 10:58:49 +02:00
Andrea Cavalli
3758d06853 Configurable direct buffers 2021-06-29 23:31:02 +02:00
Andrea Cavalli
2df2c00e36 Fix unmodifiable read options 2021-06-27 16:52:45 +02:00