[hibernate-commits] [hibernate/hibernate-search] e81445: HSEARCH-3892 Introduce TestIndexMapping for easier...

Yoann Rodière noreply at github.com
Wed Apr 15 08:06:40 EDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/hibernate/hibernate-search
  Commit: e81445e4d2a3bdb154d0ff60c9006bc9f64422a3
      https://github.com/hibernate/hibernate-search/commit/e81445e4d2a3bdb154d0ff60c9006bc9f64422a3
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-04-15 (Wed, 15 Apr 2020)

  Changed paths:
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/util/rule/SearchSetupHelper.java
    M integrationtest/performance/backend/base/src/main/java/org/hibernate/search/integrationtest/performance/backend/base/AbstractMassIndexingBenchmarks.java
    M integrationtest/performance/backend/base/src/main/java/org/hibernate/search/integrationtest/performance/backend/base/AbstractOnTheFlyIndexingBenchmarks.java
    M integrationtest/performance/backend/base/src/main/java/org/hibernate/search/integrationtest/performance/backend/base/testsupport/index/AbstractBackendHolder.java
    M integrationtest/performance/backend/base/src/main/java/org/hibernate/search/integrationtest/performance/backend/base/testsupport/index/IndexInitializer.java
    M integrationtest/performance/backend/base/src/main/java/org/hibernate/search/integrationtest/performance/backend/base/testsupport/index/MappedIndex.java
    A util/internal/integrationtest/mapper/stub/src/main/java/org/hibernate/search/util/impl/integrationtest/mapper/stub/SimpleMappedIndex.java
    A util/internal/integrationtest/mapper/stub/src/main/java/org/hibernate/search/util/impl/integrationtest/mapper/stub/StubMappedIndex.java
    M util/internal/integrationtest/mapper/stub/src/main/java/org/hibernate/search/util/impl/integrationtest/mapper/stub/StubMapper.java
    M util/internal/integrationtest/mapper/stub/src/main/java/org/hibernate/search/util/impl/integrationtest/mapper/stub/StubMapping.java
    M util/internal/integrationtest/mapper/stub/src/main/java/org/hibernate/search/util/impl/integrationtest/mapper/stub/StubMappingIndexManager.java
    M util/internal/integrationtest/mapper/stub/src/main/java/org/hibernate/search/util/impl/integrationtest/mapper/stub/StubMappingInitiator.java
    M util/internal/integrationtest/mapper/stub/src/main/java/org/hibernate/search/util/impl/integrationtest/mapper/stub/StubMappingPartialBuildState.java
    R util/internal/integrationtest/mapper/stub/src/main/java/org/hibernate/search/util/impl/integrationtest/mapper/stub/StubTypeMetadataContributor.java

  Log Message:
  -----------
  HSEARCH-3892 Introduce TestIndexMapping for easier test fixture implementation


  Commit: fa17bb3dd1540b7ac79ca1ad2a99a4d65ea1b232
      https://github.com/hibernate/hibernate-search/commit/fa17bb3dd1540b7ac79ca1ad2a99a4d65ea1b232
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-04-15 (Wed, 15 Apr 2020)

  Changed paths:
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/aggregation/AggregationBaseIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/aggregation/RangeAggregationSpecificsIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/aggregation/SingleFieldAggregationBaseIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/aggregation/SingleFieldAggregationUnsupportedTypesIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/aggregation/TermsAggregationSpecificsIT.java

  Log Message:
  -----------
  HSEARCH-3892 Convert aggregation tests to using SimpleMappedIndex


  Commit: cab3ea39673e3529fe1faae3d7dccd4cdd84a3f4
      https://github.com/hibernate/hibernate-search/commit/cab3ea39673e3529fe1faae3d7dccd4cdd84a3f4
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-04-15 (Wed, 15 Apr 2020)

  Changed paths:
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/aggregation/RangeAggregationSpecificsIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/aggregation/SingleFieldAggregationBaseIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/aggregation/SingleFieldAggregationUnsupportedTypesIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/aggregation/TermsAggregationSpecificsIT.java

  Log Message:
  -----------
  HSEARCH-3892 Convert aggregation tests to using SimpleFieldModel


  Commit: e9ae8695cbee48aeda97eeeba553d9912bbe8df5
      https://github.com/hibernate/hibernate-search/commit/e9ae8695cbee48aeda97eeeba553d9912bbe8df5
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-04-15 (Wed, 15 Apr 2020)

  Changed paths:
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/types/FieldTypeDescriptor.java
    M integrationtest/mapper/pojo-base/src/test/java/org/hibernate/search/integrationtest/mapper/pojo/testsupport/types/PropertyTypeDescriptor.java

  Log Message:
  -----------
  HSEARCH-3892 Use a shorter toString() for FieldTypeDescriptor/PropertyTypeDescriptor

