Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fileset indexing: address performance issues and add configurability #156

Merged
merged 11 commits into from Mar 9, 2023

Conversation

sbesson
Copy link
Member

@sbesson sbesson commented Feb 8, 2023

Context

As part of the OMERO 5.5.0 release, the indexing logic was fully rewritten to use a new FullTextIndexer2 (initial work in #10). While performing with a background reindexing as described in the documentation, we noticed the reindexing progress was extremely slow roughly with a rate of ~1%/day, meaning the process would take months to complete. Additionally, this trend suggests that even on completion, the indexer would be unlikely to catch-up with new imports.

The system where the issue was identified is almost exclusively composed of HCS data. After some investigation, the source of the performance issue was traced down to the features introduced in #57, more specifically the indexing of filesets associated with images. The review suggests that most of the testing was carried out either with single-file filesets or filesets with a few entries. Under these conditions, the new operation will add a manageable overhead for every image indexed. However, when dealing with multi-image filesets, this operation will typically scale as n_images x m_entries. This becomes particularly critical in the high-content screening domain where plates are routinely composed of 1-10K images and 10-100K fileset entries. There are three related problems:

  • the performance degradation associated with the indexing process
  • the growth of the content of FullText under the binary repository
  • the value of the feature in the particular domain since most HCS formats use fairly standard filenames e.g. r01c01f01p01-ch1sk1fk1fl1.tiff which will be associated to all images in each plate

Proposal

To mitigate the HCS issue without fully disabling the functionality introduced previously, this PR introduces a server side property omero.search.max_fileset_size which defines a cut-off above which fileset entries are not indexed. The default value is arbitrarily set to 1 i.e. only single-file filesets will be indexed but is up for discussion.

Testing

Data-wise, the BBBC017 plate is a good representative sample for reproducing this issue and assessing the proposed solution. This is a fairly standard plate (384 wells, 6 fields of views/well) that has been converted into two variants of OME-TIFF: single file and multi-file with companion - see https://downloads.openmicroscopy.org/images/OME-TIFF/2016-06/BBBC017/. Both datasets are strictly identical in terms of metadata and only differ by their number of constituent files (1 vs 2304).

Testing should ideally be carried out from an empty database or from a populated one after recording the base reindexing time. After importing each variant of the plate mentioned above, the database should be reindexing following the instructions of the documentation and the reindexing time should be measured using the timestamps in the Indexer-0.log.

My own measurements are given below for reference but the reindexing performance might vary depending on the system. The absolute reindexing values are less important than the ratio between the reindexing time between a single-file plate and a multi-file plate.

Without this PR, the reindexing time were found to be 15s for the single-file OME-TIFF plate versus 180s for the multi-file OME-TIFF plate.

With this PR included, the reindexing time should be identical and equal to 15s for both plates.

/cc @chris-allan @stick

This commit introduces some logic to define a cut-off for indexing
filesets associated with images. A new `FullTextBridge` constructor
is introduced as well as a new server property that is used in the
service definition file.

The primary motivation for introducing this mechanism is to handle
the case of multi-image filesets where  set_fileset will scale
as nImages x nFilesetEntries and effectively prevent the indexer to
catch-up in the most advanced scenarios like HCS data.
@joshmoore
Copy link
Member

👍 but personally I'd go higher than 1. Doing a little counting on IDR of filesets with fewer than a thousand entries:

 bucket |   range   | freq  |       bar
--------+-----------+-------+-----------------
      1 | [1,49]    | 94842 | ***************
      2 | [50,96]   |    85 |
      3 | [101,145] |   751 |
      4 | [151,189] |    63 |
      5 | [196,241] |    87 |
      6 | [253,291] |   191 |
      7 | [301,341] |    29 |
      8 | [342,387] |   533 |
      9 | [391,403] |     4 |
     10 | [451,484] |     8 |
     11 | [501,514] |     3 |
     12 | [544,577] |   326 |
     13 | [589,604] |     4 |
     15 | [688,721] |    56 |
     17 | [781,781] |     1 |
     21 | [973,973] |     2 |
(16 rows)

and less than 50:

 bucket |  range  |  freq  |       bar
--------+---------+--------+-----------------
      1 | [1,1]   | 494139 | ***************
      2 | [2,2]   |    120 |
      3 | [3,3]   |    322 |
      4 | [4,4]   |     69 |
      9 | [9,9]   |      4 |
     10 | [10,10] |      3 |
     17 | [17,17] |      1 |
     18 | [18,18] |      1 |
     20 | [20,20] |      2 |
     21 | [21,21] |      4 |
     23 | [23,23] |      2 |
     24 | [24,24] |      2 |
     27 | [26,26] |      1 |
     28 | [27,27] |      2 |
     29 | [28,28] |      2 |
     31 | [30,30] |      1 |
     32 | [31,31] |      3 |
     33 | [32,32] |      1 |
     35 | [34,34] |      2 |
     36 | [35,35] |      1 |
     37 | [36,36] |      3 |
     39 | [38,38] |      1 |
     41 | [40,40] |      4 |
     42 | [41,41] |      2 |
     44 | [43,43] |      6 |
     45 | [44,44] |      2 |
     46 | [45,45] |      5 |
     47 | [46,46] |      8 |
     48 | [47,47] |      4 |
     49 | [48,48] |      5 |
     51 | [49,49] |    120 |
(31 rows)
query
--------+-----------+-------+-----------------
WITH
  source AS (
    SELECT * FROM (select count(fileset) as fs from filesetentry group by fileset limit 500000) as x
  ),
  min_max AS (
    SELECT min(fs) AS min, max(fs) AS max FROM source where fs < 50
  ),
  histogram AS (
    SELECT
      width_bucket(fs, min_max.min, min_max.max, 50) AS bucket,
      numrange(min(fs)::numeric, max(fs)::numeric, '[]') AS "range",
      count(fs) AS freq
    FROM source, min_max
    WHERE fs IS NOT NULL and fs < 50
    GROUP BY bucket
    ORDER BY bucket
  )
  SELECT
    bucket,
    "range",
    freq::bigint,
    repeat('*', (freq::float / (max(freq) over() + 1) * 15)::int) AS bar
  FROM histogram;

@sbesson
Copy link
Member Author

sbesson commented Feb 9, 2023

Thanks for the feedback. 66f22be increases the default value to 10 which should minimally capture several scenarios where a fileset is constituted of a master file associated with a few ancillary files - see https://bio-formats.readthedocs.io/en/latest/formats/dataset-table.html.
If we are considering increasing the default even further, I think it would be useful to talk through a few concrete datasets.

@joshmoore
Copy link
Member

Seems like an ok compromise. One more question: was adding the first max_fileset_size files for each fileset regardless considered?

@sbesson
Copy link
Member Author

sbesson commented Feb 10, 2023

One more question: was adding the first max_fileset_size files for each fileset regardless considered?

Not really. Quite possibly, the current default might be sufficient avoid the performance degradation but I would need to re-run some reindexing measurements to be sure

It might also be useful to find examples and discuss the expectation of this feature. Thinking of the HCS case again, my feeling is that there is a lot of redundancy in the fileset entries and indexing the first fileset entry might be sufficient.

@joshmoore
Copy link
Member

my feeling is that there is a lot of redundancy in the fileset entries and indexing the first fileset entry might be sufficient.

nods certainly the logic "if an insane number of files, only index the first" feels better than "if an insane number of files, index nothing".

@pwalczysko
Copy link
Member

...the reindexing time should be measured using the timestamps in the Indexer-0.log.

@sbesson the log is unfortunately full of timestamps, would you maybe advise a foolproof log text which indicates the start of reindexing ? Such as, if I run

omero admin reindex --reset 0

What exactly should appear in the log as a result of this command ?
I am asking because I reindexed ome-training-3 starting on 16 Feb 2023 and cannot make sense of the log entries.
Thanks

@pwalczysko
Copy link
Member

aha, maybe

2023-02-17 16:16:17,171 INFO  [                ome.services.blitz.Entry] (      main) Finished shutdown.

which appeared after omero admin reindex --prepare

I have now a local server and am watching the Indexer log in another terminal with tail -f

@pwalczysko
Copy link
Member

OK, so I will take the time between the waiting and the end of logging (new entries stopped for at least 2 mins)

2023-02-17 16:19:34,115 INFO  [                ome.services.blitz.Entry] (      main) Waiting 10000 ms on startup
2023-02-17 16:19:44,121 INFO  [                ome.services.blitz.Entry] (      main) Creating ome.fulltext. Please wait...
2023-02-17 16:19:45,090 INFO  [.s.ShutdownSafeEhcacheManagerFactoryBean] (      main) Initializing EhCache CacheManager

....

2023-02-17 16:22:57,406 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-17 16:22:57,424 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-17 16:22:57,434 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-17 16:22:57,449 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 9

So, without your PR on a fresh DB on the multi-file I have 16:22:57 minus 16:19:34 which is 3 minutes and 23 secs, makes 203 secs.

@pwalczysko
Copy link
Member

pwalczysko commented Feb 21, 2023

With this PR included, using the artifact on merge-ci https://merge-ci.openmicroscopy.org/jenkins/job/OMERO-build/lastSuccessfulBuild/artifact/src/target/OMERO.server-5.6.3-313-290ff28-ice36-b1472.zip

multi-file reindexing report:

tail -f /opt/omero/server/OMERO.server/var/log/Indexer-0.log
...

2023-02-21 15:00:48,764 INFO  [                ome.services.blitz.Entry] (      main) Waiting 10000 ms on startup
2023-02-21 15:00:58,793 INFO  [                ome.services.blitz.Entry] (      main) Creating ome.fulltext. Please wait...
2023-02-21 15:00:59,858 INFO  [.s.ShutdownSafeEhcacheManagerFactoryBean] (      main) Initializing EhCache CacheManager
2023-02-21 15:01:00,523 INFO  [        ome.services.util.ReadOnlyStatus] (      main) read-only status: db=false, repo=false
2023-02-21 15:01:00,644 INFO  [  ome.services.fulltext.FullTextAnalyzer] (      main) Initialized FullTextAnalyzer
2023-02-21 15:01:04,110 INFO  [       ome.services.scheduler.ThreadPool] (      main) ThreadPool: normal=(#50, 5000ms), background=(#10, 3600000ms)
2023-02-21 15:01:04,300 INFO  [      ome.services.util.JvmSettingsCheck] (      main) Language,Country,Charset,Timezone: en,US,UTF-8,UTC
2023-02-21 15:01:04,300 INFO  [      ome.services.util.JvmSettingsCheck] (      main) Java version: 11.0.18; Linux; amd64; 3.10.0-1127.el7.x86_64
2023-02-21 15:01:04,301 INFO  [      ome.services.util.JvmSettingsCheck] (      main) Max Memory (MB):   =   2044
2023-02-21 15:01:04,301 INFO  [      ome.services.util.JvmSettingsCheck] (      main) OS Memory (MB):    =  19490
2023-02-21 15:01:04,301 INFO  [      ome.services.util.JvmSettingsCheck] (      main) Processors:        =      2
2023-02-21 15:01:04,373 INFO  [    ome.services.fulltext.FullTextBridge] (      main) Maximum fileset size: 10
2023-02-21 15:01:04,393 INFO  [  ome.services.fulltext.FullTextIndexer2] (      main) starting indexer
2023-02-21 15:01:04,466 WARN  [                          omero.security] (      main) trustStore property is empty, not setting
2023-02-21 15:01:04,466 WARN  [                          omero.security] (      main) trustStorePassword property is empty, not setting
2023-02-21 15:01:04,505 INFO  [         ome.services.util.TimeoutSetter] (      main) Query timeout set to 1000s for all users.
2023-02-21 15:01:04,658 INFO  [              ome.services.mail.MailUtil] (      main) JavaMail version is 1.6.2
2023-02-21 15:01:04,666 INFO  [        ome.services.db.DatabaseIdentity] (      main) Using LSID format: urn:lsid:export.openmicroscopy.org:%s:edbf7e90-541d-4abd-8048-965105a6bade_%s%s
2023-02-21 15:01:04,702 INFO  [    ome.services.fulltext.FullTextThread] (      main) Initializing Full-Text Indexer
2023-02-21 15:01:04,858 INFO  [      o.s.scheduler.SchedulerFactoryBean] (      main) Starting Quartz Scheduler now
2023-02-21 15:01:04,858 INFO  [    ome.tools.hibernate.ExtendedMetadata] (      main) Calculating ExtendedMetadata...
2023-02-21 15:01:05,415 INFO  [       ome.services.graphs.GraphPathBean] (      main) initialized graph path bean with 1291 properties
2023-02-21 15:01:05,488 INFO  [                ome.services.blitz.Entry] (      main) ome.fulltext now accepting connections.
2023-02-21 15:01:24,433 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) defragmenting whole search index
2023-02-21 15:01:24,722 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 240
....
2023-02-21 15:01:43,847 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-21 15:01:43,857 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-21 15:01:43,868 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-21 15:01:43,876 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-21 15:01:43,887 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-21 15:01:43,897 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 26

So this is 15:00:48 minus 5:01:43, which is 55 secs. This is improvement against the release server, albeit not as dramatic as reported in the header. Possibly I am counting some events which might not be taken as "pure reindexing" ?

@sbesson
Copy link
Member Author

sbesson commented Feb 21, 2023

@pwalczysko I think the first entries in the indexer logs are really about the service initialization so I have been ignoring them for my measurements. I used the first occurrence of indexing objects or the defragmenting whole search index entry as the starting time. In your example above, that's ~19s to index all objects.

@pwalczysko
Copy link
Member

pwalczysko commented Feb 21, 2023

@sbesson Could you advise on a case

  1. clean DB with the plate freshly imported
  2. DB where a plate was previously imported (the multi-...) into a fresh DB , then deleted, then another plate (the single...) was imported

It seems to me that as I did Ad 2. above, I am having approx. double indexing times than in case Ad 1. above.

2023-02-21 16:01:07,511 INFO  [                ome.services.blitz.Entry] (      main) Waiting 10000 ms on startup
2023-02-21 16:01:17,522 INFO  [                ome.services.blitz.Entry] (      main) Creating ome.fulltext. Please wait...
2023-02-21 16:01:18,504 INFO  [.s.ShutdownSafeEhcacheManagerFactoryBean] (      main) Initializing EhCache CacheManager
2023-02-21 16:01:19,171 INFO  [        ome.services.util.ReadOnlyStatus] (      main) read-only status: db=false, repo=false
2023-02-21 16:01:19,276 INFO  [  ome.services.fulltext.FullTextAnalyzer] (      main) Initialized FullTextAnalyzer
2023-02-21 16:01:22,795 INFO  [       ome.services.scheduler.ThreadPool] (      main) ThreadPool: normal=(#50, 5000ms), background=(#10, 3600000ms)
2023-02-21 16:01:22,930 INFO  [      ome.services.util.JvmSettingsCheck] (      main) Language,Country,Charset,Timezone: en,US,UTF-8,UTC
2023-02-21 16:01:22,930 INFO  [      ome.services.util.JvmSettingsCheck] (      main) Java version: 11.0.18; Linux; amd64; 3.10.0-1127.el7.x86_64
2023-02-21 16:01:22,931 INFO  [      ome.services.util.JvmSettingsCheck] (      main) Max Memory (MB):   =   2044
2023-02-21 16:01:22,931 INFO  [      ome.services.util.JvmSettingsCheck] (      main) OS Memory (MB):    =  19490
2023-02-21 16:01:22,931 INFO  [      ome.services.util.JvmSettingsCheck] (      main) Processors:        =      2
2023-02-21 16:01:23,005 INFO  [    ome.services.fulltext.FullTextBridge] (      main) Maximum fileset size: 10
2023-02-21 16:01:23,025 INFO  [  ome.services.fulltext.FullTextIndexer2] (      main) starting indexer
2023-02-21 16:01:23,100 WARN  [                          omero.security] (      main) trustStore property is empty, not setting
2023-02-21 16:01:23,102 WARN  [                          omero.security] (      main) trustStorePassword property is empty, not setting
2023-02-21 16:01:23,135 INFO  [         ome.services.util.TimeoutSetter] (      main) Query timeout set to 1000s for all users.
2023-02-21 16:01:23,319 INFO  [              ome.services.mail.MailUtil] (      main) JavaMail version is 1.6.2
2023-02-21 16:01:23,328 INFO  [        ome.services.db.DatabaseIdentity] (      main) Using LSID format: urn:lsid:export.openmicroscopy.org:%s:edbf7e90-541d-4abd-8048-965105a6bade_%s%s
2023-02-21 16:01:23,379 INFO  [    ome.services.fulltext.FullTextThread] (      main) Initializing Full-Text Indexer
2023-02-21 16:01:23,604 INFO  [      o.s.scheduler.SchedulerFactoryBean] (      main) Starting Quartz Scheduler now
2023-02-21 16:01:23,604 INFO  [    ome.tools.hibernate.ExtendedMetadata] (      main) Calculating ExtendedMetadata...
2023-02-21 16:01:24,314 INFO  [       ome.services.graphs.GraphPathBean] (      main) initialized graph path bean with 1291 properties
2023-02-21 16:01:24,380 INFO  [                ome.services.blitz.Entry] (      main) ome.fulltext now accepting connections.
2023-02-21 16:01:43,077 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) defragmenting whole search index
2023-02-21 16:01:43,502 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 240
2023-02-21 16:01:43,664 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 78
2023-02-21 16:01:43,732 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 36
2023-02-21 16:01:43,806 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 153
2023-02-21 16:01:43,867 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 27
2023-02-21 16:01:43,920 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-21 16:01:43,963 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-21 16:01:43,982 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-21 16:01:44,006 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-21 16:01:44,025 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-21 16:01:44,039 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-21 16:01:44,054 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-21 16:01:44,067 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-21 16:01:44,084 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-21 16:01:44,134 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-21 16:01:44,154 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-21 16:01:44,166 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-21 16:01:44,179 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-21 16:01:44,201 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-21 16:01:44,215 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-21 16:01:44,227 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-21 16:01:44,239 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-21 16:01:44,253 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-21 16:01:44,277 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-21 16:01:44,302 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-21 16:01:44,316 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-21 16:01:44,334 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-21 16:01:44,366 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-21 16:01:44,393 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-21 16:01:44,415 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-21 16:01:44,431 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-21 16:01:44,463 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 234
2023-02-21 16:01:44,507 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 208
2023-02-21 16:01:44,592 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 207
2023-02-21 16:01:44,626 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 208
2023-02-21 16:01:44,654 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 207
2023-02-21 16:01:44,677 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 208
2023-02-21 16:01:44,697 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 207
2023-02-21 16:01:44,718 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 208
2023-02-21 16:01:44,736 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 207
2023-02-21 16:01:44,759 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 208
2023-02-21 16:01:44,778 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 208
2023-02-21 16:01:44,800 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 207
2023-02-21 16:01:44,822 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 208
2023-02-21 16:01:44,843 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 207
2023-02-21 16:01:44,865 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 208
2023-02-21 16:01:44,890 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 207
2023-02-21 16:01:44,913 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 208
2023-02-21 16:01:44,945 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 207
2023-02-21 16:01:44,967 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 208
2023-02-21 16:01:44,989 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 207
2023-02-21 16:01:45,016 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 208
2023-02-21 16:01:45,031 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 207
2023-02-21 16:01:45,043 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 209
2023-02-21 16:01:45,059 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 207
2023-02-21 16:01:45,074 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 208
2023-02-21 16:01:45,085 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 207
2023-02-21 16:01:45,097 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 208
2023-02-21 16:01:45,111 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 207
2023-02-21 16:01:45,121 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 208
2023-02-21 16:01:45,138 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 207
2023-02-21 16:01:45,152 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 208
2023-02-21 16:01:45,164 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 207
2023-02-21 16:01:45,177 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 208
2023-02-21 16:01:45,188 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 207
2023-02-21 16:01:45,199 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 209
2023-02-21 16:01:45,210 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 207
2023-02-21 16:01:45,222 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 208
2023-02-21 16:01:45,233 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 207
2023-02-21 16:01:45,244 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 208
2023-02-21 16:01:45,257 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 207
2023-02-21 16:01:45,269 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 208
2023-02-21 16:01:45,285 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 207
2023-02-21 16:01:45,295 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 208
2023-02-21 16:01:45,304 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 207
2023-02-21 16:01:45,316 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 208
2023-02-21 16:01:45,325 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 207
2023-02-21 16:01:45,338 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 208
2023-02-21 16:01:45,355 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 208
2023-02-21 16:01:45,369 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 207
2023-02-21 16:01:45,383 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 208
2023-02-21 16:01:45,392 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 207
2023-02-21 16:01:45,401 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 208
2023-02-21 16:01:45,416 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 207
2023-02-21 16:01:45,436 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 208
2023-02-21 16:01:45,452 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 207
2023-02-21 16:01:45,475 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 208
2023-02-21 16:01:45,491 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 136
2023-02-21 16:01:45,514 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 128
2023-02-21 16:01:45,531 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 128
2023-02-21 16:01:45,541 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 128
2023-02-21 16:01:45,552 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 128
2023-02-21 16:01:45,573 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 128
2023-02-21 16:01:45,582 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 128
2023-02-21 16:01:45,591 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 128
2023-02-21 16:01:45,599 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 128
2023-02-21 16:01:45,608 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 128
2023-02-21 16:01:45,621 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 128
2023-02-21 16:01:45,630 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 128
2023-02-21 16:01:45,640 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 128
2023-02-21 16:01:45,653 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 128
2023-02-21 16:01:45,666 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 128
2023-02-21 16:01:45,674 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 128
2023-02-21 16:01:45,683 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 128
2023-02-21 16:01:45,703 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 128
2023-02-21 16:01:45,718 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 246
2023-02-21 16:01:45,756 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-21 16:01:45,775 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-21 16:01:45,791 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-21 16:01:45,802 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-21 16:01:45,809 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-21 16:01:45,818 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-21 16:01:45,828 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-21 16:01:45,841 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-21 16:01:45,857 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-21 16:01:45,869 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-21 16:01:45,884 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-21 16:01:45,896 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-21 16:01:45,906 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-21 16:01:45,915 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-21 16:01:45,923 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-21 16:01:45,931 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-21 16:01:45,943 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-21 16:01:45,951 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-21 16:01:45,958 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-21 16:01:45,969 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-21 16:01:45,988 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-21 16:01:46,008 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-21 16:01:46,018 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-21 16:01:46,031 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-21 16:01:46,050 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-21 16:01:46,064 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-21 16:01:46,076 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-21 16:01:46,087 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-21 16:01:46,098 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-21 16:01:46,118 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-21 16:01:46,129 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-21 16:01:46,142 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-21 16:01:46,152 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-21 16:01:46,162 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-21 16:01:46,174 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-21 16:01:46,219 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-21 16:01:46,257 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-21 16:01:46,275 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-21 16:01:46,287 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-21 16:01:46,300 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-21 16:01:46,321 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-21 16:01:46,337 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-21 16:01:46,347 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-21 16:01:46,358 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-21 16:01:46,369 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-21 16:01:46,402 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-21 16:01:46,423 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-21 16:01:46,432 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-21 16:01:46,460 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-21 16:01:46,467 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-21 16:01:46,474 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-21 16:01:46,481 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-21 16:01:46,495 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-21 16:01:46,502 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 26
2023-02-21 16:01:46,521 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 227
2023-02-21 16:01:46,709 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 256
2023-02-21 16:01:46,849 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) purging objects: count = 256
2023-02-21 16:01:47,010 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 256
2023-02-21 16:01:47,107 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 256
2023-02-21 16:01:47,195 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) purging objects: count = 256
2023-02-21 16:01:47,298 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) purging objects: count = 256
2023-02-21 16:01:47,370 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) purging objects: count = 256
2023-02-21 16:01:47,467 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 256
2023-02-21 16:01:47,547 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 256
2023-02-21 16:01:47,617 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) purging objects: count = 256
2023-02-21 16:01:47,689 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) purging objects: count = 256
2023-02-21 16:01:47,766 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) purging objects: count = 256
2023-02-21 16:01:47,833 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 256
2023-02-21 16:01:47,898 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 256
2023-02-21 16:01:47,965 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) purging objects: count = 256
2023-02-21 16:01:48,037 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 256
2023-02-21 16:01:48,103 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 256
2023-02-21 16:01:48,167 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) purging objects: count = 256
2023-02-21 16:01:48,232 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) purging objects: count = 256
2023-02-21 16:01:48,296 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) purging objects: count = 256
2023-02-21 16:01:48,360 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 256
2023-02-21 16:01:48,422 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 256
2023-02-21 16:01:48,487 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) purging objects: count = 256
2023-02-21 16:01:48,550 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) purging objects: count = 256
2023-02-21 16:01:48,614 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) purging objects: count = 256
2023-02-21 16:01:48,678 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 256
2023-02-21 16:01:48,742 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 256
2023-02-21 16:01:48,805 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) purging objects: count = 256
2023-02-21 16:01:48,867 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) purging objects: count = 256
2023-02-21 16:01:48,930 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) purging objects: count = 256
2023-02-21 16:01:48,992 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 256
2023-02-21 16:01:49,067 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) purging objects: count = 256
2023-02-21 16:01:49,129 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) purging objects: count = 256
2023-02-21 16:01:49,196 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) purging objects: count = 256
2023-02-21 16:01:49,257 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 256
2023-02-21 16:01:49,316 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 256
2023-02-21 16:01:49,375 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) purging objects: count = 256
2023-02-21 16:01:49,435 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) purging objects: count = 256
2023-02-21 16:01:49,493 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) purging objects: count = 256
2023-02-21 16:01:49,551 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 256
2023-02-21 16:01:49,621 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 256
2023-02-21 16:01:49,680 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) purging objects: count = 256
2023-02-21 16:01:49,738 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) purging objects: count = 256
2023-02-21 16:01:49,799 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) purging objects: count = 256
2023-02-21 16:01:49,857 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 256
2023-02-21 16:01:49,915 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 256
2023-02-21 16:01:49,973 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) purging objects: count = 256
2023-02-21 16:01:50,031 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 256
2023-02-21 16:01:50,087 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 256
2023-02-21 16:01:50,143 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) purging objects: count = 256
2023-02-21 16:01:50,199 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) purging objects: count = 256
2023-02-21 16:01:50,258 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) purging objects: count = 256
2023-02-21 16:01:50,316 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 256
2023-02-21 16:01:50,392 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 256
2023-02-21 16:01:50,448 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) purging objects: count = 256
2023-02-21 16:01:50,506 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) purging objects: count = 256
2023-02-21 16:01:50,561 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) purging objects: count = 256
2023-02-21 16:01:50,618 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 256
2023-02-21 16:01:50,682 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 256
2023-02-21 16:01:50,737 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) purging objects: count = 256
2023-02-21 16:01:50,792 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) purging objects: count = 256
2023-02-21 16:01:50,848 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) purging objects: count = 256
2023-02-21 16:01:50,904 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 256
2023-02-21 16:01:50,959 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 256
2023-02-21 16:01:51,017 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) purging objects: count = 256
2023-02-21 16:01:51,070 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 256
2023-02-21 16:01:51,128 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) purging objects: count = 256
2023-02-21 16:01:51,180 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) purging objects: count = 256
2023-02-21 16:01:51,234 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 256
2023-02-21 16:01:51,288 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) purging objects: count = 256
2023-02-21 16:01:51,342 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 256
2023-02-21 16:01:51,394 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) purging objects: count = 256
2023-02-21 16:01:51,448 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) purging objects: count = 256
2023-02-21 16:01:51,499 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 256
2023-02-21 16:01:51,551 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) purging objects: count = 256
2023-02-21 16:01:51,602 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 256
2023-02-21 16:01:51,659 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) purging objects: count = 256
2023-02-21 16:01:51,711 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) purging objects: count = 256
2023-02-21 16:01:51,762 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 256
2023-02-21 16:01:51,820 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) purging objects: count = 256
2023-02-21 16:01:51,872 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 256
2023-02-21 16:01:51,925 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) purging objects: count = 256
2023-02-21 16:01:51,978 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) purging objects: count = 256
2023-02-21 16:01:52,032 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 256
2023-02-21 16:01:52,083 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) purging objects: count = 256
2023-02-21 16:01:52,142 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) purging objects: count = 256
2023-02-21 16:01:52,193 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 256
2023-02-21 16:01:52,243 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) purging objects: count = 256
2023-02-21 16:01:52,296 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 256
2023-02-21 16:01:52,348 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) purging objects: count = 256
2023-02-21 16:01:52,399 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) purging objects: count = 256
2023-02-21 16:01:52,452 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 256
2023-02-21 16:01:52,501 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) purging objects: count = 256
2023-02-21 16:01:52,553 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 256
2023-02-21 16:01:52,610 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) purging objects: count = 256
2023-02-21 16:01:52,661 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 256
2023-02-21 16:01:52,711 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 256
2023-02-21 16:01:52,764 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) purging objects: count = 256
2023-02-21 16:01:52,813 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) purging objects: count = 256
2023-02-21 16:01:52,864 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) purging objects: count = 256
2023-02-21 16:01:52,912 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 256
2023-02-21 16:01:52,964 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 256
2023-02-21 16:01:53,021 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) purging objects: count = 256
2023-02-21 16:01:53,108 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 256
2023-02-21 16:01:53,188 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) purging objects: count = 256
2023-02-21 16:01:53,236 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) purging objects: count = 256
2023-02-21 16:01:53,314 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 256
2023-02-21 16:01:53,363 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) purging objects: count = 256
2023-02-21 16:01:53,413 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 256
2023-02-21 16:01:53,463 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) purging objects: count = 256
2023-02-21 16:01:53,512 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) purging objects: count = 256
2023-02-21 16:01:53,562 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 256
2023-02-21 16:01:53,617 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) purging objects: count = 256
2023-02-21 16:01:53,697 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 256
2023-02-21 16:01:53,749 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 256
2023-02-21 16:01:53,830 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 256
2023-02-21 16:01:53,895 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) purging objects: count = 256
2023-02-21 16:01:53,957 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 256
2023-02-21 16:01:54,010 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) purging objects: count = 256
2023-02-21 16:01:54,090 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) purging objects: count = 256
2023-02-21 16:01:54,139 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 256
2023-02-21 16:01:54,190 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) purging objects: count = 256
2023-02-21 16:01:54,238 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 256
2023-02-21 16:01:54,316 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) purging objects: count = 256
2023-02-21 16:01:54,395 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) purging objects: count = 256
2023-02-21 16:01:54,445 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 256
2023-02-21 16:01:54,493 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) purging objects: count = 256
2023-02-21 16:01:54,543 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 256
2023-02-21 16:01:54,592 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) purging objects: count = 256
2023-02-21 16:01:54,643 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) purging objects: count = 256
2023-02-21 16:01:54,697 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 256
2023-02-21 16:01:54,746 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) purging objects: count = 256
2023-02-21 16:01:54,796 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 256
2023-02-21 16:01:54,849 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) purging objects: count = 256
2023-02-21 16:01:54,900 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) purging objects: count = 256
2023-02-21 16:01:54,953 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 256
2023-02-21 16:01:55,008 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) purging objects: count = 256
2023-02-21 16:01:55,058 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 256
2023-02-21 16:01:55,118 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 256
2023-02-21 16:01:55,170 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) purging objects: count = 256
2023-02-21 16:01:55,225 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) purging objects: count = 256
2023-02-21 16:01:55,309 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) purging objects: count = 256
2023-02-21 16:01:55,364 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 256
2023-02-21 16:01:55,412 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 256
2023-02-21 16:01:55,471 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) purging objects: count = 256
2023-02-21 16:01:55,533 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) purging objects: count = 256
2023-02-21 16:01:55,589 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) purging objects: count = 256
2023-02-21 16:01:55,642 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 256
2023-02-21 16:01:55,721 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 256
2023-02-21 16:01:55,781 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 256
2023-02-21 16:01:55,835 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) purging objects: count = 256
2023-02-21 16:01:55,889 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) purging objects: count = 256
2023-02-21 16:01:55,946 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) purging objects: count = 256
2023-02-21 16:01:56,022 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 70
2023-02-21 16:01:56,222 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) purging objects: count = 174
2023-02-21 16:01:56,551 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 214
2023-02-21 16:01:56,676 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 215
2023-02-21 16:01:56,784 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 214
2023-02-21 16:01:56,947 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 215
2023-02-21 16:01:57,036 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 214
2023-02-21 16:01:57,107 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 215
2023-02-21 16:01:57,176 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 214
2023-02-21 16:01:57,264 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 215
2023-02-21 16:01:57,331 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 214
2023-02-21 16:01:57,385 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 215
2023-02-21 16:01:57,464 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 214
2023-02-21 16:01:57,528 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 215
2023-02-21 16:01:57,584 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 214
2023-02-21 16:01:57,644 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 215
2023-02-21 16:01:57,712 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 214
2023-02-21 16:01:57,780 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 215
2023-02-21 16:01:57,859 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 214
2023-02-21 16:01:57,972 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 215
2023-02-21 16:01:58,143 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 214
2023-02-21 16:01:58,188 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 214
2023-02-21 16:01:58,249 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 215
2023-02-21 16:01:58,317 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 214
2023-02-21 16:01:58,374 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 215
2023-02-21 16:01:58,426 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 214
2023-02-21 16:01:58,494 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 215
2023-02-21 16:01:58,550 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 214
2023-02-21 16:01:58,599 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 215
2023-02-21 16:01:58,653 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 214
2023-02-21 16:01:58,715 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 215
2023-02-21 16:01:58,776 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 214
2023-02-21 16:01:58,826 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 215
2023-02-21 16:01:58,885 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 214
2023-02-21 16:01:58,937 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 215
2023-02-21 16:01:58,983 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 214
2023-02-21 16:01:59,037 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 215
2023-02-21 16:01:59,103 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 214
2023-02-21 16:01:59,152 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 215
2023-02-21 16:01:59,208 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 214
2023-02-21 16:01:59,276 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 215
2023-02-21 16:01:59,324 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 214
2023-02-21 16:01:59,374 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 215
2023-02-21 16:01:59,422 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 214
2023-02-21 16:01:59,478 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 215
2023-02-21 16:01:59,517 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 214
2023-02-21 16:01:59,576 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 215
2023-02-21 16:01:59,631 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 214
2023-02-21 16:01:59,674 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 215
2023-02-21 16:01:59,715 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 214
2023-02-21 16:01:59,763 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 215
2023-02-21 16:01:59,819 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 214
2023-02-21 16:01:59,863 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 215
2023-02-21 16:01:59,914 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 214
2023-02-21 16:01:59,978 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 215
2023-02-21 16:02:00,027 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 214
2023-02-21 16:02:00,073 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 215
2023-02-21 16:02:00,161 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 245
2023-02-21 16:02:00,815 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-21 16:02:01,623 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-21 16:02:02,337 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-21 16:02:03,061 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-21 16:02:03,783 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-21 16:02:04,478 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-21 16:02:05,167 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-21 16:02:05,844 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-21 16:02:06,510 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-21 16:02:07,168 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-21 16:02:07,865 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-21 16:02:08,558 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-21 16:02:09,235 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-21 16:02:09,933 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-21 16:02:10,603 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-21 16:02:11,261 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-21 16:02:11,954 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-21 16:02:12,619 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-21 16:02:12,850 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-21 16:02:12,875 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-21 16:02:12,897 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-21 16:02:12,919 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-21 16:02:12,944 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 109
2023-02-21 16:02:12,962 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 39
2023-02-21 16:02:12,983 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 171
2023-02-21 16:02:13,004 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 24
2023-02-21 16:02:13,019 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-21 16:02:13,035 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-21 16:02:13,048 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-21 16:02:13,062 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 136

