Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding best_compression #49974

Merged
merged 702 commits into from
Feb 3, 2020
Merged
Show file tree
Hide file tree
Changes from 17 commits
Commits
Show all changes
702 commits
Select commit Hold shift + click to select a range
3f3f4ee
Upgrade to Lucene 8.4.0. (#50518)
jpountz Jan 8, 2020
1d882c9
Reenable bw tests after merging #50333. (#50746)
jpountz Jan 8, 2020
bca8790
[Docs] Update similarity.asciidoc (#50719)
blueSky1825821 Jan 8, 2020
3c37c16
[DOCS] Fixed typos (_op => op) in Painless context docs (#50301)
consulthys Jan 8, 2020
61b6994
[DOCS] Add default index-time analyzer example (#50501)
jrodewig Jan 8, 2020
3594fb2
Make Multiplexer inherit filter chains analysis mode (#50662)
Jan 8, 2020
95b2a79
ElasticSearchExceptionTests guessRootCauses fix (#50752)
henningandersen Jan 8, 2020
cbf47d4
Mute TimeSeriesLifecycleActionsIT.testHistoryIsWritten* (#50755)
dakrone Jan 8, 2020
b45d9a1
[DOCS] Adds DFA resources as deleted page to redirects. (#50756)
szabosteve Jan 8, 2020
7fe8f02
Fix java home environment variables for experimental jjbb job
mark-vieira Jan 8, 2020
49a8048
Inject environment variables like we do in other CI builds
mark-vieira Jan 8, 2020
e796b55
[DOCS] Add overview page to analysis topic (#50515)
jrodewig Jan 8, 2020
d4ea1a5
Make InitializePolicyContextStep retryable (#50685)
dakrone Jan 8, 2020
5aff41d
Fix open/close race in ConnectionManagerTests (#50621)
Tim-Brooks Jan 8, 2020
720ec8f
[DOCS] Add section ID to analysis overview page
jrodewig Jan 8, 2020
e6fba66
SQL: Optimisation fixes for conjunction merges (#50703)
bpintea Jan 8, 2020
8cc63a0
Add experimental build for identifying docker-compose issues in CI
mark-vieira Jan 8, 2020
ab7c3b5
Ensure that field collapsing works with field aliases. (#50722)
jtibshirani Jan 8, 2020
6fcb6b4
Remove UBI-based Docker images (#50747)
jasontedor Jan 8, 2020
e38de2e
Another attempt to work around the JJBB job workspace issue
mark-vieira Jan 8, 2020
3465efa
Disable the build trigger until we sort out the JJBB workspace issue
mark-vieira Jan 8, 2020
027546b
Foreach processor - fork recursive call (#50514)
jakelandis Jan 8, 2020
8801ed0
Adjust the skip version in tests for field collapsing with aliases.
jtibshirani Jan 8, 2020
ee20767
ILM action to wait for SLM policy execution (#50454)
probakowski Jan 9, 2020
2a372a9
Wrap triggering of a watch inside an assertBusy(...) invocation
martijnvg Jan 9, 2020
d377298
[DOCS] Improves description for forecast_stats (#50729)
szabosteve Jan 9, 2020
1ecb19e
Enforce Logging of Errors in GCS Rest RetriesTests (#50761)
original-brownbear Jan 9, 2020
2d27087
[DOCS] Clarifies model_size_stats.total_xxx_field_count objects and r…
szabosteve Jan 9, 2020
4f1a344
[DOCS] Forms role and privilege requirements as bulleted lists in DFA…
szabosteve Jan 9, 2020
2f9db15
[DOCS] Improves find_file_structure documentation (#50743)
szabosteve Jan 9, 2020
76c6cd1
Remove Snapshot Tool from 8.0+ (#50784)
original-brownbear Jan 9, 2020
323ea17
[DOCS] Moves analysis resources to PUT DFA API docs (#50704)
szabosteve Jan 9, 2020
c093f7f
Mute TimeSeriesLifecycleActionsIT.testWaitForSnapshot (#50790)
original-brownbear Jan 9, 2020
6b9eba0
[ML][Inference][HLRC] Add necessary lang ident classes (#50705)
benwtrent Jan 9, 2020
dcbe7bb
Fix Snapshot Repository Corruption in Downgrade Scenarios (#50692)
original-brownbear Jan 9, 2020
6ccef91
[Transform] fail to start/put on missing pipeline (#50701)
benwtrent Jan 9, 2020
ffba952
[DOCS] Fine-tunes data frame analytics API docs formatting. (#50799)
szabosteve Jan 9, 2020
62b13fe
Typo of ' instead of ` (#50767)
seanstory Jan 9, 2020
31a29df
Remove type parameter from CIR.mapping(type, object...) (#50739)
romseygeek Jan 9, 2020
5b7f001
[DOCS] Clarify detector_index property in ML APIs (#50723)
lcawl Jan 9, 2020
10ebe8c
Move scripted metric to ObjectParser (#50708)
nik9000 Jan 9, 2020
a357a0e
Drop "funny" functions building parsers (#50715)
nik9000 Jan 9, 2020
933a1bf
[DOCS] Update license expiry links (#50812)
lcawl Jan 9, 2020
e8602cf
Fix typo in refresh API docs (#50759)
mattayes Jan 9, 2020
fa60d92
Do not force refresh when write indexing buffer (#50769)
dnhatn Jan 9, 2020
2a29921
Correct the skip version in tests for field collapsing on an alias.
jtibshirani Jan 9, 2020
4f73522
Skip test suite entirely for non-applicable distribution types (#50824)
mark-vieira Jan 9, 2020
c1437be
[DOCS] Move snapshot-restore out of modules. (#49618)
debadair Jan 10, 2020
8f48f79
Remove the 'template' field in index templates. (#49460)
jtibshirani Jan 10, 2020
8334487
Review comments
SivagurunathanV Jan 10, 2020
61a61d7
Fix Snapshot Shard Status Request Deduplication (#50788)
original-brownbear Jan 10, 2020
331c6c8
Mute TimeSeriesLifecycleActionsIT.testWaitForSnapshotSlmExecutedBefor…
probakowski Jan 10, 2020
8cec7b1
[ML] Reuse SourceDestValidator for data frame analytics (#50841)
dimitris-athanasiou Jan 10, 2020
c63d440
Introduce reusable QL plugin for SQL and EQL (#50815)
costin Jan 10, 2020
c7f6de9
Fix MultiVersionRepositoryAccessIT Tests (#50848)
original-brownbear Jan 10, 2020
f04f7aa
GlobalBuildInfo support packed-refs with work-tree (#50791)
henningandersen Jan 10, 2020
a68e8da
[DOCS] Fix time_zone example in range query docs (#50830)
jrodewig Jan 10, 2020
a2e8f67
Remove type parameter from PutMappingRequest.buildFromSimplifiedDef()…
romseygeek Jan 10, 2020
853d528
[ML][Inference] Unify top_classes object field names with analytics (…
benwtrent Jan 10, 2020
0b67fa1
Fix testSkipRefreshIfShardIsRefreshingAlready (#50856)
henningandersen Jan 10, 2020
617b4a0
Fix upgrade of custom similarity (#50851)
jimczi Jan 10, 2020
adb135f
Drop BWC suppressions for composite aggs (#50857)
nik9000 Jan 10, 2020
f40bd30
Adjust the skip version in flattened field telemetry tests.
jtibshirani Jan 10, 2020
c5d2402
Fix format problem in composite of unmapped (#50869)
nik9000 Jan 10, 2020
c56637d
Fix SLM check for restore in progress (#50868)
dakrone Jan 10, 2020
d1adea6
Adding GET/PUT ILM cluster privileges to `kibana_system` role (#49451)
legrego Jan 10, 2020
51b11a0
Improve build scan tags and values for Jenkins matrix jobs (#50881)
mark-vieira Jan 10, 2020
0ff99b0
Delete experimental JJBB job
mark-vieira Jan 10, 2020
842a208
[ML][Inference] PUT API (#50852)
benwtrent Jan 11, 2020
c289beb
Fix non-corruption in testCurrentHeaderVersion (#50883)
DaveCTurner Jan 12, 2020
0265ba4
Fix memory leak in DLS bitset cache (#50635)
tvernum Jan 13, 2020
7f0fe96
Validate field permissions when creating a role (#50212)
tvernum Jan 13, 2020
bfd44b7
Increase Size and lower TTL on DLS BitSet Cache (#50535)
tvernum Jan 13, 2020
34401a2
Add max_resource_units to enterprise license (#50735)
tvernum Jan 13, 2020
913e285
Make .async-search-* a restricted namespace (#50294)
albertzaharovits Jan 13, 2020
40c522b
Nit fix test randomInt bound
albertzaharovits Jan 13, 2020
7604055
[ML][Inference] minor fixes for created_by, and action permission (#5…
benwtrent Jan 13, 2020
997dd5c
Prevent Old Version Clusters From Corrupting Snapshot Repositories (#…
original-brownbear Jan 13, 2020
581640f
Add certutil http command (#49827)
tvernum Jan 13, 2020
af85743
Move metadata storage to Lucene (#50907)
ywelsch Jan 13, 2020
3f83985
[DOCS] Correct typo in `ignore_malformed` mapping parm docs (#50780)
junmuz Jan 13, 2020
8327fc8
Disallow Password Change when authenticated by Token (#49694)
jkakavas Jan 13, 2020
d970d3f
Improve warning value extraction performance in Response (#50208)
darrenfoong Jan 13, 2020
3e82852
Use default profile for remote connections (#50828)
Tim-Brooks Jan 13, 2020
1d6ab13
Fix build scan logic to support folder nested Jenkins job names
mark-vieira Jan 13, 2020
21499b6
Add protection in windows for slow file lock releasing (#50884)
rjernst Jan 13, 2020
8b367c9
Migrate certgen packaging test from bats (#50880)
rjernst Jan 13, 2020
559e56b
Refresh cached phase policy definition if possible on new poli… (#50820)
dakrone Jan 13, 2020
8910197
[DOCS] Adds elasticsearch-keystore command reference (#50872)
lcawl Jan 13, 2020
f0bc900
Allow proxy mode server name to be configured (#50774)
Tim-Brooks Jan 13, 2020
8bdd29a
[DOCS] Array of index patterns is also valid source indices with tran…
geekpete Jan 13, 2020
80b9d6a
Increase timeouts in TimeSeriesLifecycleActionsIT#testWaitForSnapshot…
probakowski Jan 14, 2020
276b0ed
Deprecate synced flush (#50835)
dnhatn Jan 13, 2020
6b2a46d
Remove outdated requirement of CCR (#50859)
dnhatn Jan 14, 2020
9760f2d
Support Client and RoleMapping in custom Realms (#50534)
tvernum Jan 14, 2020
44c658c
Deprecating kibana_user and kibana_dashboard_only_user roles (#46456)
legrego Jan 14, 2020
d76283d
Add notice about official Rust client (#50897)
philkra Jan 14, 2020
30e9bfb
SQL: Fix incomplete registration of geo NamedWritables
costin Jan 14, 2020
1e3fdcf
Mute HttpCertificateCommandTests.testTextFileSubstitutions (#50965)
danielmitterdorfer Jan 14, 2020
8e10736
[DOCS] Correctly read total hits inside watcher config
Jan 14, 2020
9ecbbaf
Handle nested and aliased fields correctly when copying mapping. (#50…
przemekwitek Jan 14, 2020
dfd6a20
[Transform] correctly retrieve checkpoints from remote indices (#50903)
Jan 14, 2020
7d1e640
[ML] Add num_top_feature_importance_values param to regression and cl…
dimitris-athanasiou Jan 14, 2020
11c3dcd
Warn on slow metadata performance (#50956)
ywelsch Jan 14, 2020
249d040
Fix queuing in AsyncLucenePersistedState (#50958)
ywelsch Jan 14, 2020
5de2d0f
Check for deprecations when analyzers are built (#50908)
romseygeek Jan 14, 2020
830e616
[ML] Mute data frame analytics BWC tests (#50972)
dimitris-athanasiou Jan 14, 2020
9fa42ab
[DOCS] Use `s` parameter in cat API overview example (#50616)
jrodewig Jan 14, 2020
cd5ac8e
Work around JVM Bug in LongGCDisruptionTests (#50731)
original-brownbear Jan 14, 2020
91d7e32
Begin moving date_histogram to offset rounding (#50873)
nik9000 Jan 14, 2020
500aaab
Explicitly require a OriginSettingClient in ML results iterators (#50…
davidkyle Jan 14, 2020
2a70a65
Switch AggregationSpec to ContextParser (#50871)
nik9000 Jan 14, 2020
5b656db
Don't use user-supplied type when building DocumentMapper (#50960)
romseygeek Jan 14, 2020
a1df655
[ML] Unmute DFA BWC tests and fix versions after backport of #50914 (…
dimitris-athanasiou Jan 14, 2020
1fb1b57
Add "did you mean" to ObjectParser (#50938)
nik9000 Jan 14, 2020
a7e63f0
Revert "Update handshake response version constants to 7.6 (#48917)" …
Tim-Brooks Jan 14, 2020
b3501cb
[ML] Disable invalid assertion (#50986)
tveasey Jan 14, 2020
94e071d
Track Snapshot Version in RepositoryData (#50930)
original-brownbear Jan 14, 2020
a2ed7e9
Deprecate and remove camel-case nGram and edgeNGram tokenizers (#50862)
Jan 14, 2020
ab8627b
Adds support for geo-bounds filtering in geogrid aggregations (#50002)
talevy Jan 14, 2020
756683a
[ML][Inference] Adding classification_weights to ensemble models (#50…
benwtrent Jan 14, 2020
166fb0f
SQL: Extend the optimisations for equalities (#50792)
bpintea Jan 14, 2020
da6ed28
[DOCS] Fix realm chains example (#50568)
lcawl Jan 14, 2020
610c4ee
Allow installing multiple plugins as a transaction (#50924)
jasontedor Jan 14, 2020
cf35515
Remove custom metadata tool (#50813)
ywelsch Jan 14, 2020
00b11b9
Fix compilation for #50813
ywelsch Jan 14, 2020
1c45ebd
Add matrix job params as build scan tag
mark-vieira Jan 14, 2020
07b8e85
Disable BWC tests until #50996 is merged (#51002)
talevy Jan 14, 2020
10eb0e3
[DOCS] Fixes typo in keystore command
lcawl Jan 14, 2020
d976f31
re-enable bwc tests and update geo-grid bounds version guard to 7.6 a…
talevy Jan 14, 2020
a3e75e5
Change ExampleRescoreBuilder ctor visibility (#50922)
Arfey Jan 14, 2020
479768a
Report progress of multiple plugin installs (#51001)
jasontedor Jan 14, 2020
60ac896
[DOCS] Document `breakers`, `script`, and `discovery` node stats (#50…
jrodewig Jan 14, 2020
1ff5853
Migrate cron eval bats test to java (#50940)
rjernst Jan 14, 2020
c0a8f41
Add generated benchmark files to gitignore
gwbrown Jan 14, 2020
d6f728f
Fix windows chown to work with single file (#51004)
rjernst Jan 14, 2020
4c824a9
Update skip after backport (#51015)
nik9000 Jan 15, 2020
09c7703
[ML] Removed key value from the catch regex test (#50977)
delvedor Jan 15, 2020
af7b08a
[DOCS] Describes the relationship of the time-related settings in ano…
szabosteve Jan 15, 2020
1b2e8fb
Tidy up enrich processors: (#50957)
martijnvg Jan 15, 2020
db1b98f
[TEST] Increase ML distributed test job open timeout (#50998)
droberts195 Jan 15, 2020
78a49a7
QL: Extend NodeSubclass to read classes from jars (#50866)
costin Jan 15, 2020
b0586ad
QL: Remove implicit conversion inside Literal (#50962)
costin Jan 15, 2020
29599df
Tweak formatter config for long generic lines (#50909)
pugnascotia Jan 15, 2020
b9aa9df
[ML] Assert top classes are ordered by score (#51003)
tveasey Jan 15, 2020
9a9164a
Auto-format buildSrc (#50786)
pugnascotia Jan 15, 2020
8e797be
Add missing docs for new evaluation metrics (#50967)
przemekwitek Jan 15, 2020
99c8507
Block too many concurrent mapping updates (#51038)
ywelsch Jan 15, 2020
e397be1
Add version constant for 7.7.0
polyfractal Jan 15, 2020
ee02062
Add pipeline name to ingest metadata (#50467)
martijnvg Jan 15, 2020
b767760
[Docs] Fix sub-heading in start-stop-ilm.asciidoc (#51045)
robin13 Jan 15, 2020
de2d9a2
Guard against null settings in CCRIndexLifecycleIT (#51008)
dakrone Jan 15, 2020
826aa4c
Add blurb about ILM-injected unfollow action (#51009)
dakrone Jan 15, 2020
674732f
Add analysis components and mapping types to the usage API. (#51031)
jpountz Jan 15, 2020
66d1f54
Address failures in SnapshotLifecycleRestIT.testFullPolicySnap… (#51055)
dakrone Jan 15, 2020
d718468
Fix AllocateRoutedStepTests reusing keys for random values (#51016)
dakrone Jan 15, 2020
bbcd397
Fix NPE in PinnedQuery call to DisjunctionMaxScorer. (#51047)
markharwood Jan 15, 2020
9ae917a
Move test of custom sig heuristic to plugin (#50891)
nik9000 Jan 15, 2020
4efcfb3
[DOCS] Add note to community clients page (#51065)
jrodewig Jan 15, 2020
42373ad
[DOCS] Add Elixir Bulk Processor to community clients (#50630)
sashman Jan 15, 2020
9dde43c
Encrypt generated key with AES (#51019)
ywangd Jan 15, 2020
70d3973
Fix windows newline issue in test (#51030)
tvernum Jan 15, 2020
b8b9846
Unmute SmokeTestWatcherTestSuiteIT suite (#50973)
martijnvg Jan 16, 2020
182d7ce
Add more logging when failing watch history entry fails. (#50931)
martijnvg Jan 16, 2020
4284e34
Fix hardcoded version replacement in put-dfanalytics.asciidoc (#51056)
davidkyle Jan 16, 2020
96ec19a
Remove useless logger instance from CircuitBreakerService (#50580)
asdf2014 Jan 16, 2020
7d6221e
[Docs] Fix example output of edge n-gram token filter. (#51085)
swen128 Jan 16, 2020
e1a055e
Fix caching for PreConfiguredTokenFilter (#50912)
matriv Jan 16, 2020
b37755b
[Docs] Fix short alias for 'unassigned.for' (#51059)
tedder Jan 16, 2020
8169470
Fix Infinite Retry Loop in loading RepositoryData (#50987)
original-brownbear Jan 16, 2020
9ab1782
Fail gracefully on invalid token strings (#51014)
jkakavas Jan 16, 2020
d96755c
[DOCS] Use same index in Cluster Allocation Explain docs (#50936)
jrodewig Jan 16, 2020
059e4d2
Follow symlinks in Docker entrypoint (#50927)
pugnascotia Jan 16, 2020
e0cd30b
[DOCS] Correctly read total hits inside watcher config (#50614)
Jan 16, 2020
38fb64a
Goodbye and thank you synced flush! (#50882)
dnhatn Jan 16, 2020
df30a81
Mute GeoGridAggregatorTestCase#testBounds()
polyfractal Jan 16, 2020
e5fb48d
Tests for agg missing values (#51068)
not-napoleon Jan 16, 2020
f4974e9
[DOCS] Fix indent issue in similarity snippet (#51107)
jrodewig Jan 16, 2020
a7c7f0e
Muted test.
martijnvg Jan 16, 2020
1df8338
[ML] Update DFA progress document in the index the document belongs t…
przemekwitek Jan 16, 2020
94c781a
[DOCS] Retitle analysis reference pages (#51071)
jrodewig Jan 16, 2020
073a113
[DOCS] Add concepts section to analysis topic (#50801)
jrodewig Jan 16, 2020
167e908
[DOCS] Add tutorials section to analysis topic (#50809)
jrodewig Jan 16, 2020
21b9c61
[DOCS] Collapse node stats response sections (#51063)
jrodewig Jan 16, 2020
f6942e7
Upgrade to Gradle 6.1 (#50453)
mark-vieira Jan 16, 2020
d0fefc5
Fix X-Pack Indices Breaking Repository BwC Tests (#51120)
original-brownbear Jan 16, 2020
5689cea
[Transform] Improve force stop robustness in case of an error (#51072)
Jan 17, 2020
98d0b41
Remove types from WatcherSearchTemplateRequest (#51112)
romseygeek Jan 17, 2020
067bc72
Remove the AllFieldMapper from master (#51106)
romseygeek Jan 17, 2020
16e891b
[ML] DF Analytics _explain API should skip object fields (#51115)
dimitris-athanasiou Jan 17, 2020
a46fed1
[ML] Fix tests randomly failing on CI (#51142)
przemekwitek Jan 17, 2020
95aca04
increase timeout of DocsClientYamlTestSuiteIT
Jan 17, 2020
27db4d9
Don't fallback to anonymous for tokens/apikeys (#51042)
jkakavas Jan 17, 2020
281ae25
"did you mean" for ObjectParser with top named (#51018)
nik9000 Jan 17, 2020
94d4b0a
Upgrade to the latest OWASP HTML sanitizer (#50765)
jaymode Jan 17, 2020
e7a556d
Introduce hidden indices (#50452)
jaymode Jan 17, 2020
6901ed3
[ML] Add audit warning for 1000 categories found early in job (#51146)
droberts195 Jan 17, 2020
798b63b
Improve file filter for insecure repo tests (#51121)
jaymode Jan 17, 2020
d03e9f6
[DOCS] Remove out-dated monitoring note (#51129)
lcawl Jan 17, 2020
3a1fe82
[DOCS] Recommend Metricbeat for 7.x (#49758)
cachedout Dec 2, 2019
f2e1fd0
[DOCS] Adds text about data types to the categorization docs (#51145)
szabosteve Jan 17, 2020
2d2eee2
Fix flaky usage tracking test (#51169)
nik9000 Jan 17, 2020
c868d0f
Update skip after backport (#51175)
nik9000 Jan 17, 2020
17fd7e9
Use separate policies for tests in SnapshotLifecycleRestIT (#51075)
dakrone Jan 17, 2020
2ee6ee3
Update BWC version for hidden indices (#51174)
jaymode Jan 17, 2020
396778a
Initial autoscaling commit (#51161)
jasontedor Jan 17, 2020
ebe33d4
Fix CorruptedBlobStoreRepository Test (#51128)
original-brownbear Jan 17, 2020
829ad5f
Deprecates _upgrade API (#47678) (#50484)
timoninmaxim Jan 17, 2020
eff5d0d
Make soft-deletes mandatory in 8.0 (#51122)
dnhatn Jan 17, 2020
60e4bcd
Adding Elastic Exception
SivagurunathanV Jan 18, 2020
181b5d3
Bump docs test suite timeout to 40min (#51200)
tvernum Jan 20, 2020
76427ef
Mute TimeSeriesLifecycleActionsIT.waitForSnapshot (#51203)
tvernum Jan 20, 2020
f52ffb4
Fixing broken tests
SivagurunathanV Jan 20, 2020
60ec651
[DOCS] Removes CCS limitation item from Transforms limitations. (#51151)
szabosteve Jan 20, 2020
875daa7
[Docs] Small edits to Ranking Evaluation API docs (#51116)
liebeslied Jan 20, 2020
559617b
Add CoolDown Period to S3 Repository (#51074)
original-brownbear Jan 20, 2020
9cab6e8
[DOCS] Expands the documentation of Node Query Cache (#51105)
szabosteve Jan 20, 2020
c31d60e
Exclude unmapped fields from query max_clause limit (#49523)
zacharymorn Jan 20, 2020
7b41175
SQL: change the way unsupported data types fields are handled (#50823)
astefan Jan 20, 2020
d607690
Revert "Don't use user-supplied type when building DocumentMapper (#5…
romseygeek Jan 20, 2020
9c85060
check custom meta data to avoid NPE (#51163)
Jan 20, 2020
5b667b7
Add trace logging for responses coming from server (#50530)
astefan Jan 20, 2020
3c1529a
SQL: add support for passing query parameters in REST API calls (#51029)
astefan Jan 20, 2020
d804ff0
Account soft-deletes in FrozenEngine (#51192)
dnhatn Jan 20, 2020
46045dc
PutIndexTemplateRequest contains a single mapping (#50899)
romseygeek Jan 20, 2020
8ca83e0
Clean soft-deletes setting in ccr tests (#51113)
dnhatn Jan 20, 2020
8c0d210
Exclude autoscaling docs from release docs (#51190)
jasontedor Jan 20, 2020
fe0a41c
Disable xpack/15_basic/Usage stats for mappings.
jpountz Jan 20, 2020
4d5f670
Rebase master
SivagurunathanV Jan 23, 2020
801eaa2
Resolving conflicts
SivagurunathanV Jan 23, 2020
6a8195f
Fixing broken tests
SivagurunathanV Jan 29, 2020
f6e71ff
Merge branch 'master' into master
SivagurunathanV Jan 29, 2020
000821d
Changing codec to String for best compression
SivagurunathanV Jan 29, 2020
9993330
Random color test fix
SivagurunathanV Jan 30, 2020
2d3c17c
Merge remote-tracking branch 'refs/remotes/upstream/master'
SivagurunathanV Jan 30, 2020
878019d
Merge remote-tracking branch 'refs/remotes/upstream/master'
SivagurunathanV Jan 30, 2020
e338e94
fixing broken test
SivagurunathanV Jan 30, 2020
2063828
adding null pointer check
SivagurunathanV Jan 30, 2020
69d58eb
refactor plus fixing test
SivagurunathanV Jan 30, 2020
af20e44
Adding forceMerge step for handling both old and new flow
SivagurunathanV Jan 30, 2020
3c1db21
Adding forceMerge step (as it idempotent) for handling both old and n…
SivagurunathanV Jan 30, 2020
e81a286
Merge branch 'master' of https://github.com/SivagurunathanV/elasticse…
SivagurunathanV Jan 30, 2020
a4be717
Adding non-compression test fix
SivagurunathanV Jan 30, 2020
59e1552
Removing unused import
SivagurunathanV Jan 31, 2020
10a78e4
Merge remote-tracking branch 'refs/remotes/upstream/master'
SivagurunathanV Jan 31, 2020
3380459
Removing compression test
SivagurunathanV Jan 31, 2020
766ed8e
Remove unused import
SivagurunathanV Jan 31, 2020
c3ec0b2
review comments
SivagurunathanV Feb 1, 2020
f32b604
Formatting the code :face_palm
SivagurunathanV Feb 1, 2020
aa395cd
Merge remote-tracking branch 'refs/remotes/upstream/master'
SivagurunathanV Feb 1, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License;
* you may not use this file except in compliance with the Elastic License.
*/

package org.elasticsearch.xpack.core.ilm;

import org.elasticsearch.action.ActionListener;
import org.elasticsearch.action.admin.indices.close.CloseIndexRequest;
import org.elasticsearch.client.Client;
import org.elasticsearch.cluster.ClusterState;
import org.elasticsearch.cluster.ClusterStateObserver;
import org.elasticsearch.cluster.metadata.IndexMetaData;

/**
* Invokes a close step on a single index.
*/

public class CloseIndexStep extends AsyncActionStep {
SivagurunathanV marked this conversation as resolved.
Show resolved Hide resolved
public static final String NAME = "close-index";

CloseIndexStep(StepKey key, StepKey nextStepKey, Client client) {
super(key, nextStepKey, client);
}

@Override
public void performAction(IndexMetaData indexMetaData, ClusterState currentClusterState,
ClusterStateObserver observer, Listener listener) {
if (indexMetaData.getState() == IndexMetaData.State.OPEN) {
CloseIndexRequest request = new CloseIndexRequest(indexMetaData.getIndex().getName());
getClient().admin().indices()
.close(request, ActionListener.wrap(closeIndexResponse -> {
assert closeIndexResponse.isAcknowledged() : "close index response is not acknowledged";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think rather than an assert, this should throw an exception and go into the ERROR step

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added Error Step.

listener.onResponse(true);
}, listener::onFailure));
}
else {
listener.onResponse(true);
}
}


SivagurunathanV marked this conversation as resolved.
Show resolved Hide resolved
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@
*/
package org.elasticsearch.xpack.core.ilm;

import org.apache.lucene.codecs.Codec;
import org.elasticsearch.Version;
import org.elasticsearch.client.Client;
import org.elasticsearch.cluster.health.ClusterHealthStatus;
import org.elasticsearch.cluster.metadata.IndexMetaData;
import org.elasticsearch.common.ParseField;
import org.elasticsearch.common.Strings;
Expand All @@ -15,6 +18,8 @@
import org.elasticsearch.common.xcontent.ConstructingObjectParser;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentParser;
import org.elasticsearch.index.codec.CodecService;
import org.elasticsearch.index.engine.EngineConfig;
import org.elasticsearch.xpack.core.ilm.Step.StepKey;

import java.io.IOException;
Expand All @@ -28,42 +33,61 @@
public class ForceMergeAction implements LifecycleAction {
public static final String NAME = "forcemerge";
public static final ParseField MAX_NUM_SEGMENTS_FIELD = new ParseField("max_num_segments");
public static final ParseField CODEC = new ParseField("index_codec");

private static final ConstructingObjectParser<ForceMergeAction, Void> PARSER = new ConstructingObjectParser<>(NAME,
false, a -> {
int maxNumSegments = (int) a[0];
return new ForceMergeAction(maxNumSegments);
Codec codec = a[1] != null ? Codec.forName((String) a[1]) : Codec.getDefault();
dakrone marked this conversation as resolved.
Show resolved Hide resolved
return new ForceMergeAction(maxNumSegments, codec);
});

static {
PARSER.declareInt(ConstructingObjectParser.constructorArg(), MAX_NUM_SEGMENTS_FIELD);
PARSER.declareInt(ConstructingObjectParser.constructorArg(), CODEC);
dakrone marked this conversation as resolved.
Show resolved Hide resolved
}

private final int maxNumSegments;
private final Codec codec;

public static ForceMergeAction parse(XContentParser parser) {
return PARSER.apply(parser, null);
}

public ForceMergeAction(int maxNumSegments) {
public ForceMergeAction(int maxNumSegments, Codec codec) {
if (maxNumSegments <= 0) {
throw new IllegalArgumentException("[" + MAX_NUM_SEGMENTS_FIELD.getPreferredName()
+ "] must be a positive integer");
}
this.maxNumSegments = maxNumSegments;
this.codec = codec;
}

public ForceMergeAction(StreamInput in) throws IOException {
this.maxNumSegments = in.readVInt();
if (in.getVersion().onOrAfter(Version.V_8_0_0)) {
this.codec = Codec.forName(in.readString());
dakrone marked this conversation as resolved.
Show resolved Hide resolved
} else {
this.codec = Codec.getDefault();
}
}

public int getMaxNumSegments() {
return maxNumSegments;
}

public Codec getCodec() {
return this.codec;
}

@Override
public void writeTo(StreamOutput out) throws IOException {
out.writeVInt(maxNumSegments);
if (out.getVersion().onOrAfter(Version.V_8_0_0)) {
out.writeString(codec.getName());
} else {
out.writeString(Codec.getDefault().getName());
dakrone marked this conversation as resolved.
Show resolved Hide resolved
}
}

@Override
Expand All @@ -80,18 +104,39 @@ public boolean isSafeAction() {
public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException {
builder.startObject();
builder.field(MAX_NUM_SEGMENTS_FIELD.getPreferredName(), maxNumSegments);
builder.field(CODEC.getPreferredName(), codec);
dakrone marked this conversation as resolved.
Show resolved Hide resolved
builder.endObject();
return builder;
}

@Override
public List<Step> toSteps(Client client, String phase, Step.StepKey nextStepKey) {
Settings readOnlySettings = Settings.builder().put(IndexMetaData.SETTING_BLOCKS_WRITE, true).build();
Settings bestCompressionSettings = Settings.builder()
.put(EngineConfig.INDEX_CODEC_SETTING.getKey(), CodecService.BEST_COMPRESSION_CODEC).build();

StepKey readOnlyKey = new StepKey(phase, NAME, ReadOnlyAction.NAME);
StepKey forceMergeKey = new StepKey(phase, NAME, ForceMergeStep.NAME);
StepKey countKey = new StepKey(phase, NAME, SegmentCountStep.NAME);


if (codec.getName().equals(CodecService.BEST_COMPRESSION_CODEC)) {
SivagurunathanV marked this conversation as resolved.
Show resolved Hide resolved
StepKey closeKey = new StepKey(phase, NAME, CloseIndexStep.NAME);
StepKey openKey = new StepKey(phase, NAME, OpenIndexStep.NAME);
StepKey waitForGreenIndexKey = new StepKey(phase, NAME, WaitForIndexColorStep.NAME);
StepKey updateCompressionKey = new StepKey(phase, NAME, UpdateSettingsStep.NAME);

CloseIndexStep closeIndexStep = new CloseIndexStep(closeKey, updateCompressionKey, client);
UpdateSettingsStep updateBestCompressionSettings = new UpdateSettingsStep(updateCompressionKey,
openKey, client, bestCompressionSettings);
OpenIndexStep openIndexStep = new OpenIndexStep(openKey, waitForGreenIndexKey, client);
WaitForIndexColorStep waitForIndexGreenStep = new WaitForIndexColorStep(waitForGreenIndexKey,
forceMergeKey, ClusterHealthStatus.GREEN);
ForceMergeStep forceMergeStep = new ForceMergeStep(forceMergeKey, nextStepKey, client, maxNumSegments);
return Arrays.asList(closeIndexStep, updateBestCompressionSettings,
dakrone marked this conversation as resolved.
Show resolved Hide resolved
openIndexStep, waitForIndexGreenStep, forceMergeStep);
}
dakrone marked this conversation as resolved.
Show resolved Hide resolved

UpdateSettingsStep readOnlyStep = new UpdateSettingsStep(readOnlyKey, forceMergeKey, client, readOnlySettings);
ForceMergeStep forceMergeStep = new ForceMergeStep(forceMergeKey, countKey, client, maxNumSegments);
SegmentCountStep segmentCountStep = new SegmentCountStep(countKey, nextStepKey, client, maxNumSegments);
Expand All @@ -100,7 +145,7 @@ public List<Step> toSteps(Client client, String phase, Step.StepKey nextStepKey)

@Override
public int hashCode() {
return Objects.hash(maxNumSegments);
return Objects.hash(maxNumSegments, codec);
}

@Override
Expand All @@ -112,7 +157,8 @@ public boolean equals(Object obj) {
return false;
}
ForceMergeAction other = (ForceMergeAction) obj;
return Objects.equals(maxNumSegments, other.maxNumSegments);
return Objects.equals(maxNumSegments, other.maxNumSegments)
&& Objects.equals(codec, other.codec);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License;
* you may not use this file except in compliance with the Elastic License.
*/

package org.elasticsearch.xpack.core.ilm;

import org.elasticsearch.action.ActionListener;
import org.elasticsearch.action.admin.indices.open.OpenIndexRequest;
import org.elasticsearch.client.Client;
import org.elasticsearch.cluster.ClusterState;
import org.elasticsearch.cluster.ClusterStateObserver;
import org.elasticsearch.cluster.metadata.IndexMetaData;

/**
* Invokes a open step on a single index.
*/

final class OpenIndexStep extends AsyncActionStep {
dakrone marked this conversation as resolved.
Show resolved Hide resolved

static final String NAME = "open-index";

OpenIndexStep(StepKey key, StepKey nextStepKey, Client client) {
super(key, nextStepKey, client);
}

SivagurunathanV marked this conversation as resolved.
Show resolved Hide resolved
@Override
public void performAction(IndexMetaData indexMetaData, ClusterState currentClusterState,
ClusterStateObserver observer, Listener listener) {
if (indexMetaData.getState() == IndexMetaData.State.CLOSE) {
OpenIndexRequest request = new OpenIndexRequest(indexMetaData.getIndex().getName());
getClient().admin().indices()
.open(request,
ActionListener.wrap(openIndexResponse-> {
assert openIndexResponse.isAcknowledged() : "open Index response is not acknowledged";
SivagurunathanV marked this conversation as resolved.
Show resolved Hide resolved
listener.onResponse(true);
}, listener::onFailure));

} else {
listener.onResponse(true);
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License;
* you may not use this file except in compliance with the Elastic License.
*/

package org.elasticsearch.xpack.core.ilm;

import com.carrotsearch.hppc.cursors.ObjectCursor;
import org.elasticsearch.cluster.ClusterState;
import org.elasticsearch.cluster.health.ClusterHealthStatus;
import org.elasticsearch.cluster.routing.IndexRoutingTable;
import org.elasticsearch.cluster.routing.IndexShardRoutingTable;
import org.elasticsearch.cluster.routing.RoutingTable;
import org.elasticsearch.cluster.routing.ShardRouting;
import org.elasticsearch.common.ParseField;
import org.elasticsearch.common.xcontent.ToXContentObject;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.index.Index;

import java.io.IOException;
import java.util.Objects;

/**
* Wait Step for index based on color
* */

class WaitForIndexColorStep extends ClusterStateWaitStep {
SivagurunathanV marked this conversation as resolved.
Show resolved Hide resolved

static final String NAME = "wait-for-index-color-step";
SivagurunathanV marked this conversation as resolved.
Show resolved Hide resolved

private final ClusterHealthStatus color;

WaitForIndexColorStep(StepKey key, StepKey nextStepKey, ClusterHealthStatus color) {
super(key, nextStepKey);
this.color = color;
}

public ClusterHealthStatus getColor() {
return this.color;
}

@Override
public int hashCode() {
return Objects.hash(super.hashCode(), this.color);
}

@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (!(obj instanceof WaitForIndexColorStep)) return false;
dakrone marked this conversation as resolved.
Show resolved Hide resolved
WaitForIndexColorStep other = (WaitForIndexColorStep) obj;
return super.equals(obj) && Objects.equals(this.color, other.color);
}

@Override
public Result isConditionMet(Index index, ClusterState clusterState) {
RoutingTable routingTable = clusterState.routingTable();
IndexRoutingTable indexRoutingTable = routingTable.index(index);
Result result;
switch (this.color) {
case GREEN:
result = waitForGreen(indexRoutingTable);
break;
case YELLOW:
result = waitForYellow(indexRoutingTable);
break;
case RED:
result = waitForRed(indexRoutingTable);
break;
default:
result = new Result(false, new Info("No index color match"));
dakrone marked this conversation as resolved.
Show resolved Hide resolved
break;
}
return result;
}

private Result waitForRed(IndexRoutingTable indexRoutingTable) {
if (indexRoutingTable == null) {
return new Result(true, new Info("Index is red"));
}
return new Result(false, new Info("Index is not red"));
}

private Result waitForYellow(IndexRoutingTable indexRoutingTable) {
if (indexRoutingTable == null) {
return new Result(false, new Info("index is red; no IndexRoutingTable"));
}

boolean indexIsAtLeastYellow = indexRoutingTable.allPrimaryShardsActive();
if (indexIsAtLeastYellow) {
return new Result(true, null);
} else {
return new Result(false, new Info("index is red; not all primary shards are active"));
}
}

private Result waitForGreen(IndexRoutingTable indexRoutingTable) {
if (indexRoutingTable == null) {
return new Result(false, new Info("index is red; no IndexRoutingTable"));
}

boolean indexIsGreen = false;
if (indexRoutingTable.allPrimaryShardsActive()) {
boolean replicaIndexIsGreen = false;
for (ObjectCursor<IndexShardRoutingTable> shardRouting : indexRoutingTable.getShards().values()) {
replicaIndexIsGreen = shardRouting.value.replicaShards().stream().allMatch(ShardRouting::active);
if (!replicaIndexIsGreen) {
dakrone marked this conversation as resolved.
Show resolved Hide resolved
return new Result(false, new Info("index is yellow; not all replica shards are active"));
}
}
indexIsGreen = replicaIndexIsGreen;
dakrone marked this conversation as resolved.
Show resolved Hide resolved
}


if (indexIsGreen) {
return new Result(true, null);
} else {
return new Result(false, new Info("index is not green; not all shards are active"));
}
}

static final class Info implements ToXContentObject {

static final ParseField MESSAGE_FIELD = new ParseField("message");

private final String message;

Info(String message) {
this.message = message;
}

String getMessage() {
return message;
}

@Override
public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException {
builder.startObject();
builder.field(MESSAGE_FIELD.getPreferredName(), message);
builder.endObject();
return builder;
}

@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
dakrone marked this conversation as resolved.
Show resolved Hide resolved
Info info = (Info) o;
return Objects.equals(getMessage(), info.getMessage());
}

@Override
public int hashCode() {
return Objects.hash(getMessage());
}
}
}
Loading