Commit Graph

486 Commits

Author SHA1 Message Date
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
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
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
6782abb66d Use Net5 2021-09-17 16:56:28 +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
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