Hence, is Ad 2. a valid test ? If no, this seems interesting - is there something left behind after deletion ?

@sbesson
Copy link
Member Author

sbesson commented Feb 22, 2023

The indexer logic uses the eventlog table and goes chronologically through the series of DB events (inserts,deletes,updates). In the Indexer logs, you can entries indicated that objects are being inserted, then purged, then inserted into the index. This corresponds to your sequence of events in terms of import.

The increase of the indexing time is definitely expecting. I haven't evaluated how the indexing time of a deleted plate correlates with a non-deleted plate and the two-fold factor might be largely a coincidence.

@pwalczysko
Copy link
Member

With a fresh DB, with this PR, with the single plate:

2023-02-22 12:14:22,784 INFO  [                ome.services.blitz.Entry] (      main) Waiting 10000 ms on startup
2023-02-22 12:14:32,794 INFO  [                ome.services.blitz.Entry] (      main) Creating ome.fulltext. Please wait...
2023-02-22 12:14:33,652 INFO  [.s.ShutdownSafeEhcacheManagerFactoryBean] (      main) Initializing EhCache CacheManag2023-02-22 12:14:33,652 INFO  [.s.ShutdownSafeEhcacheManagerFactoryBean] (      main) Initializing EhCache CacheManag2023-02-22 12:14:33,652 INFO  [.s.ShutdownSafeEhcacheManagerFactoryBean] (      main) Initializing EhCache CacheManag2023-02-22 12:14:33,652 INFO  [.s.ShutdownSafeEhcacheManagerFactoryBean] (      main) Initializing EhCache CacheManag2023-02-22 12:14:33,652 INFO  [.s.ShutdownSafeEhcacheManagerFactoryBean] (      main) Initializing EhCache CacheManager
2023-02-22 12:14:34,298 INFO  [        ome.services.util.ReadOnlyStatus] (      main) read-only status: db=false, repo=false
2023-02-22 12:14:34,388 INFO  [  ome.services.fulltext.FullTextAnalyzer] (      main) Initialized FullTextAnalyzer
2023-02-22 12:14:37,790 INFO  [       ome.services.scheduler.ThreadPool] (      main) ThreadPool: normal=(#50, 5000ms), background=(#10, 3600000ms)
2023-02-22 12:14:37,930 INFO  [      ome.services.util.JvmSettingsCheck] (      main) Language,Country,Charset,Timezone: en,US,UTF-8,UTC
2023-02-22 12:14:37,930 INFO  [      ome.services.util.JvmSettingsCheck] (      main) Java version: 11.0.18; Linux; amd64; 3.10.0-1127.el7.x86_64
2023-02-22 12:14:37,930 INFO  [      ome.services.util.JvmSettingsCheck] (      main) Max Memory (MB):   =   2044
2023-02-22 12:14:37,930 INFO  [      ome.services.util.JvmSettingsCheck] (      main) OS Memory (MB):    =  19490
2023-02-22 12:14:37,931 INFO  [      ome.services.util.JvmSettingsCheck] (      main) Processors:        =      2
2023-02-22 12:14:38,011 INFO  [    ome.services.fulltext.FullTextBridge] (      main) Maximum fileset size: 10
2023-02-22 12:14:38,027 INFO  [  ome.services.fulltext.FullTextIndexer2] (      main) starting indexer
2023-02-22 12:14:38,104 WARN  [                          omero.security] (      main) trustStore property is empty, not setting
2023-02-22 12:14:38,104 WARN  [                          omero.security] (      main) trustStorePassword property is empty, not setting
2023-02-22 12:14:38,138 INFO  [         ome.services.util.TimeoutSetter] (      main) Query timeout set to 1000s for all users.
2023-02-22 12:14:38,319 INFO  [              ome.services.mail.MailUtil] (      main) JavaMail version is 1.6.2
2023-02-22 12:14:38,329 INFO  [        ome.services.db.DatabaseIdentity] (      main) Using LSID format: urn:lsid:export.openmicroscopy.org:%s:c28122ef-6141-401a-9839-7091f9880a3c_%s%s
2023-02-22 12:14:38,373 INFO  [    ome.services.fulltext.FullTextThread] (      main) Initializing Full-Text Indexer
2023-02-22 12:14:38,552 INFO  [      o.s.scheduler.SchedulerFactoryBean] (      main) Starting Quartz Scheduler now
2023-02-22 12:14:38,553 INFO  [    ome.tools.hibernate.ExtendedMetadata] (      main) Calculating ExtendedMetadata...
2023-02-22 12:14:39,299 INFO  [       ome.services.graphs.GraphPathBean] (      main) initialized graph path bean with 1291 properties
2023-02-22 12:14:39,363 INFO  [                ome.services.blitz.Entry] (      main) ome.fulltext now accepting connections.
2023-02-22 12:14:58,086 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) defragmenting whole search index
2023-02-22 12:14:58,404 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 240
2023-02-22 12:14:58,540 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 78
2023-02-22 12:14:58,615 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 36
2023-02-22 12:14:58,727 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 134
2023-02-22 12:14:59,026 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 27
2023-02-22 12:14:59,180 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 215
2023-02-22 12:14:59,376 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 214
2023-02-22 12:14:59,571 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 215
2023-02-22 12:14:59,765 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 214
2023-02-22 12:14:59,883 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 215
2023-02-22 12:14:59,973 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 214
2023-02-22 12:15:00,062 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 215
2023-02-22 12:15:00,162 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 214
2023-02-22 12:15:00,249 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 215
2023-02-22 12:15:00,371 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 214
2023-02-22 12:15:00,471 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 214
2023-02-22 12:15:00,553 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 215
2023-02-22 12:15:00,637 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 214
2023-02-22 12:15:00,720 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 215
2023-02-22 12:15:00,811 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 214
2023-02-22 12:15:00,900 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 215
2023-02-22 12:15:00,987 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 214
2023-02-22 12:15:01,089 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 215
2023-02-22 12:15:01,169 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 214
2023-02-22 12:15:01,245 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 215
2023-02-22 12:15:01,324 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 214
2023-02-22 12:15:01,407 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 215
2023-02-22 12:15:01,478 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 214
2023-02-22 12:15:01,556 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 215
2023-02-22 12:15:01,647 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 214
2023-02-22 12:15:01,714 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 215
2023-02-22 12:15:01,772 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 214
2023-02-22 12:15:01,837 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 215
2023-02-22 12:15:01,919 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 214
2023-02-22 12:15:02,016 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 215
2023-02-22 12:15:02,073 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 214
2023-02-22 12:15:02,136 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 215
2023-02-22 12:15:02,196 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 214
2023-02-22 12:15:02,262 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 215
2023-02-22 12:15:02,327 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 214
2023-02-22 12:15:02,399 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 215
2023-02-22 12:15:02,458 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 214
2023-02-22 12:15:02,523 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 215
2023-02-22 12:15:02,590 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 214
2023-02-22 12:15:02,649 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 215
2023-02-22 12:15:02,699 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 214
2023-02-22 12:15:02,772 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 215
2023-02-22 12:15:02,832 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 214
2023-02-22 12:15:02,880 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 215
2023-02-22 12:15:02,933 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 214
2023-02-22 12:15:03,002 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 215
2023-02-22 12:15:03,056 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 214
2023-02-22 12:15:03,097 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 214
2023-02-22 12:15:03,160 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 215
2023-02-22 12:15:03,216 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 214
2023-02-22 12:15:03,304 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 215
2023-02-22 12:15:03,357 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 214
2023-02-22 12:15:03,421 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 215
2023-02-22 12:15:03,474 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 214
2023-02-22 12:15:03,523 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 215
2023-02-22 12:15:03,601 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 253
2023-02-22 12:15:04,345 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-22 12:15:05,187 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-22 12:15:05,948 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-22 12:15:06,687 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-22 12:15:07,467 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-22 12:15:08,158 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-22 12:15:08,839 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-22 12:15:09,507 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-22 12:15:10,175 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-22 12:15:10,790 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-22 12:15:11,452 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-22 12:15:12,096 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-22 12:15:12,762 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-22 12:15:13,419 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-22 12:15:14,084 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-22 12:15:14,751 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-22 12:15:15,412 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-22 12:15:16,024 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-22 12:15:16,165 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-22 12:15:16,204 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-22 12:15:16,251 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-22 12:15:16,277 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-22 12:15:16,294 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 255
2023-02-22 12:15:16,337 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-22 12:15:16,368 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-22 12:15:16,394 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-22 12:15:16,413 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 187

