Commit Graph

33428 Commits

Author SHA1 Message Date
Dawid Weiss 22232a66dd LUCENE-9232: don't fork daemon on the initial run that writes local settings. 2020-02-18 19:38:11 +01:00
Dawid Weiss 2a88aa9d0f LUCENE-9219: Port ECJ-based linter to gradle
Co-authored-by: Tomoko Uchida <tomoko@apache.org>
2020-02-19 02:43:47 +09:00
Christine Poerschke 003303a9cc SOLR-13041: Add hashCode for autoscaling.Condition to accompany the already present equals.
(Zsolt Gyulavari via Christine Poerschke)
2020-02-18 14:47:44 +00:00
Eric Pugh f23def6b72 SOLR-13965: s/StreamHandler/GraphHandler fix GraphHandler.getDescription()
(Eric Pugh via Christine Poerschke)
2020-02-18 14:32:52 +00:00
Eric Pugh 5d32c04096 SOLR-13965: StreamHandler class-level javadoc edits
(Eric Pugh via Christine Poerschke)
2020-02-18 14:31:44 +00:00
markharwood ce2959fe4c
LUCENE-9211 Add compression for Binary doc value fields (#1234)
Stores groups of 32 binary doc values in LZ4-compressed blocks.
2020-02-18 14:02:42 +00:00
Robert Muir ccb390d4a6
LUCENE-9220: prevent zip file reproducibility issues based on users umask 2020-02-17 13:34:00 -05:00
Robert Muir 0203815ab2
LUCENE-9220: regenerate all stemmers/stopwords/test data from snowball 2.0 (#1262)
Previous situation:

* The snowball base classes (Among, SnowballProgram, etc) had accumulated local performance-related changes. There was a task that would also "patch" generated classes (e.g. GermanStemmer) after-the-fact.
* Snowball classes had many "non-changes" from the original such as removal of tabs addition of javadocs, license headers, etc.
* Snowball test data (inputs and expected stems) was incorporated into lucene testing, but this was maintained manually. Also files had become large, making the test too slow (Nightly).
* Snowball stopwords lists from their website were manually maintained. In some cases encoding fixes were manually applied.
* Some generated stemmers (such as Estonian and Armenian) exist in lucene, but have no corresponding `.sbl` file in snowball sources at all.

Besides this mess, snowball project is "moving along" and acquiring new languages, adding non-BSD-licensed test data, huge test data, and other complexity. So it is time to automate the integration better.

New situation:

* Lucene has a `gradle snowball` regeneration task. It works on Linux or Mac only. It checks out their repos, applies the `snowball.patch` in our repository, compiles snowball stemmers, regenerates all java code, applies any adjustments so that our build is happy.
* Tests data is automatically regenerated from the commit hash of the snowball test data repository. Not all languages are tested from their data: only where the license is simple BSD. Test data is also (deterministically) sampled, so that we don't have huge files. We just want to make sure our integration works.
* Randomized tests are still set to test every language with generated fake words. The regeneration task ensures all languages get tested (it writes a simple text file list of them).
* Stopword files are automatically regenerated from the commit hash of the snowball website repository.
* The regeneration procedure is idempotent. This way when stuff does change, you know exactly what happened. For example if test data changes to a different license, you may see a git deletion. Or if a new language/stopwords/test data gets added, you will see git additions.
2020-02-17 12:38:01 -05:00
Claire Pollard 188f620208
Update README.txt (#1090)
Update the analysis-extras README to include reference to including solr-analysis-extras jar.
2020-02-15 22:57:46 +01:00
Maxim Antonov cbf0eba176 Fixes #124 in bin/solr for 'cdpath' users
Signed-off-by: Jan Høydahl <janhoy@apache.org>
2020-02-15 18:10:14 +01:00
Jan Høydahl c777db7c8a Add HTML output format to gitHubPRs.py
Also better JSON output structure
2020-02-15 02:06:16 +01:00
Chris Hostetter f549ee3535 SOLR-13794: Replace redundent test only copy of '_default' configset with SolrTestCase logic to correctly set 'solr.default.confdir' system property
This change allows us to remove kludgy test only code from ZkController
2020-02-14 11:36:53 -07:00
Ignacio Vera ebec456602
Return CELL_CROSSES_QUERY when point inside the triangle (#1259) 2020-02-14 17:06:33 +01:00
Erick Erickson 2b4fad53e5 Merge branch 'master' of https://gitbox.apache.org/repos/asf/lucene-solr 2020-02-14 10:46:53 -05:00
Erick Erickson f52676cd82 LUCENE-9224: (ant) RAT report complains about ... solr/webapp rat-report.xml (from gradle) 2020-02-14 10:46:44 -05:00
Ignacio Vera 4a54ffb553
LUCENE-9218: XYGeometries should expose values as floats (#1252) 2020-02-14 11:39:10 +01:00
Adrien Grand 5cbe58f22c
Add back assertions removed by LUCENE-9187. (#1236)
This time they would only apply to TestFastLZ4/TestHighLZ4 and avoid slowing
down all tests.
2020-02-14 10:37:06 +01:00
Dawid Weiss dcf448efeb LUCENE-9134: Minor cleanups. 2020-02-13 11:18:01 +01:00
Chris Hostetter f1fc3e7ba2 SOLR-14247: Revert SolrTestCase Logger removal 2020-02-12 11:51:36 -07:00
Chris Hostetter 49e20dbee4 SOLR-14245: Fix ReplicaListTransformerTest
Previous changes to this issue 'fixed' the way the test was creating mock Replica instances,
to ensure all properties were specified -- but these changes tickled a bug in the existing test
scaffolding that caused it's "expecations" to be based on a regex check against only the base "url"
even though the test logic itself looked at the entire "core url"

The result is that there were reproducible failures if/when the randomly generated regex matched
".*1.*" because the existing test logic did not expect that to match the url or a Replica with
a core name of "core1" because it only considered the base url
2020-02-12 11:10:26 -07:00
Erick Erickson 0767a9d4d7 Code comment only change 2020-02-11 19:32:54 -05:00
Erick Erickson f9357ab0d2
LUCENE-9134: Port ant-regenerate tasks to Gradle build (util and packed) (#1251)
* LUCENE-9134: Port ant-regenerate tasks to Gradle build
2020-02-11 18:56:11 -05:00
yonik c3e44e1fec SOLR-14058: fix peersync bounds check iterating over versions 2020-02-11 10:43:21 -08:00
David Smiley 9a4f7661e9
SOLR-14194: Highlighters now supports docValues for the uniqueKey
and the original highlighter can highlight docValues.
2020-02-11 02:18:08 -05:00
Mike 71b869381e
SOLR-14247 Remove unneeded sleeps (#1244) 2020-02-10 21:13:56 -06:00
Dawid Weiss b21312f411 SOLR-14243: ant clean-jars should not delete gradle-wrapper.jar. 2020-02-10 16:12:19 +01:00
Shalin Shekhar Mangar c65b97665c
SOLR-13996: Refactor HttpShardHandler.prepDistributed method (#1220)
SOLR-13996: Refactor HttpShardHandler.prepDistributed method into smaller pieces

This commit introduces an interface named ReplicaSource which is marked as experimental. It has two sub-classes named CloudReplicaSource (for solr cloud) and LegacyReplicaSource for non-cloud clusters. The prepDistributed method now calls out to these sub-classes depending on whether the cluster is running on cloud mode or not.
2020-02-10 19:57:05 +05:30
Ignacio Vera 87421d7231 LUCENE-9216: Make sure we index LEAST_DOUBLE_VALUE (#1246) 2020-02-10 11:50:08 +01:00
David Smiley 46c0945614 SOLR-14149: CHANGES.txt Remove off-topic stuff
* No Introduction (to Solr) header.  Point at solr-upgrade-notes.adoc instead
* No Getting Started header
* No Versions of Major Components header
* No "Upgrade Notes" for subsequent releases.  See solr-upgrade-notes.adoc
Closes #1202
2020-02-08 22:52:38 -05:00
Kevin Risden 3885a81aa4
SOLR-14038: Admin UI display for "state.json" should be in a scollable region
Signed-off-by: Kevin Risden <krisden@apache.org>
2020-02-08 12:02:23 -06:00
Kevin Risden c4a8a77d23
SOLR-14209: Upgrade JQuery to 3.4.1
* JQuery 2.1.3 to 3.4.1
* jstree 1.0-rc1 to v3.3.8

Closes #1209

Signed-off-by: Kevin Risden <krisden@apache.org>
2020-02-08 11:57:56 -06:00
Robert Muir f41eabdc5f
LUCENE-8279: fix javadocs wrong header levels and accessibility issues
Java 13 adds a new doclint check under "accessibility" that the html
header nesting level isn't crazy.

Many are incorrect because the html4-style javadocs had horrible
font-sizes, so developers used the wrong header level to work around it.
This is no issue in trunk (always html5).

Java recommends against using such structured tags at all in javadocs,
but that is a more involved change: this just "shifts" header levels
in documents to be correct.
2020-02-08 10:00:00 -05:00
Shalin Shekhar Mangar f5c132be6d SOLR-14248: Improve ClusterStateMockUtil and make its methods public 2020-02-08 11:59:27 +05:30
Anshum Gupta 7c20f6b8c5
LUCENE-9146: Create gradle precommit action (#1245) 2020-02-07 15:10:09 -08:00
Robert Muir 69f26d099e
LUCENE-9213: fix documentation-lint (and finally precommit) to work on java 12 and 13
the "missing javadocs" checker needed tweaks to work with the format
changes of java 13.

As a followup we may investigate javadoc (maybe the new doclet api). It
has its own missing checks too now, but they are black vs white (either
fully documented or not checked), whereas this python tool allows us to
"improve", e.g. enforce that all classes have doc, even if all
methods do not yet.
2020-02-07 17:18:26 -05:00
Nicholas Knize 206a70e7b7 LUCENE-9149: Increase data dimension limit in BKD 2020-02-07 16:08:14 -06:00
Ignacio Vera 73dbf6d061
UCENE-9194: Simplify XYShapeXQuery API by adding a new abstract class called XYGeometry 2020-02-07 19:29:13 +01:00
Andrzej Bialecki 9a19093586 SOLR-14245: Validate Replica / ReplicaInfo on creation. 2020-02-07 17:56:39 +01:00
Adrien Grand c0d1f30236 SOLR-12930: Exclude dev-docs from binary archive. 2020-02-07 10:37:43 +01:00
Robert Muir a77bb1e6f5
LUCENE-9201: add overview.html from correct location to the javadocs in gradle build 2020-02-07 00:18:20 -05:00
Robert Muir 860115e450
LUCENE-9209: revert changes to test html file, not intended 2020-02-06 22:40:40 -05:00
Robert Muir 0d339043e3
LUCENE-9209: fix javadocs to be html5, enable doclint html checks, remove jtidy
Current javadocs declare an HTML5 doctype: !DOCTYPE HTML. Some HTML5
features are used, but unfortunately also some constructs that do not
exist in HTML5 are used as well.

Because of this, we have no checking of any html syntax. jtidy is
disabled because it works with html4. doclint is disabled because it
works with html5. our docs are neither.

javadoc "doclint" feature can efficiently check that the html isn't
crazy. we just have to fix really ancient removed/deprecated stuff
(such as use of tt tag).

This enables the html checking in both ant and gradle. The docs are
fixed via straightforward transformations.

One exception is table cellpadding, for this some helper CSS classes
were added to make the transition easier (since it must apply padding
to inner th/td, not possible inline). I added TODOs, we should clean
this up. Most problems look like they may have been generated from a
GUI or similar and not a human.
2020-02-06 22:30:52 -05:00
Mike abd282d258
LUCENE-9142 Refactor IntSet operations for determinize (#1184)
* LUCENE-9142 Refactor SortedIntSet for equality

Split SortedIntSet into a class heirarchy to make comparisons to
FrozenIntSet more meaningful. Use Arrays.equals for more efficient
comparison. Add tests for IntSet to verify correctness.
2020-02-06 12:16:45 -08:00
Tomoko Uchida f3cd1dbde3 LUCENE-9077: Force locale en_US on Javadoc task (workaroud for JDK-8222793) 2020-02-07 01:36:45 +09:00
Adrien Grand 85dba7356f LUCENE-9147: Make sure temporary files get deleted on all code paths. 2020-02-06 17:13:28 +01:00
Robert Muir 7f4560c59a
LUCENE-9199: allow building javadocs on java 13+ 2020-02-06 10:39:41 -05:00
Alan Woodward 7c1ba1aebe
LUCENE-9099: Correctly handle repeats in ORDERED and UNORDERED intervals (#1097)
If you have repeating intervals in an ordered or unordered interval source, you currently 
get somewhat confusing behaviour:

* `ORDERED(a, a, b)` will return an extra interval over just a b if it first matches a a b, meaning
that you can get incorrect results if used in a `CONTAINING` filter - 
`CONTAINING(ORDERED(x, y), ORDERED(a, a, b))` will match on the document `a x a b y`
* `UNORDERED(a, a)` will match on documents that just containg a single a.

This commit adds a RepeatingIntervalsSource that correctly handles repeats within 
ordered and unordered sources. It also changes the way that gaps are calculated within 
ordered and unordered sources, by using a new width() method on IntervalIterator. The 
default implementation just returns end() - start() + 1, but RepeatingIntervalsSource 
instead returns the sum of the widths of its child iterators. This preserves maxgaps filtering 
on ordered and unordered sources that contain repeats.

In order to correctly handle matches in this scenario, IntervalsSource#matches now always 
returns an explicit IntervalsMatchesIterator rather than a plain MatchesIterator, which adds 
gaps() and width() methods so that submatches can be combined in the same way that 
subiterators are. Extra checks have been added to checkIntervals() to ensure that the same 
intervals are returned by both iterator and matches, and a fix to 
DisjunctionIntervalIterator#matches() is also included - DisjunctionIntervalIterator minimizes 
its intervals, while MatchesUtils.disjunction does not, so there was a discrepancy between 
the two methods.
2020-02-06 14:44:47 +00:00
Adrien Grand fdf5ade727 LUCENE-9147: Fix codec excludes. 2020-02-06 10:34:03 +01:00
Adrien Grand 1b882246d7 LUCENE-9147: Avoid reusing file names with FileSwitchDirectory or NRTCachingDirectory and IOContext randomization. 2020-02-06 08:27:33 +01:00
Robert Muir 63be99bf12
SOLR-14118: default embedded zookeeper port to localhost 2020-02-05 21:33:37 -05:00