[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