This is 12:15:16 - 12:14:58 which makes 18 secs. This matches the reindexing time for the multi plate.

@pwalczysko
Copy link
Member

pwalczysko commented Feb 22, 2023

On release server, without this PR, on single plate I have

2023-02-22 15:20:05,357 INFO  [                ome.services.blitz.Entry] (      main) Waiting 10000 ms on startup
2023-02-22 15:20:15,378 INFO  [                ome.services.blitz.Entry] (      main) Creating ome.fulltext. Please wait...
2023-02-22 15:20:17,205 INFO  [.s.ShutdownSafeEhcacheManagerFactoryBean] (      main) Initializing EhCache CacheManager
2023-02-22 15:20:18,564 INFO  [        ome.services.util.ReadOnlyStatus] (      main) read-only status: db=false, repo=false
2023-02-22 15:20:18,832 INFO  [  ome.services.fulltext.FullTextAnalyzer] (      main) Initialized FullTextAnalyzer
2023-02-22 15:20:26,048 INFO  [       ome.services.scheduler.ThreadPool] (      main) ThreadPool: normal=(#50, 5000ms), background=(#10, 3600000ms)
2023-02-22 15:20:26,327 INFO  [      ome.services.util.JvmSettingsCheck] (      main) Language,Country,Charset,Timezone: en,US,UTF-8,UTC
2023-02-22 15:20:26,327 INFO  [      ome.services.util.JvmSettingsCheck] (      main) Java version: 11.0.18; Linux; amd64; 3.10.0-1127.el7.x86_64
2023-02-22 15:20:26,328 INFO  [      ome.services.util.JvmSettingsCheck] (      main) Max Memory (MB):   =   2044
2023-02-22 15:20:26,328 INFO  [      ome.services.util.JvmSettingsCheck] (      main) OS Memory (MB):    =  19490
2023-02-22 15:20:26,329 INFO  [      ome.services.util.JvmSettingsCheck] (      main) Processors:        =      2
2023-02-22 15:20:26,512 INFO  [  ome.services.fulltext.FullTextIndexer2] (      main) starting indexer
2023-02-22 15:20:26,683 WARN  [                          omero.security] (      main) trustStore property is empty, not setting
2023-02-22 15:20:26,684 WARN  [                          omero.security] (      main) trustStorePassword property is empty, not setting
2023-02-22 15:20:26,760 INFO  [         ome.services.util.TimeoutSetter] (      main) Query timeout set to 1000s for all users.
2023-02-22 15:20:27,120 INFO  [              ome.services.mail.MailUtil] (      main) JavaMail version is 1.6.2
2023-02-22 15:20:27,142 INFO  [        ome.services.db.DatabaseIdentity] (      main) Using LSID format: urn:lsid:export.openmicroscopy.org:%s:a808fb91-efec-4c8f-8a72-0a19bc3d39b2_%s%s
2023-02-22 15:20:27,293 INFO  [    ome.services.fulltext.FullTextThread] (      main) Initializing Full-Text Indexer
2023-02-22 15:20:27,659 INFO  [      o.s.scheduler.SchedulerFactoryBean] (      main) Starting Quartz Scheduler now
2023-02-22 15:20:27,659 INFO  [    ome.tools.hibernate.ExtendedMetadata] (      main) Calculating ExtendedMetadata...
2023-02-22 15:20:28,845 INFO  [       ome.services.graphs.GraphPathBean] (      main) initialized graph path bean with 1291 properties
2023-02-22 15:20:28,971 INFO  [                ome.services.blitz.Entry] (      main) ome.fulltext now accepting connections.
2023-02-22 15:20:46,586 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) defragmenting whole search index
2023-02-22 15:20:47,239 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 240
2023-02-22 15:20:47,536 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 74
2023-02-22 15:20:47,653 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 38
2023-02-22 15:20:47,854 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 169
2023-02-22 15:20:48,576 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 16
2023-02-22 15:20:48,788 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 215
2023-02-22 15:20:49,130 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 214
2023-02-22 15:20:49,456 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 215
2023-02-22 15:20:49,909 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 214
2023-02-22 15:20:50,105 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 214
2023-02-22 15:20:50,384 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 215
2023-02-22 15:20:50,552 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 214
2023-02-22 15:20:50,741 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 215
2023-02-22 15:20:50,916 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 214
2023-02-22 15:20:51,102 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 215
2023-02-22 15:20:51,304 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 214
2023-02-22 15:20:51,464 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 215
2023-02-22 15:20:51,602 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 214
2023-02-22 15:20:51,804 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 215
2023-02-22 15:20:51,963 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 214
2023-02-22 15:20:52,112 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 215
2023-02-22 15:20:52,276 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 214
2023-02-22 15:20:52,459 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 215
2023-02-22 15:20:52,615 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 214
2023-02-22 15:20:52,745 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 215
2023-02-22 15:20:52,905 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 214
2023-02-22 15:20:53,050 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 215
2023-02-22 15:20:53,180 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 214
2023-02-22 15:20:53,379 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 215
2023-02-22 15:20:53,552 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 214
2023-02-22 15:20:53,677 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 215
2023-02-22 15:20:53,788 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 214
2023-02-22 15:20:53,921 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 215
2023-02-22 15:20:54,037 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 214
2023-02-22 15:20:54,167 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 215
2023-02-22 15:20:54,300 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 214
2023-02-22 15:20:54,434 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 215
2023-02-22 15:20:54,557 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 214
2023-02-22 15:20:54,664 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 215
2023-02-22 15:20:54,799 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 214
2023-02-22 15:20:54,916 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 215
2023-02-22 15:20:55,016 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 214
2023-02-22 15:20:55,134 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 215
2023-02-22 15:20:55,275 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 214
2023-02-22 15:20:55,392 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 215
2023-02-22 15:20:55,499 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 214
2023-02-22 15:20:55,680 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 214
2023-02-22 15:20:55,816 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 215
2023-02-22 15:20:55,917 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 214
2023-02-22 15:20:56,027 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 215
2023-02-22 15:20:56,143 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 214
2023-02-22 15:20:56,236 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 215
2023-02-22 15:20:56,333 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 214
2023-02-22 15:20:56,462 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 215
2023-02-22 15:20:56,563 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 214
2023-02-22 15:20:56,668 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 215
2023-02-22 15:20:56,775 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 214
2023-02-22 15:20:56,894 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 215
2023-02-22 15:20:56,980 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 214
2023-02-22 15:20:57,087 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 221
2023-02-22 15:20:57,543 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-22 15:20:59,391 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-22 15:21:01,101 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-22 15:21:02,609 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-22 15:21:04,128 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-22 15:21:05,922 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-22 15:21:07,382 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-22 15:21:08,833 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-22 15:21:10,229 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-22 15:21:11,646 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-22 15:21:13,150 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-22 15:21:14,545 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-22 15:21:16,052 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-22 15:21:17,488 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-22 15:21:19,207 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-22 15:21:20,640 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-22 15:21:22,054 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-22 15:21:23,453 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-22 15:21:24,734 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-22 15:21:24,823 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-22 15:21:24,862 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-22 15:21:24,902 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-22 15:21:24,954 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-22 15:21:25,007 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-22 15:21:25,043 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-22 15:21:25,077 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-22 15:21:25,110 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-22 15:21:25,139 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-22 15:21:25,172 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-22 15:21:25,210 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-22 15:21:25,240 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-22 15:21:25,265 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-22 15:21:25,298 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-22 15:21:25,332 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-22 15:21:25,363 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-22 15:21:25,388 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-22 15:21:25,410 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-22 15:21:25,438 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-22 15:21:25,469 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-22 15:21:25,495 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-22 15:21:25,522 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-22 15:21:25,547 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-22 15:21:25,574 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-22 15:21:25,606 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-22 15:21:25,644 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-22 15:21:25,670 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-22 15:21:25,698 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-22 15:21:25,721 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-22 15:21:25,749 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-22 15:21:25,776 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-22 15:21:25,800 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-22 15:21:25,836 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-22 15:21:25,864 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-22 15:21:25,891 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-22 15:21:25,922 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-22 15:21:25,963 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-22 15:21:25,990 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-22 15:21:26,023 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-22 15:21:26,048 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-22 15:21:26,070 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-22 15:21:26,096 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-22 15:21:26,118 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-22 15:21:26,142 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-22 15:21:26,212 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-22 15:21:26,255 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-22 15:21:26,294 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-22 15:21:26,342 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-02-22 15:21:26,377 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-02-22 15:21:26,422 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-02-22 15:21:26,448 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-02-22 15:21:26,483 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-02-22 15:21:26,500 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 227

