This is an automated email from the ASF dual-hosted git repository. janhoy pushed a commit to tag history/branches/lucene-solr/jira/solr-13004-8x in repository https://gitbox.apache.org/repos/asf/solr.git
commit 5f12ac47dbf810b866f7a203875660e355e33aa9 Author: Ishan Chattopadhyaya <[email protected]> AuthorDate: Mon Apr 6 22:33:31 2020 +0530 SOLR-13004: Fixing unit tests to handle the integer/long conversion --- solr/core/src/java/org/apache/solr/search/Grouping.java | 5 +++-- .../shardresultserializer/TopGroupsResultTransformer.java | 2 +- .../grouping/endresulttransformer/GroupedEndResultTransformer.java | 7 ++++--- .../grouping/endresulttransformer/SimpleEndResultTransformer.java | 5 +++-- solr/core/src/test/org/apache/solr/TestDistributedGrouping.java | 4 ++-- solr/core/src/test/org/apache/solr/TestGroupingSearch.java | 2 +- solr/solrj/src/test-files/solrj/sampleGroupResponse.xml | 4 ++-- 7 files changed, 16 insertions(+), 13 deletions(-) diff --git a/solr/core/src/java/org/apache/solr/search/Grouping.java b/solr/core/src/java/org/apache/solr/search/Grouping.java index e40b152..942bd00 100644 --- a/solr/core/src/java/org/apache/solr/search/Grouping.java +++ b/solr/core/src/java/org/apache/solr/search/Grouping.java @@ -61,6 +61,7 @@ import org.apache.solr.common.SolrException; import org.apache.solr.common.SolrException.ErrorCode; import org.apache.solr.common.util.NamedList; import org.apache.solr.common.util.SimpleOrderedMap; +import org.apache.solr.common.util.Utils; import org.apache.solr.request.SolrQueryRequest; import org.apache.solr.schema.FieldType; import org.apache.solr.schema.SchemaField; @@ -598,10 +599,10 @@ public class Grouping { grouped.add(key, groupResult); // grouped={ key={ long matches = getMatches(); - groupResult.add("matches", matches); + groupResult.add("matches", Utils.intIfNotOverflown(matches)); if (totalCount == TotalCount.grouped) { Long totalNrOfGroups = getNumberOfGroups(); - groupResult.add("ngroups", totalNrOfGroups == null ? Long.valueOf(0) : totalNrOfGroups); + groupResult.add("ngroups", Utils.intIfNotOverflown(totalNrOfGroups == null ? Long.valueOf(0) : totalNrOfGroups)); } maxMatches = Math.max(maxMatches, matches); return groupResult; diff --git a/solr/core/src/java/org/apache/solr/search/grouping/distributed/shardresultserializer/TopGroupsResultTransformer.java b/solr/core/src/java/org/apache/solr/search/grouping/distributed/shardresultserializer/TopGroupsResultTransformer.java index ae5bd4c..6e6a693 100644 --- a/solr/core/src/java/org/apache/solr/search/grouping/distributed/shardresultserializer/TopGroupsResultTransformer.java +++ b/solr/core/src/java/org/apache/solr/search/grouping/distributed/shardresultserializer/TopGroupsResultTransformer.java @@ -99,7 +99,7 @@ public class TopGroupsResultTransformer implements ShardResultTransformer<List<C Long totalGroupedHitCount = commandResult.get("totalGroupedHitCount")==null? null: ((Number) commandResult.get("totalGroupedHitCount")).longValue(); Number totalHits = (Number) commandResult.get("totalHits"); // previously Integer now Long if (totalHits != null) { - Long matches = (Long) commandResult.get("matches"); + long matches = ((Number) commandResult.get("matches")).longValue(); Float maxScore = (Float) commandResult.get("maxScore"); if (maxScore == null) { maxScore = Float.NaN; diff --git a/solr/core/src/java/org/apache/solr/search/grouping/endresulttransformer/GroupedEndResultTransformer.java b/solr/core/src/java/org/apache/solr/search/grouping/endresulttransformer/GroupedEndResultTransformer.java index 9f26b8f..4fabcc1 100644 --- a/solr/core/src/java/org/apache/solr/search/grouping/endresulttransformer/GroupedEndResultTransformer.java +++ b/solr/core/src/java/org/apache/solr/search/grouping/endresulttransformer/GroupedEndResultTransformer.java @@ -34,6 +34,7 @@ import org.apache.solr.common.SolrException; import org.apache.solr.common.SolrException.ErrorCode; import org.apache.solr.common.util.NamedList; import org.apache.solr.common.util.SimpleOrderedMap; +import org.apache.solr.common.util.Utils; import org.apache.solr.handler.component.ResponseBuilder; import org.apache.solr.schema.FieldType; import org.apache.solr.schema.SchemaField; @@ -62,10 +63,10 @@ public class GroupedEndResultTransformer implements EndResultTransformer { @SuppressWarnings("unchecked") TopGroups<BytesRef> topGroups = (TopGroups<BytesRef>) value; NamedList<Object> command = new SimpleOrderedMap<>(); - command.add("matches", rb.totalHitCount); + command.add("matches", Utils.intIfNotOverflown(rb.totalHitCount)); Long totalGroupCount = rb.mergedGroupCounts.get(entry.getKey()); if (totalGroupCount != null) { - command.add("ngroups", totalGroupCount); + command.add("ngroups", Utils.intIfNotOverflown(totalGroupCount)); } List<NamedList> groups = new ArrayList<>(); @@ -102,7 +103,7 @@ public class GroupedEndResultTransformer implements EndResultTransformer { } else if (QueryCommandResult.class.isInstance(value)) { QueryCommandResult queryCommandResult = (QueryCommandResult) value; NamedList<Object> command = new SimpleOrderedMap<>(); - command.add("matches", queryCommandResult.getMatches()); + command.add("matches", Utils.intIfNotOverflown(queryCommandResult.getMatches())); SolrDocumentList docList = new SolrDocumentList(); TopDocs topDocs = queryCommandResult.getTopDocs(); assert topDocs.totalHits.relation == TotalHits.Relation.EQUAL_TO; diff --git a/solr/core/src/java/org/apache/solr/search/grouping/endresulttransformer/SimpleEndResultTransformer.java b/solr/core/src/java/org/apache/solr/search/grouping/endresulttransformer/SimpleEndResultTransformer.java index 0723136..af2f077 100644 --- a/solr/core/src/java/org/apache/solr/search/grouping/endresulttransformer/SimpleEndResultTransformer.java +++ b/solr/core/src/java/org/apache/solr/search/grouping/endresulttransformer/SimpleEndResultTransformer.java @@ -27,6 +27,7 @@ import org.apache.solr.common.SolrDocument; import org.apache.solr.common.SolrDocumentList; import org.apache.solr.common.util.NamedList; import org.apache.solr.common.util.SimpleOrderedMap; +import org.apache.solr.common.util.Utils; import org.apache.solr.handler.component.ResponseBuilder; import org.apache.solr.search.grouping.distributed.command.QueryCommandResult; @@ -44,9 +45,9 @@ public class SimpleEndResultTransformer implements EndResultTransformer { @SuppressWarnings("unchecked") TopGroups<BytesRef> topGroups = (TopGroups<BytesRef>) value; NamedList<Object> command = new SimpleOrderedMap<>(); - command.add("matches", rb.totalHitCount); + command.add("matches", Utils.intIfNotOverflown(rb.totalHitCount)); if (topGroups.totalGroupCount != null) { - command.add("ngroups", topGroups.totalGroupCount); + command.add("ngroups", Utils.intIfNotOverflown(topGroups.totalGroupCount)); } SolrDocumentList docList = new SolrDocumentList(); docList.setStart(rb.getGroupingSpec().getGroupSortSpec().getOffset()); diff --git a/solr/core/src/test/org/apache/solr/TestDistributedGrouping.java b/solr/core/src/test/org/apache/solr/TestDistributedGrouping.java index a875f27..08f7ac1 100644 --- a/solr/core/src/test/org/apache/solr/TestDistributedGrouping.java +++ b/solr/core/src/test/org/apache/solr/TestDistributedGrouping.java @@ -311,8 +311,8 @@ public class TestDistributedGrouping extends BaseDistributedSearchTestCase { QueryResponse rsp = client.query(params); NamedList nl = (NamedList<?>) rsp.getResponse().get("grouped"); nl = (NamedList<?>) nl.getVal(0); - long matches = (Long) nl.getVal(0); - long groupCount = (Long) nl.get("ngroups"); + long matches = ((Number) nl.getVal(0)).longValue(); + long groupCount = ((Number) nl.get("ngroups")).longValue(); assertEquals(100 * shardsArr.length, matches); assertEquals(shardsArr.length, groupCount); diff --git a/solr/core/src/test/org/apache/solr/TestGroupingSearch.java b/solr/core/src/test/org/apache/solr/TestGroupingSearch.java index 35ef3c6..8591c7b 100644 --- a/solr/core/src/test/org/apache/solr/TestGroupingSearch.java +++ b/solr/core/src/test/org/apache/solr/TestGroupingSearch.java @@ -952,7 +952,7 @@ public class TestGroupingSearch extends SolrTestCaseJ4 { public static Object buildGroupedResult(IndexSchema schema, List<Grp> sortedGroups, int start, int rows, int group_offset, int group_limit, boolean includeNGroups) { Map<String,Object> result = new LinkedHashMap<>(); - long matches = 0; + int matches = 0; for (Grp grp : sortedGroups) { matches += grp.docs.size(); } diff --git a/solr/solrj/src/test-files/solrj/sampleGroupResponse.xml b/solr/solrj/src/test-files/solrj/sampleGroupResponse.xml index 6f71152..26fcdfa 100644 --- a/solr/solrj/src/test-files/solrj/sampleGroupResponse.xml +++ b/solr/solrj/src/test-files/solrj/sampleGroupResponse.xml @@ -13,8 +13,8 @@ </lst> <lst name="grouped"> <lst name="acco_id"> - <long name="matches">30000000</long> - <long name="ngroups">5687</long> + <int name="matches">30000000</int> + <int name="ngroups">5687</int> <arr name="groups"> <lst> <str name="groupValue">116_ar</str>