Because parameters of parameterized tests are unreadable otherwise.


  Commit: 5193aa553d6c550814145f6d3230eabe1b8fb295
      https://github.com/hibernate/hibernate-search/commit/5193aa553d6c550814145f6d3230eabe1b8fb295
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-04-15 (Wed, 15 Apr 2020)

  Changed paths:
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/aggregation/RangeAggregationSpecificsIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/aggregation/SingleFieldAggregationBaseIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/aggregation/SingleFieldAggregationUnsupportedTypesIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/aggregation/TermsAggregationSpecificsIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/operations/RangeAggregationDescriptor.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/operations/TermsAggregationDescriptor.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/operations/expectations/SupportedSingleFieldAggregationExpectations.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/util/SimpleFieldModelsByType.java

  Log Message:
  -----------
  HSEARCH-3892 Align test fixtures for aggregation tests on FieldSearchSortBaseIT

We're going to test multiple index field structures, like in
FieldSearchSortBaseIT, and making these tests more similar to
FieldSearchSortBaseIT will make it easier to do so.


  Commit: 44f20850d345509ffc93aecc89fd524dad459058
      https://github.com/hibernate/hibernate-search/commit/44f20850d345509ffc93aecc89fd524dad459058
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-04-15 (Wed, 15 Apr 2020)

  Changed paths:
    R util/internal/test/src/main/java/org/hibernate/search/util/impl/test/singleinstance/AfterAll.java
    R util/internal/test/src/main/java/org/hibernate/search/util/impl/test/singleinstance/BeforeAll.java
    R util/internal/test/src/main/java/org/hibernate/search/util/impl/test/singleinstance/InstanceRule.java
    R util/internal/test/src/main/java/org/hibernate/search/util/impl/test/singleinstance/SingleInstanceRunnerWithParameters.java

  Log Message:
  -----------
  HSEARCH-3892 Remove the "single instance" runner

We don't use it anymore, and there are several caveats that we cannot
solve in JUnit 4 (such as test failures not being displayed correctly in
the IDE). Let's restore it if we really must, later.


  Commit: 03f7621e0dd3783ce6d361fa35f8cff89d75283c
      https://github.com/hibernate/hibernate-search/commit/03f7621e0dd3783ce6d361fa35f8cff89d75283c
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-04-15 (Wed, 15 Apr 2020)

  Changed paths:
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/aggregation/SingleFieldAggregationBaseIT.java
    A integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/aggregation/SingleFieldAggregationTypeCheckingAndConversionIT.java

  Log Message:
  -----------
  HSEARCH-3892 Move type-checking and type-conversion tests for single-field aggregations to a dedicated class


  Commit: 7ad87153cd0d2324f039621b79291aaf50269127
      https://github.com/hibernate/hibernate-search/commit/7ad87153cd0d2324f039621b79291aaf50269127
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-04-15 (Wed, 15 Apr 2020)

  Changed paths:
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/resources/impl/BackendThreads.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/resources/impl/BackendThreads.java

  Log Message:
  -----------
  HSEARCH-3892 Avoid NPE when stopping threads that are not started yet.