This is 15:21:26 minus 15:20:47 which is 39 sec.

@pwalczysko
Copy link
Member

Single File Plate Multi File Plate
Release server 39 sec ca 170 sec
This PR : CI artifact server 18 sec 19 sec

Based on the benchmarking summary above, lgtm.

this.files = files;
this.parsers = parsers;
this.classes = bridgeClasses == null ? new Class[] {} : bridgeClasses;
this.maxFilesetSize = maxFilesetSize;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

default in the constructor above is set to 1.
This could allow to pass any value including negative one. Maybe add a check

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you and/or anyone else who was involved in the initial review of the feature foresee a situation where someone would like to preserve the current behavior i.e. index all files in a fileset irrespectively of its size?

If so, -1 (or any negative value?) could be used as a mechanism to skip the fileset size check, with all associated warnings re performance implications. Otherwise, I can make this default to 1 if it's negative.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wasn't involved in the initial review or discussion around the feature back in late 2019. However, purely from a technical perspective I can see justification for leaving this open ended. If we add range checks here in the constructor they will apply to all subclasses and that seems like a bad design decision. There are other ways of doing this with Spring such as using properties rather than constructor arguments but I don't know if that's needed here.

@chris-allan
Copy link
Member

Sorry for coming in late.

certainly the logic "if an insane number of files, only index the first" feels better than "if an insane number of files, index nothing".

