[hibernate-commits] [hibernate/hibernate-search] 1ca416: HSEARCH-3453 Make it more obvious that object load...
GitHub
noreply at github.com
Wed Dec 19 10:21:16 EST 2018
Branch: refs/heads/master
Home: https://github.com/hibernate/hibernate-search
Commit: 1ca416c7bfc9e139ea2c12defae69a792590f77d
https://github.com/hibernate/hibernate-search/commit/1ca416c7bfc9e139ea2c12defae69a792590f77d
Author: Yoann Rodière <yoann at hibernate.org>
Date: 2018-12-19 (Wed, 19 Dec 2018)
Changed paths:
M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/query/impl/ElasticsearchSearchResultExtractorImpl.java
M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/query/impl/LuceneSearchResultExtractorImpl.java
M engine/src/main/java/org/hibernate/search/engine/search/loading/spi/IdentityObjectLoader.java
M engine/src/main/java/org/hibernate/search/engine/search/loading/spi/ObjectLoader.java
M engine/src/main/java/org/hibernate/search/engine/search/query/impl/DefaultProjectionHitMapper.java
M engine/src/main/java/org/hibernate/search/engine/search/query/impl/NoLoadingProjectionHitMapper.java
M engine/src/main/java/org/hibernate/search/engine/search/query/spi/ProjectionHitMapper.java
M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/search/loading/impl/HibernateOrmByTypeObjectLoader.java
M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/search/loading/impl/HibernateOrmComposableObjectLoader.java
M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/search/loading/impl/HibernateOrmSingleTypeByIdObjectLoader.java
M util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/rule/SearchWorkCall.java
M util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/mapper/StubMapperUtils.java
Log Message:
-----------
HSEARCH-3453 Make it more obvious that object loading is blocking
We may add new methods/interfaces in the future for non-blocking
loading, but currently it wouldn't serve any purpose, since Hibernate
ORM is fully blocking.
Commit: 98f9c377a4e02ec2dc728124710fa63749db09fe
https://github.com/hibernate/hibernate-search/commit/98f9c377a4e02ec2dc728124710fa63749db09fe
Author: Yoann Rodière <yoann at hibernate.org>
Date: 2018-12-19 (Wed, 19 Dec 2018)
Changed paths:
A backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/query/impl/ElasticsearchLoadableSearchResult.java
M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/query/impl/ElasticsearchSearchQuery.java
M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/query/impl/ElasticsearchSearchResultExtractorImpl.java
M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/work/impl/ElasticsearchSearchResultExtractor.java
M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/work/impl/ElasticsearchStubWorkFactory.java
M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/work/impl/ElasticsearchWorkFactory.java
A backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/query/impl/LuceneLoadableSearchResult.java
M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/query/impl/LuceneSearchQuery.java
M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/query/impl/LuceneSearchResultExtractor.java
M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/query/impl/LuceneSearchResultExtractorImpl.java
M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/query/impl/LuceneSearcher.java
M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/work/impl/LuceneExecuteQueryWork.java
A engine/src/main/java/org/hibernate/search/engine/search/spi/SimpleSearchResult.java
M util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/rule/SearchWorkCall.java
Log Message:
-----------
HSEARCH-3453 Make sure to execute the query loading in the user thread
Because, for now, our mappers either don't load anything (JavaBean mapper)
or block when loading (ORM mapper).
Commit: 6555acb7f52d74b7bbed3cd9a0ecde2b272f8892
https://github.com/hibernate/hibernate-search/commit/6555acb7f52d74b7bbed3cd9a0ecde2b272f8892
Author: Yoann Rodière <yoann at hibernate.org>
Date: 2018-12-19 (Wed, 19 Dec 2018)
Changed paths:
M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/impl/ElasticsearchSearchQueryElementCollector.java
M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/projection/impl/ElasticsearchCompositeBiFunctionProjection.java
M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/projection/impl/ElasticsearchCompositeFunctionProjection.java
M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/projection/impl/ElasticsearchCompositeListProjection.java
M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/projection/impl/ElasticsearchCompositeTriFunctionProjection.java
M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/projection/impl/ElasticsearchDistanceToFieldProjection.java
M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/projection/impl/ElasticsearchDocumentReferenceProjection.java
M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/projection/impl/ElasticsearchExplanationProjection.java
M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/projection/impl/ElasticsearchFieldProjection.java
M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/projection/impl/ElasticsearchObjectProjection.java
M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/projection/impl/ElasticsearchReferenceProjection.java
M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/projection/impl/ElasticsearchScoreProjection.java
M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/projection/impl/ElasticsearchSearchProjection.java
M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/projection/impl/ElasticsearchSourceProjection.java
R backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/projection/impl/SearchProjectionExecutionContext.java
A backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/projection/impl/SearchProjectionExtractContext.java
A backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/projection/impl/SearchProjectionTransformContext.java
M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/query/impl/ElasticsearchLoadableSearchResult.java
M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/query/impl/ElasticsearchSearchQuery.java
M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/query/impl/ElasticsearchSearchQueryBuilder.java
M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/query/impl/ElasticsearchSearchResultExtractorImpl.java
M backend/elasticsearch/src/test/java/org/hibernate/search/backend/elasticsearch/search/projection/impl/DistanceToFieldSearchProjectionTest.java
M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/projection/impl/LuceneCompositeBiFunctionProjection.java
M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/projection/impl/LuceneCompositeFunctionProjection.java
M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/projection/impl/LuceneCompositeListProjection.java
M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/projection/impl/LuceneCompositeTriFunctionProjection.java
M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/projection/impl/LuceneDistanceToFieldProjection.java
M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/projection/impl/LuceneDocumentProjection.java
M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/projection/impl/LuceneDocumentReferenceProjection.java
M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/projection/impl/LuceneExplanationProjection.java
M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/projection/impl/LuceneFieldProjection.java
M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/projection/impl/LuceneObjectProjection.java
M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/projection/impl/LuceneReferenceProjection.java
M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/projection/impl/LuceneScoreProjection.java
M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/projection/impl/LuceneSearchProjection.java
R backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/projection/impl/SearchProjectionExecutionContext.java
A backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/projection/impl/SearchProjectionExtractContext.java
A backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/projection/impl/SearchProjectionTransformContext.java
M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/query/impl/LuceneLoadableSearchResult.java
M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/query/impl/LuceneSearchQuery.java
M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/query/impl/LuceneSearchResultExtractor.java
M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/query/impl/LuceneSearchResultExtractorImpl.java
M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/query/impl/LuceneSearcher.java
M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/work/impl/LuceneExecuteQueryWork.java
M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/work/impl/LuceneStubWorkFactory.java
M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/work/impl/LuceneWorkFactory.java
Log Message:
-----------
HSEARCH-3453 Make sure to execute projection operations that potentially rely on the session in the user thread
Most of this commit is only side-effects; the purpose of this commit is
the changes in ElasticsearchFieldProjection and LuceneFieldProjection.
It is possible that a user projection converter makes use of
HibernateOrmExtension to gain access to the session, in particular.
Since session-related operations may be blocking, let's make sure
to execute them in the user thread if possible.
Compare: https://github.com/hibernate/hibernate-search/compare/868ac91614b7...6555acb7f52d
**NOTE:** This service has been marked for deprecation: https://developer.github.com/changes/2018-04-25-github-services-deprecation/
Functionality will be removed from GitHub.com on January 31st, 2019.
More information about the hibernate-commits
mailing list