Not related to this PR, but I encountered this problem while debugging
and a bootstrap failure occured.


  Commit: 4c1be89146950fa6c74a6fe9d55193b195ca7ef7
      https://github.com/hibernate/hibernate-search/commit/4c1be89146950fa6c74a6fe9d55193b195ca7ef7
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-04-15 (Wed, 15 Apr 2020)

  Changed paths:
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/aggregation/SingleFieldAggregationBaseIT.java

  Log Message:
  -----------
  HSEARCH-3892 More exhaustive tests for aggregations on multiple field structures (nested, nested twice...)


  Commit: 6ff7f03693ff195e78885b88b58f43fe05818f4e
      https://github.com/hibernate/hibernate-search/commit/6ff7f03693ff195e78885b88b58f43fe05818f4e
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-04-15 (Wed, 15 Apr 2020)

  Changed paths:
    M integrationtest/backend/elasticsearch/src/test/java/org/hibernate/search/integrationtest/backend/elasticsearch/work/ElasticsearchZeroDowntimeReindexingIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/query/SearchQueryBaseIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/query/SearchQueryFetchIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/sharding/AbstractShardingIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/work/AbstractIndexWorkspaceSimpleOperationIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/work/IndexIndexerIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/work/IndexWorkspaceIT.java
    M integrationtest/performance/backend/base/src/main/java/org/hibernate/search/integrationtest/performance/backend/base/AbstractMassIndexingBenchmarks.java
    M integrationtest/performance/backend/base/src/main/java/org/hibernate/search/integrationtest/performance/backend/base/testsupport/index/IndexInitializer.java
    M util/internal/integrationtest/mapper/stub/src/main/java/org/hibernate/search/util/impl/integrationtest/mapper/stub/StubMappingIndexManager.java

  Log Message:
  -----------
  HSEARCH-3892 Remove an unused parameter in StubMappingIndexManager#createIndexer()

This was an oversight in HSEARCH-3822


  Commit: bed7a84e0d5784d1e56538adad239255a4852ee2
      https://github.com/hibernate/hibernate-search/commit/bed7a84e0d5784d1e56538adad239255a4852ee2
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-04-15 (Wed, 15 Apr 2020)

  Changed paths:
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/aggregation/SingleFieldAggregationBaseIT.java

  Log Message:
  -----------
  HSEARCH-3892 Speed up data initialization in SingleFieldAggregationBaseIT

With all the combinations, indexing serially is becoming too slow.


  Commit: 182fb9722e29f54b72afdd3c4245b882b96bd36c
      https://github.com/hibernate/hibernate-search/commit/182fb9722e29f54b72afdd3c4245b882b96bd36c
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-04-15 (Wed, 15 Apr 2020)

  Changed paths:
    M build-config/src/main/java/org/hibernate/checkstyle/filters/ExcludeTestPackages.java

  Log Message:
  -----------
  HSEARCH-3892 Relax some checkstyle rules for integration tests


  Commit: 973e525b4c638dcc6cb9f8c05f1e9cfd2b20ea5a
      https://github.com/hibernate/hibernate-search/commit/973e525b4c638dcc6cb9f8c05f1e9cfd2b20ea5a
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-04-15 (Wed, 15 Apr 2020)

  Changed paths:
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/util/rule/SearchSetupHelper.java

  Log Message:
  -----------
  HSEARCH-3892 Add some logging to tests for easier debugging of test setup failures


  Commit: 7333baed5ca632c939972a74fb88f749f2e6abe0
      https://github.com/hibernate/hibernate-search/commit/7333baed5ca632c939972a74fb88f749f2e6abe0
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-04-15 (Wed, 15 Apr 2020)

  Changed paths:
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/join/impl/NestedDocsProvider.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/query/impl/Queries.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/predicate/impl/LuceneNestedPredicateBuilder.java

  Log Message:
  -----------
  HSEARCH-3892 Fix a bug where child documents could be assigned to the wrong parent in Lucene queries


  Commit: 03188714cc3f03dac07a7c6647145f9f71eeb993
      https://github.com/hibernate/hibernate-search/commit/03188714cc3f03dac07a7c6647145f9f71eeb993
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-04-15 (Wed, 15 Apr 2020)

  Changed paths:
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/aggregation/impl/AbstractElasticsearchBucketAggregation.java
    A backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/aggregation/impl/AbstractElasticsearchNestableAggregation.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/aggregation/impl/ElasticsearchRangeAggregation.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/aggregation/impl/ElasticsearchSearchAggregationBuilderFactory.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/aggregation/impl/ElasticsearchTermsAggregation.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/types/aggregation/impl/ElasticsearchBooleanFieldAggregationBuilderFactory.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/types/aggregation/impl/ElasticsearchFieldAggregationBuilderFactory.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/types/aggregation/impl/ElasticsearchGeoPointFieldAggregationBuilderFactory.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/types/aggregation/impl/ElasticsearchStandardFieldAggregationBuilderFactory.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/types/aggregation/impl/ElasticsearchTextFieldAggregationBuilderFactory.java

  Log Message:
  -----------
  HSEARCH-3892 Aggregations on fields in nested objects for Elasticsearch


  Commit: e253a606c08c8b9001b4cd1c394e26ae021f0c34
      https://github.com/hibernate/hibernate-search/commit/e253a606c08c8b9001b4cd1c394e26ae021f0c34
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-04-15 (Wed, 15 Apr 2020)

  Changed paths:
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/document/impl/LuceneIndexEntryFactory.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/document/impl/LuceneRootDocumentBuilder.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/document/model/dsl/impl/LuceneIndexSchemaRootNodeBuilder.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/document/model/impl/LuceneIndexModel.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/document/model/impl/LuceneIndexSchemaNodeCollector.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/index/impl/IndexManagerBackendContext.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/index/impl/LuceneIndexManagerBuilder.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/logging/impl/Log.java
    A backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/facet/impl/TextMultiValueFacetCounts.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/aggregation/impl/AbstractLuceneFacetsBasedTermsAggregation.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/aggregation/impl/LuceneTextTermsAggregation.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/codec/impl/LuceneStringFieldCodec.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/dsl/impl/AbstractLuceneNumericIndexFieldTypeOptionsStep.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/dsl/impl/LuceneGeoPointIndexFieldTypeOptionsStep.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/dsl/impl/LuceneNativeIndexFieldTypeOptionsStep.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/dsl/impl/LuceneStringIndexFieldTypeOptionsStep.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/impl/LuceneIndexFieldType.java

  Log Message:
  -----------
  HSEARCH-3892 Move away from FacetConfig/SortedSetDocValuesFacetCounts for text doc values used in aggregations