I don't feel particularly strongly about it but is this actually better from a user perspective?

The decision to index Fileset and FilesetEntry back in #57 has already created the potential for unintended values to be in the fields of the Image search index because they happen to be in Fileset.templatePrefix or FilesetEntry.clientPath. Neither of those values are under user control or can be easily changed, and both IMO have a high likelihood to be filled with junk. Furthermore, for a multi-Image Fileset these values are added to the document of every Image which may or may not make sense. Explaining why an Image does or does not match search criteria to users is already hard. Does having an administrator set, system wide default limit here greater than 1 not just make that even harder? And deciding to always index the first X number even harder still?

Maybe @pwalczysko, @erindiel, @emilroz, and @muhanadz can share their experience in communicating these concepts to users to help us make a good decision here.

Co-authored-by: jean-marie burel <j.burel@dundee.ac.uk>
@pwalczysko
Copy link
Member

Thank you @chris-allan for the heads up. My initial assumption here was that the search results will not change and that for example searching for a dv image which is associated with a fileset where there are 2 files would give the same results as without this PR, i.e. such image would be found.

But reading @chris-allan comment, and re-reading the header of the PR

The default value is arbitrarily set to 1 i.e. only single-file filesets will be indexed but is up for discussion.

I seem to lean to an understanding that the fileset with the dv image will not be indexed. The question here is what does that mean for the image object, which is what the user would typically search for.
I tested on merge-ci an import of a dv file https://merge-ci.openmicroscopy.org/web/webclient/?show=image-257966 - this was imho immediately indexed and I could very quickly find that image searching for a term satecek, which is a part of the Image name. The image was found as expected.

