[hibernate-commits] [hibernate/hibernate-search] d23bb7: HSEARCH-3525 Use java.lang.reflect (Member, Field)...

Yoann Rodière noreply at github.com
Thu Mar 21 11:17:10 EDT 2019


  Branch: refs/heads/master
  Home:   https://github.com/hibernate/hibernate-search
  Commit: d23bb7bbd1b848cb28bf58981135c5c9ad1694e5
      https://github.com/hibernate/hibernate-search/commit/d23bb7bbd1b848cb28bf58981135c5c9ad1694e5
  Author: Guillaume Smet <guillaume.smet at gmail.com>
  Date:   2019-03-19 (Tue, 19 Mar 2019)

  Changed paths:
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/model/impl/HibernateOrmBootstrapIntrospector.java
    A mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/model/spi/FieldPropertyHandle.java
    A mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/model/spi/MethodPropertyHandle.java

  Log Message:
  -----------
  HSEARCH-3525 Use java.lang.reflect (Member, Field) instead of method handles in PropertyHandle

Because SubstrateVM doesn't allow MethodHandles yet.


  Commit: ebea84ce37c487085bd35a1280dd9bc45f809f52
      https://github.com/hibernate/hibernate-search/commit/ebea84ce37c487085bd35a1280dd9bc45f809f52
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-03-21 (Thu, 21 Mar 2019)

  Changed paths:
    M mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/model/impl/JavaBeanBootstrapIntrospector.java
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/bootstrap/impl/HibernateSearchSessionFactoryObserver.java
    A mapper/orm/src/main/java/org/hibernate/search/mapper/orm/cfg/spi/HibernateOrmMapperSpiSettings.java
    A mapper/orm/src/main/java/org/hibernate/search/mapper/orm/cfg/spi/HibernateOrmPropertyHandleFactoryName.java
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/logging/impl/Log.java
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/HibernateOrmMappingInitiator.java
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/model/impl/HibernateOrmBootstrapIntrospector.java
    M mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/model/spi/FieldPropertyHandle.java
    R mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/model/spi/MemberPropertyHandle.java
    A mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/model/spi/MemberPropertyHandleFactory.java
    A mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/model/spi/MethodHandlePropertyHandle.java
    A mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/model/spi/MethodHandlePropertyHandleFactory.java
    M mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/model/spi/MethodPropertyHandle.java
    M mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/model/spi/PropertyHandle.java
    A mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/model/spi/PropertyHandleFactory.java

  Log Message:
  -----------
  HSEARCH-3525 Restore the use of method handles for property handles by default, but allow Quarkus to override it


  Commit: d83e0bcefe5d775a8c19d76908f6b3d0458bb4e8
      https://github.com/hibernate/hibernate-search/commit/d83e0bcefe5d775a8c19d76908f6b3d0458bb4e8
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-03-21 (Thu, 21 Mar 2019)

  Changed paths:
    M engine/src/main/java/org/hibernate/search/engine/common/impl/SearchIntegrationBuilderImpl.java
    M engine/src/main/java/org/hibernate/search/engine/mapper/mapping/building/spi/MappingInitiator.java
    M mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/impl/JavaBeanTypeConfigurationContributor.java
    M mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/mapping/impl/JavaBeanMappingFactory.java
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/HibernateOrmMappingFactory.java
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/HibernateOrmMappingInitiator.java
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/HibernateOrmMetatadaContributor.java
    M mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/mapping/building/impl/PojoMapper.java
    M mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/mapping/definition/annotation/impl/AnnotationMappingDefinitionContextImpl.java
    M mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/mapping/definition/programmatic/impl/ProgrammaticMappingDefinitionContextImpl.java
    M mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/mapping/definition/programmatic/impl/TypeMappingContextImpl.java
    M mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/mapping/spi/AbstractPojoMappingInitiator.java
    M mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/mapping/spi/PojoMappingConfigurationContributor.java
    M mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/mapping/spi/PojoMappingFactory.java
    M util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/mapper/StubMappingInitiator.java

  Log Message:
  -----------
  HSEARCH-3525 Remove the ConfigurationPropertySource parameter from MappingInitiator methods and related

The mapping initiators are already aware of the configuration
properties, in fact they are more or less the ones who provide it in
the first place.

