From 811357093fd71b11a381b7e205c4bb3fa82c4e70 Mon Sep 17 00:00:00 2001 From: marko-bekhta Date: Thu, 20 Feb 2025 23:37:50 +0100 Subject: [PATCH] HSEARCH-5319 Reduce indexing pressure in the ExistsPredicateBaseIT --- .../predicate/ExistsPredicateBaseIT.java | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/ExistsPredicateBaseIT.java b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/ExistsPredicateBaseIT.java index 05636a448f6..0b0f0d41193 100644 --- a/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/ExistsPredicateBaseIT.java +++ b/integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/ExistsPredicateBaseIT.java @@ -58,18 +58,27 @@ static void setup() { ScaleCheckingConfigured.incompatibleIndex ) .setup(); + // This test would often fail on OpenSearch with: + // "caused_by": { + // "type": "file_system_exception", + // "reason": "/usr/share/opensearch/data/nodes/0/indices/HGn3KNKwStCqW3PdIahetA/0/index/_0_Lucene912_0.psm: Too many open files" + // } + // to give OpenSearch more breathing room, we do not populate all indexes at the same time. final BulkIndexer singleFieldIndexer = SingleFieldConfigured.index.bulkIndexer(); SingleFieldConfigured.dataSets.forEach( d -> d.contribute( SingleFieldConfigured.index, singleFieldIndexer ) ); + singleFieldIndexer.join(); final BulkIndexer inObjectFieldMainIndexer = InObjectFieldConfigured.mainIndex.bulkIndexer(); final BulkIndexer inObjectFieldMissingFieldIndexer = InObjectFieldConfigured.missingFieldIndex.bulkIndexer(); InObjectFieldConfigured.dataSets .forEach( d -> d.contribute( InObjectFieldConfigured.mainIndex, inObjectFieldMainIndexer, InObjectFieldConfigured.missingFieldIndex, inObjectFieldMissingFieldIndexer ) ); + inObjectFieldMainIndexer.join( inObjectFieldMissingFieldIndexer ); final BulkIndexer scoreIndexer = ScoreConfigured.index.bulkIndexer(); ScoreConfigured.dataSets.forEach( d -> d.contribute( scoreIndexer ) ); + scoreIndexer.join(); final BulkIndexer typeCheckingMainIndexer = TypeCheckingNoConversionConfigured.index.bulkIndexer(); final BulkIndexer typeCheckingCompatibleIndexer = TypeCheckingNoConversionConfigured.compatibleIndex.bulkIndexer(); @@ -82,17 +91,15 @@ static void setup() { TypeCheckingNoConversionConfigured.rawFieldCompatibleIndex, typeCheckingRawFieldCompatibleIndexer, TypeCheckingNoConversionConfigured.missingFieldIndex, typeCheckingMissingFieldIndexer ) ); + typeCheckingMainIndexer.join( typeCheckingCompatibleIndexer, typeCheckingRawFieldCompatibleIndexer, + typeCheckingMissingFieldIndexer ); + final BulkIndexer scaleCheckingMainIndexer = ScaleCheckingConfigured.index.bulkIndexer(); final BulkIndexer scaleCheckingCompatibleIndexer = ScaleCheckingConfigured.compatibleIndex.bulkIndexer(); ScaleCheckingConfigured.dataSet.contribute( ScaleCheckingConfigured.index, scaleCheckingMainIndexer, ScaleCheckingConfigured.compatibleIndex, scaleCheckingCompatibleIndexer ); - singleFieldIndexer.join( - inObjectFieldMainIndexer, inObjectFieldMissingFieldIndexer, scoreIndexer, - typeCheckingMainIndexer, typeCheckingCompatibleIndexer, - typeCheckingRawFieldCompatibleIndexer, typeCheckingMissingFieldIndexer, - scaleCheckingMainIndexer, scaleCheckingCompatibleIndexer - ); + scaleCheckingMainIndexer.join( scaleCheckingCompatibleIndexer ); } private static ExistsPredicateTestValues testValues(FieldTypeDescriptor fieldType) {