1. SortedSetDocValuesFacetCounts does not support nested documents
2. SortedSetDocValuesFacetCounts depends heavily on how FacetConfig
   organizes doc values, with some dependencies on internal code.
3. FacetConfig is able to do much more than what we need, and is very
   complicated. So we don't want to copy that.

Thus I copied SortedSetDocValuesFacetCounts to our project as
TextMultiValueFacetCounts, and removed the FacetConfig parts.

I'll adapt the code to support nested documents it in the next few commits.


  Commit: fdd7f228ad316cb76a087e99911fb982409193f3
      https://github.com/hibernate/hibernate-search/commit/fdd7f228ad316cb76a087e99911fb982409193f3
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-04-15 (Wed, 15 Apr 2020)

  Changed paths:
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/facet/impl/TextMultiValueFacetCounts.java

  Log Message:
  -----------
  HSEARCH-3892 Avoid the use of ConjunctionDISI in TextMultiValueFacetCounts

First because ConjunctionDISI is internal to Lucene and shouldn't be
used elsewhere, and second because it won't work when we switch to our
own TextValues which do not extend DocIdSetIterator (nextDoc(),
advance(), etc.).

The performance cost shouldn't be too high as long as documents without
a value are relatively rare, and in any case we already pay the same cost
for numeric aggregations.


  Commit: 65c66d90a82e212436370c4d2aca6f19d08d71b7
      https://github.com/hibernate/hibernate-search/commit/65c66d90a82e212436370c4d2aca6f19d08d71b7
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-04-15 (Wed, 15 Apr 2020)

  Changed paths:
    A backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/JoiningTextMultiValuesSource.java
    A backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/TextMultiValues.java
    A backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/TextMultiValuesSource.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/facet/impl/TextMultiValueFacetCounts.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/aggregation/impl/LuceneTextTermsAggregation.java

  Log Message:
  -----------
  HSEARCH-3892 Aggregations on text fields in nested objects for Lucene


  Commit: a2b87c5df0c477dc3d2a55f72f6a772c98714458
      https://github.com/hibernate/hibernate-search/commit/a2b87c5df0c477dc3d2a55f72f6a772c98714458
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-04-15 (Wed, 15 Apr 2020)

  Changed paths:
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/LongMultiValuesSource.java

  Log Message:
  -----------
  HSEARCH-3892 Remove an invalid license header from LongMultiValuesSource

It was added by mistake.


Compare: https://github.com/hibernate/hibernate-search/compare/9f216b4f8c6f...a2b87c5df0c4



More information about the hibernate-commits mailing list