[hibernate/hibernate-search] f3790c: HSEARCH-4550 Rename NamedPredicateProvider to Pred...
by Yoann Rodière
Branch: refs/heads/main
Home: https://github.com/hibernate/hibernate-search
Commit: f3790c6791be1f79c53b0a7175a721d63e8bb639
https://github.com/hibernate/hibernate-search/commit/f3790c6791be1f79c53b...
Author: Yoann Rodière <yoann(a)hibernate.org>
Date: 2022-07-29 (Fri, 29 Jul 2022)
Changed paths:
M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/document/model/dsl/impl/AbstractElasticsearchIndexCompositeNodeBuilder.java
M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/document/model/dsl/impl/ElasticsearchIndexNamedPredicateOptions.java
M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/logging/impl/Log.java
M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/predicate/impl/ElasticsearchNamedPredicate.java
M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/document/model/dsl/impl/AbstractLuceneIndexCompositeNodeBuilder.java
M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/document/model/dsl/impl/LuceneIndexNamedPredicateOptions.java
M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/logging/impl/Log.java
M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/predicate/impl/LuceneNamedPredicate.java
M documentation/src/main/asciidoc/migration/index.asciidoc
M documentation/src/main/asciidoc/reference/bridge-named-predicate.asciidoc
M documentation/src/test/java/org/hibernate/search/documentation/mapper/orm/bridge/namedpredicate/SkuIdentifierBinder.java
M engine/src/main/java/org/hibernate/search/engine/backend/document/model/dsl/IndexSchemaElement.java
M engine/src/main/java/org/hibernate/search/engine/backend/document/model/dsl/impl/IndexSchemaElementImpl.java
M engine/src/main/java/org/hibernate/search/engine/backend/document/model/dsl/spi/IndexCompositeNodeBuilder.java
R engine/src/main/java/org/hibernate/search/engine/search/predicate/factories/NamedPredicateProvider.java
R engine/src/main/java/org/hibernate/search/engine/search/predicate/factories/NamedPredicateProviderContext.java
A engine/src/main/java/org/hibernate/search/engine/search/predicate/factories/PredicateDefinition.java
A engine/src/main/java/org/hibernate/search/engine/search/predicate/factories/PredicateDefinitionContext.java
M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/AbstractPredicateFieldInObjectFieldIT.java
M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/AbstractPredicateInObjectFieldIT.java
M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/NamedPredicateBaseIT.java
M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/NamedPredicateMultiIndexCompatibilityIT.java
R integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/NamedPredicateProviderContextIT.java
A integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/PredicateDefinitionContextIT.java
M integrationtest/mapper/pojo-base/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/PropertyBridgeBaseIT.java
M integrationtest/mapper/pojo-base/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/TypeBridgeBaseIT.java
M util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/document/model/StubIndexSchemaDataNode.java
M util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/document/model/dsl/impl/AbstractStubIndexCompositeNodeBuilder.java
Log Message:
-----------
HSEARCH-4550 Rename NamedPredicateProvider to PredicateDefinition
For consistency with the CompositeProjectionDefinition SPI.
Commit: 2f35e65874b62fc9d7e6b8e97d2978c08bb365bf
https://github.com/hibernate/hibernate-search/commit/2f35e65874b62fc9d7e6...
Author: Yoann Rodière <yoann(a)hibernate.org>
Date: 2022-07-29 (Fri, 29 Jul 2022)
Changed paths:
M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/document/model/dsl/impl/AbstractElasticsearchIndexCompositeNodeBuilder.java
M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/document/model/dsl/impl/ElasticsearchIndexNamedPredicateOptions.java
M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/predicate/impl/ElasticsearchNamedPredicate.java
M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/document/model/dsl/impl/AbstractLuceneIndexCompositeNodeBuilder.java
M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/document/model/dsl/impl/LuceneIndexNamedPredicateOptions.java
M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/predicate/impl/LuceneNamedPredicate.java
M documentation/src/main/asciidoc/migration/index.asciidoc
M documentation/src/test/java/org/hibernate/search/documentation/mapper/orm/bridge/namedpredicate/SkuIdentifierBinder.java
M engine/src/main/java/org/hibernate/search/engine/backend/document/model/dsl/IndexSchemaElement.java
M engine/src/main/java/org/hibernate/search/engine/backend/document/model/dsl/impl/IndexSchemaElementImpl.java
M engine/src/main/java/org/hibernate/search/engine/backend/document/model/dsl/spi/IndexCompositeNodeBuilder.java
A engine/src/main/java/org/hibernate/search/engine/search/predicate/definition/PredicateDefinition.java
A engine/src/main/java/org/hibernate/search/engine/search/predicate/definition/PredicateDefinitionContext.java
R engine/src/main/java/org/hibernate/search/engine/search/predicate/factories/PredicateDefinition.java
R engine/src/main/java/org/hibernate/search/engine/search/predicate/factories/PredicateDefinitionContext.java
M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/AbstractPredicateFieldInObjectFieldIT.java
M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/AbstractPredicateInObjectFieldIT.java
M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/NamedPredicateBaseIT.java
M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/NamedPredicateMultiIndexCompatibilityIT.java
M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/predicate/PredicateDefinitionContextIT.java
M integrationtest/mapper/pojo-base/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/PropertyBridgeBaseIT.java
M integrationtest/mapper/pojo-base/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/mapping/definition/TypeBridgeBaseIT.java
M util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/document/model/StubIndexSchemaDataNode.java
M util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/document/model/dsl/impl/AbstractStubIndexCompositeNodeBuilder.java
Log Message:
-----------
HSEARCH-4535 Move PredicateDefinition/PredicateDefinitionContext to a more sensible package
Compare: https://github.com/hibernate/hibernate-search/compare/7a224bf553ed...2f35...
2 years, 4 months
[hibernate/hibernate-search] 92caf4: HSEARCH-4654 Ensure the failure limit in RootFailu...
by Yoann Rodière
Branch: refs/heads/6.1
Home: https://github.com/hibernate/hibernate-search
Commit: 92caf4eb851b5d6cb431691a909c6bed7faeec84
https://github.com/hibernate/hibernate-search/commit/92caf4eb851b5d6cb431...
Author: Yoann Rodière <yoann(a)hibernate.org>
Date: 2022-07-27 (Wed, 27 Jul 2022)
Changed paths:
M engine/src/main/java/org/hibernate/search/engine/logging/impl/Log.java
M engine/src/main/java/org/hibernate/search/engine/reporting/spi/RootFailureCollector.java
A engine/src/test/java/org/hibernate/search/engine/reporting/spi/RootFailureCollectorTest.java
Log Message:
-----------
HSEARCH-4654 Ensure the failure limit in RootFailureCollector actually stops failure collection
Previously it was only triggering an exception in the hope that this
would make Hibernate Search bootstrap fail, which could lead to awkward
situations when the exception about the failure limit was itself added
to the failure report.
Commit: 64b1fe25fdae7ed389eb2651bedab747b5bd8b2e
https://github.com/hibernate/hibernate-search/commit/64b1fe25fdae7ed389eb...
Author: Yoann Rodière <yoann(a)hibernate.org>
Date: 2022-07-27 (Wed, 27 Jul 2022)
Changed paths:
M engine/src/main/java/org/hibernate/search/engine/logging/impl/Log.java
M engine/src/main/java/org/hibernate/search/engine/reporting/spi/RootFailureCollector.java
M engine/src/test/java/org/hibernate/search/engine/reporting/spi/RootFailureCollectorTest.java
Log Message:
-----------
HSEARCH-4654 Add an entry to the failure report instead of throwing an exception when reaching the failure limit in RootFailureCollector
The rendering of the failure report in that exception used to lead to
a deadlock, because we would:
* lock on a child to add a failure
* check on the root whether there are more failures than the limit<
* lock on the root to access the children
* try to lock on each child one after the other,
to render their failures and include that in the "failure limit
reached" exception message
So we can't render the failure report for that exception. But if that
exception doesn't include the failure report in its message, then we run
the risk of aborting Hibernate Search bootstrap without
There were other potential problems with throwing an exception, as the
risk of ending up adding that exception to the failure report because of
surrounding try blocks; which would not alter the failure report, of
course, but would still be logged, and would throw another exception
about exceeding the failure limit. This could result in very verbose
logs.
So, the easiest solution is probably to just add a simple message to the
error report, and to proceed with whatever we were doing, until we
finally end up checking the error report and abort, displaying the error
report along with a mention that there were too many failures to report.
Commit: 256051d2fc227c3b7b887709d6af5f8e0274aea1
https://github.com/hibernate/hibernate-search/commit/256051d2fc227c3b7b88...
Author: Yoann Rodière <yoann(a)hibernate.org>
Date: 2022-07-27 (Wed, 27 Jul 2022)
Changed paths:
M engine/src/test/java/org/hibernate/search/engine/reporting/spi/RootFailureCollectorTest.java
Log Message:
-----------
HSEARCH-4654 Test for deadlocks in RootFailureCollector
Commit: 2ba6c955638dc5ad41c48ecbb598a3fa40a65023
https://github.com/hibernate/hibernate-search/commit/2ba6c955638dc5ad41c4...
Author: Yoann Rodière <yoann(a)hibernate.org>
Date: 2022-07-27 (Wed, 27 Jul 2022)
Changed paths:
M engine/src/main/java/org/hibernate/search/engine/reporting/spi/RootFailureCollector.java
A util/common/src/main/java/org/hibernate/search/util/common/data/impl/InsertionOrder.java
A util/common/src/test/java/org/hibernate/search/util/common/data/impl/InsertionOrderTest.java
Log Message:
-----------
HSEARCH-4654 Avoid blocking code in RootFailureCollector
Since we call this code from reactor threads ("reactive event loops"),
it's better if it doesn't block.
Compare: https://github.com/hibernate/hibernate-search/compare/f43485e3a522...2ba6...
2 years, 5 months
[hibernate/hibernate-search] abb24b: HSEARCH-4654 Ensure the failure limit in RootFailu...
by Yoann Rodière
Branch: refs/heads/main
Home: https://github.com/hibernate/hibernate-search
Commit: abb24b8b8040f3fe5db48964b3fd887749af02b6
https://github.com/hibernate/hibernate-search/commit/abb24b8b8040f3fe5db4...
Author: Yoann Rodière <yoann(a)hibernate.org>
Date: 2022-07-27 (Wed, 27 Jul 2022)
Changed paths:
M engine/src/main/java/org/hibernate/search/engine/logging/impl/Log.java
M engine/src/main/java/org/hibernate/search/engine/reporting/spi/RootFailureCollector.java
A engine/src/test/java/org/hibernate/search/engine/reporting/spi/RootFailureCollectorTest.java
Log Message:
-----------
HSEARCH-4654 Ensure the failure limit in RootFailureCollector actually stops failure collection
Previously it was only triggering an exception in the hope that this
would make Hibernate Search bootstrap fail, which could lead to awkward
situations when the exception about the failure limit was itself added
to the failure report.
Commit: 1ff08a25389a4bed025d310714e7e4c36193d4ce
https://github.com/hibernate/hibernate-search/commit/1ff08a25389a4bed025d...
Author: Yoann Rodière <yoann(a)hibernate.org>
Date: 2022-07-27 (Wed, 27 Jul 2022)
Changed paths:
M engine/src/main/java/org/hibernate/search/engine/logging/impl/Log.java
M engine/src/main/java/org/hibernate/search/engine/reporting/spi/RootFailureCollector.java
M engine/src/test/java/org/hibernate/search/engine/reporting/spi/RootFailureCollectorTest.java
Log Message:
-----------
HSEARCH-4654 Add an entry to the failure report instead of throwing an exception when reaching the failure limit in RootFailureCollector
The rendering of the failure report in that exception used to lead to
a deadlock, because we would:
* lock on a child to add a failure
* check on the root whether there are more failures than the limit<
* lock on the root to access the children
* try to lock on each child one after the other,
to render their failures and include that in the "failure limit
reached" exception message
So we can't render the failure report for that exception. But if that
exception doesn't include the failure report in its message, then we run
the risk of aborting Hibernate Search bootstrap without
There were other potential problems with throwing an exception, as the
risk of ending up adding that exception to the failure report because of
surrounding try blocks; which would not alter the failure report, of
course, but would still be logged, and would throw another exception
about exceeding the failure limit. This could result in very verbose
logs.
So, the easiest solution is probably to just add a simple message to the
error report, and to proceed with whatever we were doing, until we
finally end up checking the error report and abort, displaying the error
report along with a mention that there were too many failures to report.
Commit: d98f747725d8be4afc4b4ae14733ada669b21cec
https://github.com/hibernate/hibernate-search/commit/d98f747725d8be4afc4b...
Author: Yoann Rodière <yoann(a)hibernate.org>
Date: 2022-07-27 (Wed, 27 Jul 2022)
Changed paths:
M engine/src/test/java/org/hibernate/search/engine/reporting/spi/RootFailureCollectorTest.java
Log Message:
-----------
HSEARCH-4654 Test for deadlocks in RootFailureCollector
Commit: 7a224bf553edecf61e154928b317ed8b3a5c5733
https://github.com/hibernate/hibernate-search/commit/7a224bf553edecf61e15...
Author: Yoann Rodière <yoann(a)hibernate.org>
Date: 2022-07-27 (Wed, 27 Jul 2022)
Changed paths:
M engine/src/main/java/org/hibernate/search/engine/reporting/spi/RootFailureCollector.java
A util/common/src/main/java/org/hibernate/search/util/common/data/impl/InsertionOrder.java
A util/common/src/test/java/org/hibernate/search/util/common/data/impl/InsertionOrderTest.java
Log Message:
-----------
HSEARCH-4654 Avoid blocking code in RootFailureCollector
Since we call this code from reactor threads ("reactive event loops"),
it's better if it doesn't block.
Compare: https://github.com/hibernate/hibernate-search/compare/58256b689cc2...7a22...
2 years, 5 months