There's no point passing it to the engine and then expect to get it
back later.


  Commit: c6eefa34b06fd134cbdc0e3c557a47d7a817ff72
      https://github.com/hibernate/hibernate-search/commit/c6eefa34b06fd134cbdc0e3c557a47d7a817ff72
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-03-21 (Thu, 21 Mar 2019)

  Changed paths:
    A mapper/pojo/src/test/java/org/hibernate/search/mapper/pojo/model/spi/PropertyHandleTest.java

  Log Message:
  -----------
  HSEARCH-3525 Add some basic unit tests for property handles

Since we're declaring some property handles classes that are not used in
our integration tests, but will be used in Quarkus, we need some basic
testing.


  Commit: 6efc38d2743219db811946f27f4dfd12c17d36cf
      https://github.com/hibernate/hibernate-search/commit/6efc38d2743219db811946f27f4dfd12c17d36cf
  Author: Guillaume Smet <guillaume.smet at gmail.com>
  Date:   2019-03-21 (Thu, 21 Mar 2019)

  Changed paths:
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/HibernateOrmMappingInitiator.java
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/model/impl/HibernateOrmBootstrapIntrospector.java
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/model/impl/HibernateOrmRawTypeModel.java

  Log Message:
  -----------
  HSEARCH-3524 Use the Hibernate ORM Metadata instead of the Metamodel to extract metadata

The Hibernate ORM Metamodel is built very late in the ORM bootstrapping
process, so late actually that ORM may have sent some requests over the
network before it is built (for second level caches in particular).

As a result, Quarkus cannot build a Metamodel and provide it to us
during the "compile-time boot". But we want Hibernate Search to start
booting during this "compile-time boot", because we need reflection and
it's much easier to use reflection then than at runtime, due to how
Quarkus/SubstrateVM work.

Thus we need to extract whatever information we can from Metadata, which
is a more "raw" version of the Metamodel.


  Commit: 5b02345a92884f4c3d7d8cb925f5b3e9d118569e
      https://github.com/hibernate/hibernate-search/commit/5b02345a92884f4c3d7d8cb925f5b3e9d118569e
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-03-21 (Thu, 21 Mar 2019)

  Changed paths:
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/model/impl/HibernateOrmRawTypeModel.java
    M mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/mapping/building/spi/PojoMappingCollectorTypeNode.java
    M mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/mapping/definition/programmatic/impl/InitialPropertyMappingContext.java
    M mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/processing/building/impl/PojoIndexingProcessorTypeNodeBuilder.java

  Log Message:
  -----------
  HSEARCH-3524 Restore correct support for property access type detection for entity types


  Commit: 0f76054cce2bb4779fe03eb437ef093c74802541
      https://github.com/hibernate/hibernate-search/commit/0f76054cce2bb4779fe03eb437ef093c74802541
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-03-21 (Thu, 21 Mar 2019)

  Changed paths:
    A mapper/orm/src/main/java/org/hibernate/search/mapper/orm/model/impl/HibernateOrmBasicTypeMetadata.java
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/model/impl/HibernateOrmBootstrapIntrospector.java
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/model/impl/HibernateOrmRawTypeModel.java

  Log Message:
  -----------
  HSEARCH-3524 Restore support for access type detection for embeddables


  Commit: f7312f9c3c4371aa83a43fd3b504193fb1bcadd8
      https://github.com/hibernate/hibernate-search/commit/f7312f9c3c4371aa83a43fd3b504193fb1bcadd8
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-03-21 (Thu, 21 Mar 2019)

  Changed paths:
    M integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/AnnotationMappingAccessTypeIT.java
    M integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/model/ProgrammaticMappingAccessTypeIT.java
    A mapper/orm/src/test/java/org/hibernate/search/mapper/orm/model/impl/HibernateOrmBootstrapIntrospectorAccessTypeTest.java

  Log Message:
  -----------
  HSEARCH-3524 Add more thorough tests for access type detection


  Commit: ba15cef190a22344812868e9de582c7d0515aaf0
      https://github.com/hibernate/hibernate-search/commit/ba15cef190a22344812868e9de582c7d0515aaf0
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-03-21 (Thu, 21 Mar 2019)

  Changed paths:
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/cfg/ElasticsearchBackendSettings.java
    A backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/cfg/ElasticsearchDialectName.java
    A backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/cfg/ElasticsearchVersion.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/client/impl/ElasticsearchClientUtils.java
    A backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/client/impl/ElasticsearchVersionHelper.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/dialect/impl/ElasticsearchDialectFactory.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/impl/ElasticsearchBackendFactory.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/logging/impl/Log.java
    A backend/elasticsearch/src/test/java/org/hibernate/search/backend/elasticsearch/client/impl/ElasticsearchClientUtilsGetElasticsearchVersionTest.java
    M backend/elasticsearch/src/test/java/org/hibernate/search/backend/elasticsearch/dialect/impl/ElasticsearchDialectFactoryTest.java

  Log Message:
  -----------
  HSEARCH-3526 Allow to set the Elasticsearch dialect to use in the backend properties

This will later allow us to create a backend and the corresponding
indexes without relying on a client: we'll assume the version is
correct, create the backend and indexes, and only later will check that
the version was correct.


  Commit: 9ae2e6005583802ea80fe2071a18e32c88cc7569
      https://github.com/hibernate/hibernate-search/commit/9ae2e6005583802ea80fe2071a18e32c88cc7569
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-03-21 (Thu, 21 Mar 2019)

  Changed paths:
    R backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/client/impl/ElasticsearchVersionHelper.java
    M documentation/src/main/asciidoc/backend-elasticsearch.asciidoc

  Log Message:
  -----------
  HSEARCH-3526 Document the "dialect" configuration property for the ES backend


  Commit: ff87b28bb164eaf7035d2a24ec115bb5d5d4af48
      https://github.com/hibernate/hibernate-search/commit/ff87b28bb164eaf7035d2a24ec115bb5d5d4af48
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-03-21 (Thu, 21 Mar 2019)

  Changed paths:
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/cfg/impl/HibernateOrmConfigurationPropertySource.java
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/HibernateOrmMappingInitiator.java

  Log Message:
  -----------
  HSEARCH-3523 Do not rely on the session factory to retrieve the ORM multi-tenancy strategy


  Commit: 6e16fc5353bff31f3ba9f6a68b19c1e2cd62406d
      https://github.com/hibernate/hibernate-search/commit/6e16fc5353bff31f3ba9f6a68b19c1e2cd62406d
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-03-21 (Thu, 21 Mar 2019)

  Changed paths:
    M engine/src/main/java/org/hibernate/search/engine/common/impl/MappingBuildContextImpl.java
    M engine/src/main/java/org/hibernate/search/engine/common/impl/SearchIntegrationBuilderImpl.java
    M engine/src/main/java/org/hibernate/search/engine/common/impl/SearchIntegrationImpl.java
    A engine/src/main/java/org/hibernate/search/engine/common/impl/SearchIntegrationPartialBuildStateImpl.java
    M engine/src/main/java/org/hibernate/search/engine/common/spi/SearchIntegration.java
    M engine/src/main/java/org/hibernate/search/engine/common/spi/SearchIntegrationBuilder.java
    A engine/src/main/java/org/hibernate/search/engine/common/spi/SearchIntegrationPartialBuildState.java
    M engine/src/main/java/org/hibernate/search/engine/logging/impl/Log.java
    M engine/src/main/java/org/hibernate/search/engine/logging/spi/MappingKeyFormatter.java
    M engine/src/main/java/org/hibernate/search/engine/mapper/mapping/building/spi/Mapper.java
    M engine/src/main/java/org/hibernate/search/engine/mapper/mapping/building/spi/MappingAbortedException.java
    M engine/src/main/java/org/hibernate/search/engine/mapper/mapping/building/spi/MappingInitiator.java
    M engine/src/main/java/org/hibernate/search/engine/mapper/mapping/spi/MappingKey.java
    A engine/src/main/java/org/hibernate/search/engine/mapper/mapping/spi/MappingPartialBuildState.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/util/rule/SearchSetupHelper.java
    M mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/JavaBeanMappingBuilder.java
    M mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/impl/JavaBeanMappingInitiator.java
    M mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/mapping/impl/JavaBeanMappingFactory.java
    M mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/mapping/impl/JavaBeanMappingKey.java
    A mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/mapping/impl/JavaBeanMappingPartialBuildState.java
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/bootstrap/impl/HibernateSearchSessionFactoryObserver.java
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/HibernateOrmMappingFactory.java
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/HibernateOrmMappingInitiator.java
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/HibernateOrmMappingKey.java
    A mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/HibernateOrmMappingPartialBuildState.java
    M mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/mapping/building/impl/PojoMapper.java
    M mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/mapping/spi/AbstractPojoMappingInitiator.java
    M mapper/pojo/src/main/java/org/hibernate/search/mapper/pojo/mapping/spi/PojoMappingFactory.java
    M util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/mapper/StubMapper.java
    M util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/mapper/StubMappingInitiator.java
    M util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/mapper/StubMappingKey.java
    A util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/mapper/StubMappingPartialBuildState.java

  Log Message:
  -----------
  HSEARCH-3523 Split the mapping integration in two phases, to be able to pass the SessionFactory later to the ORM mapper


  Commit: 97d4c926489ad603a5a7738916980cb198dfce38
      https://github.com/hibernate/hibernate-search/commit/97d4c926489ad603a5a7738916980cb198dfce38
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-03-21 (Thu, 21 Mar 2019)

  Changed paths:
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/index/impl/LuceneIndexManagerImpl.java
    M engine/src/main/java/org/hibernate/search/engine/common/impl/SearchIntegrationBuilderImpl.java
    M engine/src/main/java/org/hibernate/search/engine/common/impl/SearchIntegrationPartialBuildStateImpl.java

  Log Message:
  -----------
  HSEARCH-3523 Start index managers in the second phase of bootstrap instead of the first one


  Commit: e6dec7c10cf484d88ad4c960fd5cc5d6a1a25822
      https://github.com/hibernate/hibernate-search/commit/e6dec7c10cf484d88ad4c960fd5cc5d6a1a25822
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-03-21 (Thu, 21 Mar 2019)

  Changed paths:
    A mapper/orm/src/main/java/org/hibernate/search/mapper/orm/bootstrap/impl/HibernateOrmIntegrationBooterImpl.java
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/bootstrap/impl/HibernateSearchIntegrator.java
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/bootstrap/impl/HibernateSearchSessionFactoryObserver.java
    A mapper/orm/src/main/java/org/hibernate/search/mapper/orm/bootstrap/spi/HibernateOrmIntegrationBooter.java
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/cfg/spi/HibernateOrmMapperSpiSettings.java

  Log Message:
  -----------
  HSEARCH-3523 Allow integrators to pre-build Hibernate Search from Metadata + service registry, without a SessionFactory


  Commit: 0002a3c8278cd5146e81ae11b490361c8fd560d0
      https://github.com/hibernate/hibernate-search/commit/0002a3c8278cd5146e81ae11b490361c8fd560d0
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-03-21 (Thu, 21 Mar 2019)

  Changed paths:
    A engine/src/main/java/org/hibernate/search/engine/cfg/spi/ConsumedPropertyTrackingConfigurationPropertySource.java
    R engine/src/main/java/org/hibernate/search/engine/cfg/spi/UnusedPropertyTrackingConfigurationPropertySource.java
    M integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/bootstrap/UnusedPropertiesIT.java
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/bootstrap/impl/HibernateOrmIntegrationBooterImpl.java
    A mapper/orm/src/main/java/org/hibernate/search/mapper/orm/cfg/impl/ConsumedPropertyKeysReport.java
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/cfg/impl/HibernateOrmConfigurationPropertySource.java
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/cfg/impl/HibernateOrmConfigurationServicePropertySource.java
    M util/internal/test/src/main/java/org/hibernate/search/util/impl/test/rule/ExpectedLog4jLog.java

  Log Message:
  -----------
  HSEARCH-3523 Avoid duplicate logs or false positives related to configuration property tracking

The two-step boot complicates things a little, we have to adapt the
code.


  Commit: 69b2946898ed7f8a8f4b3d498ecb2e23a7dbf69d
      https://github.com/hibernate/hibernate-search/commit/69b2946898ed7f8a8f4b3d498ecb2e23a7dbf69d
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-03-21 (Thu, 21 Mar 2019)

  Changed paths:
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/impl/ElasticsearchBackendImpl.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/index/impl/ElasticsearchIndexManagerBuilder.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/index/impl/ElasticsearchIndexManagerImpl.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/index/impl/IndexingBackendContext.java
    R backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/orchestration/impl/AbstractElasticsearchBarrierWorkOrchestrator.java
    A backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/orchestration/impl/AbstractElasticsearchSharedWorkOrchestrator.java
    R backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/orchestration/impl/ElasticsearchBarrierWorkOrchestrator.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/orchestration/impl/ElasticsearchBatchingSharedWorkOrchestrator.java
    A backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/orchestration/impl/ElasticsearchSharedWorkOrchestrator.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/orchestration/impl/ElasticsearchWorkOrchestratorProvider.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/impl/LuceneBackendImpl.java
    M engine/src/main/java/org/hibernate/search/engine/backend/index/spi/IndexManagerImplementor.java
    M engine/src/main/java/org/hibernate/search/engine/backend/spi/BackendImplementor.java
    A engine/src/main/java/org/hibernate/search/engine/backend/spi/BackendStartContext.java
    A engine/src/main/java/org/hibernate/search/engine/common/impl/BackendStartContextImpl.java
    M engine/src/main/java/org/hibernate/search/engine/common/impl/SearchIntegrationBuilderImpl.java
    M engine/src/main/java/org/hibernate/search/engine/common/impl/SearchIntegrationPartialBuildStateImpl.java
    M util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/index/impl/StubBackend.java

  Log Message:
  -----------
  HSEARCH-3523 Start the Elasticsearch orchestrators as late as possible


  Commit: 8efdc14587c2803adc6faf1d040599e76a919532
      https://github.com/hibernate/hibernate-search/commit/8efdc14587c2803adc6faf1d040599e76a919532
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-03-21 (Thu, 21 Mar 2019)

  Changed paths:
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/client/impl/ElasticsearchClientFactoryImpl.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/client/impl/ElasticsearchClientImpl.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/client/spi/ElasticsearchClientFactory.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/client/spi/ElasticsearchClientImplementor.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/impl/ElasticsearchBackendFactory.java
    M integrationtest/backend/elasticsearch/src/test/java/org/hibernate/search/integrationtest/backend/elasticsearch/testsupport/util/ElasticsearchClientSpy.java

  Log Message:
  -----------
  HSEARCH-3523 Do not allow to change the Gson instance used in the ElasticsearchClient after bootstrap

The Elasticsearch client only converts JsonObjects to String and
vice-versa, it doesn't need a Gson instance that was specially
configured for a particular Elasticsearch version.


  Commit: 9242d05315774882764abf2d599663de46203be3
      https://github.com/hibernate/hibernate-search/commit/9242d05315774882764abf2d599663de46203be3
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-03-21 (Thu, 21 Mar 2019)

  Changed paths:
    A engine/src/main/java/org/hibernate/search/engine/common/impl/BackendPartialBuildState.java
    M engine/src/main/java/org/hibernate/search/engine/common/impl/IndexManagerBuildingStateHolder.java
    A engine/src/main/java/org/hibernate/search/engine/common/impl/IndexManagerPartialBuildState.java
    M engine/src/main/java/org/hibernate/search/engine/common/impl/SearchIntegrationBuilderImpl.java
    M engine/src/main/java/org/hibernate/search/engine/common/impl/SearchIntegrationPartialBuildStateImpl.java

  Log Message:
  -----------
  HSEARCH-3523 Use dedicated objects to hold the partial build state of backends/index managers

So that we can hold metadata that will only be useful for the second
build stage. This will be useful in the next commit.


  Commit: d7abd5a308e8804c76cc2212a65ce05c8a3ed870
      https://github.com/hibernate/hibernate-search/commit/d7abd5a308e8804c76cc2212a65ce05c8a3ed870
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-03-21 (Thu, 21 Mar 2019)

  Changed paths:
    M engine/src/main/java/org/hibernate/search/engine/backend/index/spi/IndexManagerStartContext.java
    M engine/src/main/java/org/hibernate/search/engine/backend/spi/BackendStartContext.java
    A engine/src/main/java/org/hibernate/search/engine/cfg/impl/EngineConfigurationUtils.java
    M engine/src/main/java/org/hibernate/search/engine/common/impl/BackendPartialBuildState.java
    M engine/src/main/java/org/hibernate/search/engine/common/impl/BackendStartContextImpl.java
    M engine/src/main/java/org/hibernate/search/engine/common/impl/IndexManagerBuildingStateHolder.java
    M engine/src/main/java/org/hibernate/search/engine/common/impl/IndexManagerPartialBuildState.java
    M engine/src/main/java/org/hibernate/search/engine/common/impl/IndexManagerStartContextImpl.java
    M engine/src/main/java/org/hibernate/search/engine/common/impl/SearchIntegrationPartialBuildStateImpl.java
    M engine/src/main/java/org/hibernate/search/engine/common/spi/SearchIntegrationPartialBuildState.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/util/rule/SearchSetupHelper.java
    M mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/JavaBeanMappingBuilder.java
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/bootstrap/impl/HibernateOrmIntegrationBooterImpl.java

  Log Message:
  -----------
  HSEARCH-3523 Pass configuration to backend/index during the second phase of bootstrap

So that the Elasticsearch backend can use it to determine the
configuration of the Elasticsearch client, in particular.


  Commit: 261680aa1488f1c48dd1da438aed172276e18510
      https://github.com/hibernate/hibernate-search/commit/261680aa1488f1c48dd1da438aed172276e18510
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-03-21 (Thu, 21 Mar 2019)

  Changed paths:
    M engine/src/main/java/org/hibernate/search/engine/common/impl/SearchIntegrationBuilderImpl.java
    M engine/src/main/java/org/hibernate/search/engine/common/spi/SearchIntegrationBuilder.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/util/rule/SearchSetupHelper.java
    M mapper/javabean/src/main/java/org/hibernate/search/mapper/javabean/JavaBeanMappingBuilder.java

  Log Message:
  -----------
  HSEARCH-3523 Remove the ability to override properties in SearchIntegrationBuilder

It does not play well with the fact properties are submitted again on
the second phase of bootstrap, and it's easily implemented in the upper
layers (mapper), so let's not burden ourselves with such a feature in
the engine.


  Commit: d9bfb04f60621f4fcf7cd98eaef2520bff8101a8
      https://github.com/hibernate/hibernate-search/commit/d9bfb04f60621f4fcf7cd98eaef2520bff8101a8
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-03-21 (Thu, 21 Mar 2019)

  Changed paths:
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/impl/ElasticsearchBackendFactory.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/impl/ElasticsearchBackendImpl.java
    A backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/impl/ElasticsearchClientProvider.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/orchestration/impl/ElasticsearchWorkOrchestratorProvider.java
    A integrationtest/backend/elasticsearch/src/test/java/org/hibernate/search/integrationtest/backend/elasticsearch/bootstrap/ElasticsearchBootstrapIT.java
    M integrationtest/backend/elasticsearch/src/test/java/org/hibernate/search/integrationtest/backend/elasticsearch/testsupport/dialect/Elasticsearch5TestDialect.java
    M integrationtest/backend/elasticsearch/src/test/java/org/hibernate/search/integrationtest/backend/elasticsearch/testsupport/dialect/Elasticsearch6TestDialect.java
    M integrationtest/backend/elasticsearch/src/test/java/org/hibernate/search/integrationtest/backend/elasticsearch/testsupport/dialect/Elasticsearch7TestDialect.java
    M integrationtest/backend/elasticsearch/src/test/java/org/hibernate/search/integrationtest/backend/elasticsearch/testsupport/dialect/ElasticsearchTestDialect.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/util/rule/SearchSetupHelper.java

  Log Message:
  -----------
  HSEARCH-3523 Start the Elasticsearch client as late as possible


  Commit: 913d879eb324d2d8379072e303885d2cddc56f4d
      https://github.com/hibernate/hibernate-search/commit/913d879eb324d2d8379072e303885d2cddc56f4d
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-03-21 (Thu, 21 Mar 2019)

  Changed paths:
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/bootstrap/impl/HibernateOrmIntegrationBooterImpl.java
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/bootstrap/impl/HibernateSearchIntegrator.java
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/bootstrap/spi/HibernateOrmIntegrationBooter.java
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/mapping/impl/HibernateOrmMappingInitiator.java
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/model/impl/HibernateOrmBootstrapIntrospector.java
    M mapper/orm/src/test/java/org/hibernate/search/mapper/orm/model/impl/HibernateOrmBootstrapIntrospectorAccessTypeTest.java

  Log Message:
  -----------
  HSEARCH-3523 Pass Metadata + BootstrapContext to the Hibernate ORM mapper instead of Metadata + ServiceRegistry


  Commit: 0b1fbb8db9d15a44946f02e76ee3f6983a9f4d87
      https://github.com/hibernate/hibernate-search/commit/0b1fbb8db9d15a44946f02e76ee3f6983a9f4d87
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-03-21 (Thu, 21 Mar 2019)

  Changed paths:
    R mapper/orm/src/main/java/org/hibernate/search/mapper/orm/bootstrap/impl/ExtendedBeanManagerSynchronizerContributor.java
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/bootstrap/impl/HibernateOrmIntegrationBooterImpl.java
    M mapper/orm/src/main/resources/META-INF/services/org.hibernate.service.spi.ServiceContributor

  Log Message:
  -----------
  HSEARCH-3523 Remove the need for the default EnvironmentSynchronizer to be a service in the ORM integration


  Commit: f2f9a20a4f3a9ba83610855209ae4a43876e705e
      https://github.com/hibernate/hibernate-search/commit/f2f9a20a4f3a9ba83610855209ae4a43876e705e
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-03-21 (Thu, 21 Mar 2019)

  Changed paths:
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/bootstrap/impl/HibernateOrmIntegrationBooterImpl.java
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/bootstrap/impl/HibernateSearchIntegrator.java
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/bootstrap/impl/HibernateSearchSessionFactoryObserver.java
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/event/impl/HibernateSearchEventListener.java
    R mapper/orm/src/main/java/org/hibernate/search/mapper/orm/event/impl/NonInitializedHibernateSearchState.java
    M mapper/orm/src/main/java/org/hibernate/search/mapper/orm/impl/HibernateSearchContextService.java

  Log Message:
  -----------
  HSEARCH-3523 Move the bootstrap orchestration code to HibernateOrmIntegrationBooterImpl

Not strictly necessary, but it looks clearer.


  Commit: 9b970f74bfd6059c873593ba63b1c046ea57c76d
      https://github.com/hibernate/hibernate-search/commit/9b970f74bfd6059c873593ba63b1c046ea57c76d
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-03-21 (Thu, 21 Mar 2019)

  Changed paths:
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/impl/ElasticsearchBackendImpl.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/index/impl/ElasticsearchIndexManagerBuilder.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/index/impl/ElasticsearchIndexManagerImpl.java

  Log Message:
  -----------
  HSEARCH-3523 Allow to define the refresh_after_write setting in the second phase of bootstrap


  Commit: c2a34e4ad72b28798c068bfd3be56aa468bb1c1f
      https://github.com/hibernate/hibernate-search/commit/c2a34e4ad72b28798c068bfd3be56aa468bb1c1f
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-03-21 (Thu, 21 Mar 2019)

  Changed paths:
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/impl/ElasticsearchBackendImpl.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/index/impl/ElasticsearchIndexManagerBuilder.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/index/impl/ElasticsearchIndexManagerImpl.java

  Log Message:
  -----------
  HSEARCH-3523 Allow to define the lifecycle strategy settings in the second phase of bootstrap


  Commit: 5de924e48fb506b1d7ede75163f26c7e903ef7dc
      https://github.com/hibernate/hibernate-search/commit/5de924e48fb506b1d7ede75163f26c7e903ef7dc
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-03-21 (Thu, 21 Mar 2019)

  Changed paths:
    A integrationtest/mapper/orm/src/test/java/org/hibernate/search/integrationtest/mapper/orm/bootstrap/HibernateOrmIntegrationBooterIT.java

  Log Message:
  -----------
  HSEARCH-3523 Test two-phase boot in the ORM mapper


Compare: https://github.com/hibernate/hibernate-search/compare/d3a05a14c91e...5de924e48fb5



More information about the hibernate-commits mailing list