Hence my questions:

Could you please clarify how the example above is affected (is expected to be affected) by the present PR ? What entries in the fileset would a hypothetical user be interested in ? The motivation of this comment is:

  1. if the dv in the example above should not be found by the search I suggest, I would recommend to revise the PR accordingly
  2. if the impact of this PR is limited to indexing filesets only, then would you please come up with an example which is showing the limitation imposed by this PR ?

Thank you

Copy link
Member

@pwalczysko pwalczysko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please address #156 (comment) questions. Happy to have a call if necessary.

@sbesson
Copy link
Member Author

sbesson commented Feb 24, 2023

@pwalczysko this change only affects the fileset indexing. The example from the original PR (#57 (comment)) was to import /tmp/abc/def.fake and search image by abc. This should return a result since abc is in the clientPath.

With this PR, if you were to have a fileset composed of a dv + log file under /tmp/abc and set the maximum fileset limit to 1, I would expect searching images with abc would no longer return the imported image. Should I push an additional commit to set the default back to 1 for testing this scenario?

@pwalczysko
Copy link
Member

Should I push an additional commit to set the default back to 1 for testing this scenario?

No, thank you, I don't think this necessary. I was able to repeat the scenario you kindly suggested by importing a plate https://merge-ci.openmicroscopy.org/web/webclient/?show=plate-66055 from a local path containing the term satecek - I am not able to find the plate using the satecek term, but I am finding the dv in my previous example, ie. I am seeing the effect of the cutoff which is at 10 at present I believe.
I can also conclude that the images inside the https://merge-ci.openmicroscopy.org/web/webclient/?show=plate-66055 plate are findable by their names, which is the main usecase I was confronted with in the field.

In total, thank you for these examples and explanations, I am not worried anymore about the user experience, the performance win far outweights a confusion (if any). The main question users ask is where in the metadata was the term found ? Which is not something our clients give answer to. The simple user will get stopped on this stage, and the more advanced user can get the explanation as per this PR, of course in much deeper and slower conversation.
I think the PR gives a nice tooling to configure your server to the needs of the users. Admittedly, vast majority of the users I see do not work with plates (this is also a good reason for me being calm here).

Suggested actions:

  1. Update the header of this PR to reflect that the default limit is now 10, not 1

@muhanadz
Copy link
Member

Thanks for the work on this. Weighing in, from my experience in a few sessions with non technical users, it is fairly challenging to explain unexpected search results, such as matches from key-value pair or OMERO tables, and training them to use appropriate filters to narrow down those results.
I would second @chris-allan as I can imagine and increased difficulty in search result clarity if search returns results from fileset indexing such as clientPath. In addition, I know a few user’s workflows where they use search to filter for certain key-value pairs across >200 images, and in their examples, a clientPath actually contains keys that a user WOULDN’T want indexed.

@joshmoore
Copy link
Member

chris-allan commented last week:

certainly the logic "if an insane number of files, only index the first" feels better than "if an insane number of files, index nothing".

I don't feel particularly strongly about it but is this actually better from a user perspective?

I think your question, @chris-allan, is whether or not to do this at all which matches @muhanadz' sentiments. But if we are doing it anywhere, then I think it is more consistent to do it for some of the large filesets rather than none which is hard to explain. I'd suggest we move the larger question elsewhere.

@jburel
Copy link
Member

jburel commented Mar 7, 2023

@joshmoore anything more from your side? Okay to merge and release?

@joshmoore
Copy link
Member

It seems #156 (comment) is still unresolved.

@sbesson
Copy link
Member Author

sbesson commented Mar 7, 2023

In the absence of requested changes, I was working under the assumption that the state of this PR was a good first step to address the outstanding issue of the broken indexer for HCS deployments and that the discussion was expected to be moved elsewhere.

If there is still an outstanding action that prevents this from getting merged, let's be more specific. At the moment, this introduces a hard cut-off based on the fileset size. In terms of the behavior, I see three possibilities:

  1. for filesets above the cut-off, do not index any fileset metadata (current implementation)
  2. for filesets above the cut-off, only index the first fileset entry
  3. for filesets above the cut-off, only index a number of fileset entries equal to the cut-off

Writing these down, I certainly feel that 2. is the hardest to communicate, so i would propose discard it. @jburel @joshmoore @pwalczysko are you proposing we implement option 3? If so, I can push a commit today and this should be ready for final review tomorrow.

Note that in the use case where having the fileset metadata in the search index is not desirable (as described by @muhanadz) above, setting omero.search.max_fileset_size to 0 should be equivalent to skipping the fileset indexing in all scenarios.

@joshmoore
Copy link
Member

are you proposing we implement option 3?

My order of preference would be: 3 > 2 > 1, since I find the current implementation harder to communicate. 👍 for having an option to disable.

@pwalczysko
Copy link
Member

are you proposing we implement option 3

No, I was in favor of option 1. Afai understand it, only option 1 means not to do any more changes here, and this is what I am for. Option 3. is I think attractive because it does feel somewhat more thourough than option 1, but, option 3 is imho not easier to explain than 1, rather the opposite, if a mental state of a UI-bound user is considered - imho, such user will drop the effort to understand (any) indexing concepts much earlier than anticipated in this discussion.

On a practical level, please consider that in case a retest of the benchmarking #156 (comment) is asked for, either a long wait or some splitting of the burden between the reviewers should be considered. The #156 (comment) was neither easy nor a short task.

@sbesson
Copy link
Member Author

sbesson commented Mar 7, 2023

As discussed at the weekly meeting, pushed additional changes to implement behavior 3 as described in #156 (comment). 6d8d975 also modifies the injection to use a property rather than an additional constructor argument and simplify the code diff.

Tested the last commit by importing the multi-file BBBC017 plate and re-indexing the database with various values of omero.search.max_fileset_size (note the server must be restarted for every configuration change):

  • with the default configuration, omero search Image "\"field_N\"" should return results up to N=8 and no results for higher values of N
  • when setting omero.search.max_fileset_size to M, the same search command should return results for values of N up to M-2 and none for higher values. This is because the fileset entry is the companion file and the TIFF file are 0-indexed
  • when setting omero.search.max_fileset_size to 0, the command above should return no result independently of the value of N

@pwalczysko
Copy link
Member

pwalczysko commented Mar 8, 2023

With default config, and whilst searches for ""field_N"" where N = 0,1,...8 returned results, I have

(venv3) [omero-server@esx-vdi-06 ~]$ omero search Image "\"field_9\""
Using session for root@localhost:4064. Idle timeout: 10 min. Current group: system
No results found.

Edit: This is so also with the new commit db7a913 included.

@pwalczysko
Copy link
Member

Reindexing speed with the last commit included, on the multi-plate

2023-03-07 21:17:58,664 INFO  [                ome.services.blitz.Entry] (      main) Finished shutdown.
2023-03-07 21:18:42,934 INFO  [                ome.services.blitz.Entry] (      main) Waiting 10000 ms on startup
2023-03-07 21:18:52,938 INFO  [                ome.services.blitz.Entry] (      main) Creating ome.fulltext. Please wait...
2023-03-07 21:18:53,987 INFO  [.s.ShutdownSafeEhcacheManagerFactoryBean] (      main) Initializing EhCache CacheManager
2023-03-07 21:18:54,675 INFO  [        ome.services.util.ReadOnlyStatus] (      main) read-only status: db=false, repo=false
2023-03-07 21:18:54,797 INFO  [  ome.services.fulltext.FullTextAnalyzer] (      main) Initialized FullTextAnalyzer
2023-03-07 21:18:58,471 INFO  [       ome.services.scheduler.ThreadPool] (      main) ThreadPool: normal=(#50, 5000ms), background=(#10, 3600000ms)
2023-03-07 21:18:58,621 INFO  [      ome.services.util.JvmSettingsCheck] (      main) Language,Country,Charset,Timezone: en,US,UTF-8,UTC
2023-03-07 21:18:58,621 INFO  [      ome.services.util.JvmSettingsCheck] (      main) Java version: 11.0.18; Linux; amd64; 3.10.0-1127.el7.x86_64
2023-03-07 21:18:58,621 INFO  [      ome.services.util.JvmSettingsCheck] (      main) Max Memory (MB):   =   2044
2023-03-07 21:18:58,621 INFO  [      ome.services.util.JvmSettingsCheck] (      main) OS Memory (MB):    =  19490
2023-03-07 21:18:58,622 INFO  [      ome.services.util.JvmSettingsCheck] (      main) Processors:        =      2
2023-03-07 21:18:58,724 INFO  [    ome.services.fulltext.FullTextBridge] (      main) Setting maximum fileset size to 10
2023-03-07 21:18:58,744 INFO  [  ome.services.fulltext.FullTextIndexer2] (      main) starting indexer
2023-03-07 21:18:58,832 WARN  [                          omero.security] (      main) trustStore property is empty, not setting
2023-03-07 21:18:58,833 WARN  [                          omero.security] (      main) trustStorePassword property is empty, not setting
2023-03-07 21:18:58,872 INFO  [         ome.services.util.TimeoutSetter] (      main) Query timeout set to 1000s for all users.
2023-03-07 21:18:59,045 INFO  [              ome.services.mail.MailUtil] (      main) JavaMail version is 1.6.2
2023-03-07 21:18:59,052 INFO  [        ome.services.db.DatabaseIdentity] (      main) Using LSID format: urn:lsid:export.openmicroscopy.org:%s:ddb3da11-0a42-4b08-9a8a-86d145e68de8_%s%s
2023-03-07 21:18:59,091 INFO  [    ome.services.fulltext.FullTextThread] (      main) Initializing Full-Text Indexer
2023-03-07 21:18:59,267 INFO  [      o.s.scheduler.SchedulerFactoryBean] (      main) Starting Quartz Scheduler now
2023-03-07 21:18:59,268 INFO  [    ome.tools.hibernate.ExtendedMetadata] (      main) Calculating ExtendedMetadata...
2023-03-07 21:19:00,053 INFO  [       ome.services.graphs.GraphPathBean] (      main) initialized graph path bean with 1291 properties
2023-03-07 21:19:00,117 INFO  [                ome.services.blitz.Entry] (      main) ome.fulltext now accepting connections.
2023-03-07 21:19:18,799 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) defragmenting whole search index
2023-03-07 21:19:19,124 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 240
2023-03-07 21:19:19,331 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 78
2023-03-07 21:19:19,422 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) purging objects: count = 36
2023-03-07 21:19:19,497 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 153
2023-03-07 21:19:19,611 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 27
2023-03-07 21:19:19,643 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-03-07 21:19:19,714 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-03-07 21:19:19,761 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-03-07 21:19:19,824 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-03-07 21:19:19,878 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-03-07 21:19:19,919 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-03-07 21:19:19,967 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-03-07 21:19:20,016 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-03-07 21:19:20,051 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-03-07 21:19:20,154 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-03-07 21:19:20,196 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-03-07 21:19:20,227 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-03-07 21:19:20,264 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-03-07 21:19:20,342 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-03-07 21:19:20,366 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-03-07 21:19:20,387 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-03-07 21:19:20,408 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-03-07 21:19:20,429 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 202
2023-03-07 21:19:20,463 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 128
2023-03-07 21:19:20,497 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 128
2023-03-07 21:19:20,519 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 128
2023-03-07 21:19:20,541 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 128
2023-03-07 21:19:20,562 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 128
2023-03-07 21:19:20,582 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 128
2023-03-07 21:19:20,607 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 128
2023-03-07 21:19:20,624 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 128
2023-03-07 21:19:20,644 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 128
2023-03-07 21:19:20,661 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 128
2023-03-07 21:19:20,679 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 128
2023-03-07 21:19:20,695 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 128
2023-03-07 21:19:20,712 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 128
2023-03-07 21:19:20,727 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 128
2023-03-07 21:19:20,742 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 128
2023-03-07 21:19:20,758 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 128
2023-03-07 21:19:20,772 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 128
2023-03-07 21:19:20,808 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 165
2023-03-07 21:19:21,187 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 214
2023-03-07 21:19:21,352 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 215
2023-03-07 21:19:21,497 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 214
2023-03-07 21:19:21,647 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 215
2023-03-07 21:19:21,732 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 214
2023-03-07 21:19:21,836 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 215
2023-03-07 21:19:21,958 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 214
2023-03-07 21:19:22,086 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 215
2023-03-07 21:19:22,202 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 214
2023-03-07 21:19:22,290 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 215
2023-03-07 21:19:22,379 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 214
2023-03-07 21:19:22,446 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 215
2023-03-07 21:19:22,527 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 214
2023-03-07 21:19:22,604 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 215
2023-03-07 21:19:22,696 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 214
2023-03-07 21:19:22,798 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 215
2023-03-07 21:19:22,859 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 214
2023-03-07 21:19:22,946 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 215
2023-03-07 21:19:23,020 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 214
2023-03-07 21:19:23,088 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 215
2023-03-07 21:19:23,182 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 214
2023-03-07 21:19:23,256 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 214
2023-03-07 21:19:23,328 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 215
2023-03-07 21:19:23,383 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 214
2023-03-07 21:19:23,450 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 215
2023-03-07 21:19:23,517 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 214
2023-03-07 21:19:23,575 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 215
2023-03-07 21:19:23,642 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 214
2023-03-07 21:19:23,712 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 215
2023-03-07 21:19:23,771 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 214
2023-03-07 21:19:23,830 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 215
2023-03-07 21:19:23,893 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 214
2023-03-07 21:19:23,951 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 215
2023-03-07 21:19:24,012 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 214
2023-03-07 21:19:24,090 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 215
2023-03-07 21:19:24,154 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 214
2023-03-07 21:19:24,226 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 215
2023-03-07 21:19:24,295 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 214
2023-03-07 21:19:24,377 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 215
2023-03-07 21:19:24,445 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 214
2023-03-07 21:19:24,498 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 215
2023-03-07 21:19:24,574 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 214
2023-03-07 21:19:24,658 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 215
2023-03-07 21:19:24,708 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 214
2023-03-07 21:19:24,762 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 215
2023-03-07 21:19:24,823 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 214
2023-03-07 21:19:24,890 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 215
2023-03-07 21:19:24,938 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 214
2023-03-07 21:19:25,055 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 215
2023-03-07 21:19:25,219 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 214
2023-03-07 21:19:25,287 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 215
2023-03-07 21:19:25,341 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 214
2023-03-07 21:19:25,404 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 215
2023-03-07 21:19:25,458 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 214
2023-03-07 21:19:25,512 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 215
2023-03-07 21:19:25,600 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 252
2023-03-07 21:19:26,563 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-03-07 21:19:27,533 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-03-07 21:19:28,471 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-03-07 21:19:29,377 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-03-07 21:19:30,293 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-03-07 21:19:31,192 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-03-07 21:19:32,010 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-03-07 21:19:32,885 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-03-07 21:19:33,663 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-03-07 21:19:34,466 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-03-07 21:19:35,290 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-03-07 21:19:36,120 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-03-07 21:19:36,910 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-03-07 21:19:37,763 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-03-07 21:19:38,605 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-03-07 21:19:39,434 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-03-07 21:19:40,150 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-03-07 21:19:40,833 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-03-07 21:19:40,975 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-03-07 21:19:41,011 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-03-07 21:19:41,029 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-03-07 21:19:41,055 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-03-07 21:19:41,073 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-03-07 21:19:41,094 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-03-07 21:19:41,111 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-03-07 21:19:41,143 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-03-07 21:19:41,156 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-03-07 21:19:41,171 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-03-07 21:19:41,185 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-03-07 21:19:41,205 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-03-07 21:19:41,220 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-03-07 21:19:41,241 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-03-07 21:19:41,255 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-03-07 21:19:41,270 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-03-07 21:19:41,283 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-03-07 21:19:41,295 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-03-07 21:19:41,323 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-03-07 21:19:41,336 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-03-07 21:19:41,353 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-03-07 21:19:41,364 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-03-07 21:19:41,376 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-03-07 21:19:41,386 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-03-07 21:19:41,399 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-03-07 21:19:41,411 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-03-07 21:19:41,423 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-03-07 21:19:41,434 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-03-07 21:19:41,445 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-03-07 21:19:41,457 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-03-07 21:19:41,467 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-03-07 21:19:41,479 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-03-07 21:19:41,493 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-03-07 21:19:41,509 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-03-07 21:19:41,519 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-03-07 21:19:41,531 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-03-07 21:19:41,543 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-03-07 21:19:41,553 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-03-07 21:19:41,563 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-03-07 21:19:41,573 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-03-07 21:19:41,584 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-03-07 21:19:41,596 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-03-07 21:19:41,607 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-03-07 21:19:41,617 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-03-07 21:19:41,627 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-03-07 21:19:41,656 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-03-07 21:19:41,676 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-03-07 21:19:41,691 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-03-07 21:19:41,705 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 256
2023-03-07 21:19:41,718 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-2) indexing objects: count = 256
2023-03-07 21:19:41,729 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) indexing objects: count = 256
2023-03-07 21:19:41,740 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 256
2023-03-07 21:19:41,749 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-3) indexing objects: count = 256
2023-03-07 21:19:41,760 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-1) indexing objects: count = 68
2023-03-07 21:19:41,773 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-4) purging objects: count = 50
2023-03-07 21:19:41,885 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) indexing objects: count = 15
2023-03-07 21:19:41,902 INFO  [  ome.services.fulltext.FullTextIndexer2] (2-thread-5) purging objects: count = 13

This is 21:19:41 minus 21:19:19 which makes 22 secs.

@pwalczysko
Copy link
Member

pwalczysko commented Mar 8, 2023

So, on the speeds, I think I have the two comparable numbers (both on multi-plate and both with this PR and both with default settings) as

I think that the tiny loss of 3 secs is okay, @sbesson @joshmoore

@pwalczysko
Copy link
Member

With setting the parameter omero.search.max_fileset_size to 20 I have
21:55:10 minus 21:54:47 which is 23 secs on reindexing. This is one sec more than with the default 10.

@pwalczysko
Copy link
Member

Repeated also all three tests (the bullet points) in #156 (comment) - all as expected.

In summary, the new benchmarking shows that the speedup is acceptable imho and behaviour of the features is as expected.

@jburel jburel merged commit 5ff911e into ome:master Mar 9, 2023
@sbesson sbesson deleted the search_max_fileset_size branch March 9, 2023 10:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants