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

add RemoveCorruptedShardDataCommand #32281

Merged
merged 93 commits into from
Sep 19, 2018
Merged
Show file tree
Hide file tree
Changes from 29 commits
Commits
Show all changes
93 commits
Select commit Hold shift + click to select a range
843f977
drop `index.shard.check_on_startup: fix`
Jul 23, 2018
4f01609
Merge remote-tracking branch 'remotes/origin/master' into fix/31389_1
Jul 31, 2018
a8f1488
add RemoveCorruptedSegmentsCommand; merge elasticsearch-translog and …
Jul 23, 2018
5f6b084
fix test with ClusterAllocationExplanation
Aug 20, 2018
1fc72e9
fix test with ClusterAllocationExplanation
Aug 21, 2018
153e4f2
create corrupted marker on `check_on_startup: true`; split testIndexC…
Aug 21, 2018
2964fef
Merge remote-tracking branch 'remotes/origin/master' into fix/31389_1
Aug 21, 2018
c71e306
create manually corruption marker (but don't corrupt index files) to …
Aug 21, 2018
a7668d6
checkstyle fix
Aug 21, 2018
6ee74a0
merge into ResolveShardCorruptionCommand
Aug 22, 2018
ee955b0
check is _state folder exist before reading state
Aug 22, 2018
918ce41
merge two commands into a single remove-corrupted-segments
Aug 24, 2018
97fa399
Merge remote-tracking branch 'remotes/origin/master' into fix/31389_1
Aug 24, 2018
ebef6d2
Merge remote-tracking branch 'remotes/origin/fix/31389_1' into fix/31…
Aug 24, 2018
5cddefb
fixes after merge with remote-tracking branch 'remotes/origin/fix/313…
Aug 25, 2018
fd407bb
move corruptIndex to CorruptionUtils
Aug 25, 2018
4bc9c95
reworked resolveShardPath
Aug 25, 2018
b29aa9a
split testShardLock; testCorruptedBothIndexAndTranslog is added
Aug 26, 2018
9ceeaf4
simplified test
Aug 26, 2018
addb03f
test code cleanup
Aug 26, 2018
0f29f0f
test code cleanup
Aug 27, 2018
e6c6d70
checkstyle
Aug 27, 2018
c155b36
addressed unit test comments
Aug 27, 2018
85b7eef
keep `fix` for 6.x branch
Aug 27, 2018
7f292e3
drop unused class
Aug 27, 2018
43ae3a1
remove-corrupted-data subcommand instead of remove-corrupted-segments
Aug 27, 2018
087d558
remove-corrupted-data subcommand instead of remove-corrupted-segments…
Aug 27, 2018
ad819ec
dropped `index.shard.check_on_startup: fix` - it has to go with anoth…
Aug 27, 2018
75fcafa
amendment on a CLI tool name
Aug 27, 2018
cf6837f
a bit of clean up + show translog file names in sorted order instead …
Aug 27, 2018
260a5f4
keep node lock on shard shamanizing; fix allocate empty primary; inst…
Aug 27, 2018
3de84e2
fix node lock scope
Aug 28, 2018
073d29f
renamed to RemoveCorruptedShardDataCommand
Aug 28, 2018
03bbc5f
added test for multi-node layout for a single env
Aug 28, 2018
3231803
added `fix` deprecation log message + test
Aug 28, 2018
64c29db
dropped `dry-run`
Aug 28, 2018
d1805d6
keep elasticsearch-translog for 6.x
Aug 28, 2018
c2b5b8a
added `fix` deprecation log message + test
Aug 28, 2018
14e6175
adjusted `fix` deprecation log message
Aug 28, 2018
fee8a5b
dropped `fix` to avoid deprecation warnings
Aug 28, 2018
e1808d6
Merge remote-tracking branch 'remotes/origin/fix/31389_1' into fix/31…
Aug 28, 2018
5b5d516
set 755 to elasticsearch-shard, elasticsearch-translog
Aug 28, 2018
5cee2b9
skip files added by Lucene's ExtrasFS
Aug 28, 2018
b11670c
skip files added by Lucene's ExtrasFS
Aug 28, 2018
e38238a
skip files added by Lucene's ExtrasFS
Aug 28, 2018
ad62da0
Merge remote-tracking branch 'remotes/origin/master' into fix/31389_1
Aug 28, 2018
6f6ca5a
Merge remote-tracking branch 'remotes/origin/master' into fix/31389_1
Aug 29, 2018
6763cf9
Merge remote-tracking branch 'remotes/origin/master' into fix/31389_1
Aug 29, 2018
7f1f6f3
Merge branch 'fix/31389_1' into fix/31389_2
Aug 29, 2018
5083e83
Merge remote-tracking branch 'remotes/origin/master' into fix/31389_1
Aug 31, 2018
2a9dbeb
resolved conflicts on Merge remote-tracking branch 'remotes/origin/ma…
Aug 31, 2018
d165a6c
Merge branch 'fix/31389_1' into fix/31389_2
Aug 31, 2018
f985de4
resolve conflict after Merge branch 'fix/31389_1' into fix/31389_2
Aug 31, 2018
aa16487
Merge remote-tracking branch 'remotes/origin/master' into fix/31389_1
Aug 31, 2018
f74c058
Merge remote-tracking branch 'remotes/origin/fix/31389_1' into fix/31…
Aug 31, 2018
28c6a5a
checkstyle
Aug 31, 2018
24bc3d4
added comment on the reason to keep index lock
Aug 31, 2018
2d2dd2b
dropped left-over
Aug 31, 2018
e196e9e
addressed documentation review comments (links, clean up)
Aug 31, 2018
4d89496
removed misleading comments
Aug 31, 2018
5bdb069
clean up; inlining of resolveShardPath; text adjustments
Aug 31, 2018
5349c72
extracted lock logic from NodeEnvironment ctor into NodeLock; reused …
Aug 31, 2018
4286800
reworked resolve shard path
Aug 31, 2018
01be5af
added Lucene.SOFT_DELETES_FIELD to IndexWriter
Aug 31, 2018
af64fd4
polish a bit NodeLock
Aug 31, 2018
d26fbfb
Merge remote-tracking branch 'remotes/origin/master' into fix/31389_1
Aug 31, 2018
f8fd76a
Merge remote-tracking branch 'remotes/origin/fix/31389_1' into fix/31…
Aug 31, 2018
47fa3fa
Merge branch 'remote/origin/master' into fix/31389_2
Aug 31, 2018
3a4916a
checkstyle
Sep 1, 2018
9f3a7fb
dropped testCheckOnStartupDeprecatedValue due to wrong merge with master
Sep 1, 2018
abcff3c
fix NodeEnvironment.NodeLock
Sep 1, 2018
91dc295
Merge remote-tracking branch 'remotes/origin/master' into fix/31389_2
Sep 4, 2018
33f3a45
improved message on delete marker
Sep 4, 2018
c796417
minor test code style change
Sep 5, 2018
4181988
fix test
Sep 5, 2018
a1593e8
fix test
Sep 5, 2018
185adc9
Merge remote-tracking branch 'remotes/origin/master' into fix/31389_2
Sep 6, 2018
f5cf90a
move shard-tool doc next to other docs
Sep 6, 2018
8de0ae5
fix [float] Removing a corrupted data files header
Sep 6, 2018
5b29ad0
Merge remote-tracking branch 'remotes/origin/master' into fix/31716_2
Sep 10, 2018
8242bbb
after merge fixes
Sep 10, 2018
418c922
Tweaks to docs
DaveCTurner Sep 10, 2018
674d1ba
dropped unrelated checkIndexOnStartup = fix setting
Sep 10, 2018
53b404a
nodeEnv code style clean up
Sep 10, 2018
24ffdd1
do not expose node lock; code style adjustment; text comment adjustment
Sep 10, 2018
2a3f58d
Merge remote-tracking branch 'remotes/origin/master' into fix/31389_2
Sep 10, 2018
e1eb32f
tiny doc amendment
Sep 13, 2018
ee1f6a2
NodeEnvironment.NodeLock can skip node path if it is required
Sep 13, 2018
1df4685
Merge remote-tracking branch 'remotes/origin/master' into fix/31389_2
Sep 13, 2018
844adaf
after merge fix
Sep 13, 2018
8210f3b
after merge fix
Sep 14, 2018
dab5125
inline nodeLock
Sep 18, 2018
54c4030
add javadoc comment for pathFunction
Sep 18, 2018
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
5 changes: 5 additions & 0 deletions distribution/src/bin/elasticsearch-shard
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/bash

ES_MAIN_CLASS=org.elasticsearch.index.shard.ShardToolCli \
"`dirname "$0"`"/elasticsearch-cli \
"$@"
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
setlocal enabledelayedexpansion
setlocal enableextensions

set ES_MAIN_CLASS=org.elasticsearch.index.translog.TranslogToolCli
set ES_MAIN_CLASS=org.elasticsearch.index.shard.ShardToolCli
Copy link
Contributor

Choose a reason for hiding this comment

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

The removal of the elasticsearch-translog tool is a breaking change, so this cannot happen in 6.5. At the moment this PR is only tagged for 7.0, which is ok, but it cannot be backported as-is.

call "%~dp0elasticsearch-cli.bat" ^
%%* ^
|| exit /b 1
Expand Down
5 changes: 0 additions & 5 deletions distribution/src/bin/elasticsearch-translog

This file was deleted.

19 changes: 13 additions & 6 deletions docs/reference/index-modules.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -63,12 +63,6 @@ corruption is detected, it will prevent the shard from being opened. Accepts:
Check for both physical and logical corruption. This is much more
expensive in terms of CPU and memory usage.

`fix`::

Check for both physical and logical corruption. Segments that were reported
as corrupted will be automatically removed. This option *may result in data loss*.
Use with extreme caution!

WARNING: Expert only. Checking shards may take a lot of time on large indices.
--

Expand Down Expand Up @@ -279,6 +273,17 @@ Other index settings are available in index modules:

Control over the transaction log and background flush operations.

<<index-modules-command-line-tools,Command-line tools>>::

Command-line tools if shard is corrupted

Copy link
Contributor

Choose a reason for hiding this comment

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

If this is the single elasticsearch-shard tool, I'd refer to it as a single tool. This should be a floated level 3 heading instead of an item in the settings list. I'd go with:

[float]
[[shard-recovery-tool]]
=== Shard recovery tool

You can use the <<index-modules-elasticsearch-shard,elasticsearch-shard>> recovery tool to remove corrupted translog or corrupted Lucene segments if a shard cannot be recovered automatically or restored from backup.

[float]
[[elasticsearch-shard-tool]]
=== elasticsearch-shard tool

You can use the <<index-modules-elasticsearch-shard,shard-tool>> recovery tool to remove corrupted translog or corrupted Lucene
vladimirdolzhenko marked this conversation as resolved.
Show resolved Hide resolved
segments if a shard cannot be recovered automatically or restored from backup.

--

include::index-modules/analysis.asciidoc[]
Expand All @@ -297,4 +302,6 @@ include::index-modules/store.asciidoc[]

include::index-modules/translog.asciidoc[]

include::index-modules/shard-tool.asciidoc[]

Copy link
Contributor

Choose a reason for hiding this comment

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

@lcawl Instead of including this in the index-modules section, do we want to just go ahead and rename the X-Pack commands section "Command line tools" and include it there? It can still be linked to from the index-modules page, but it would be great if we could move toward having a single command reference.

Copy link
Contributor

Choose a reason for hiding this comment

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

Yes, that would be great!

Copy link
Contributor

Choose a reason for hiding this comment

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

I've created #33005 for that purpose.

include::index-modules/index-sorting.asciidoc[]
126 changes: 126 additions & 0 deletions docs/reference/index-modules/shard-tool.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
[[shard-tool]]
== elasticsearch-shard

In some cases (a bad drive, user error) the Lucene index or translog on a shard copy can become corrupted.

The `elasticsearch-shard` command enables you to remove a corrupted Lucene index segments or corrupted translog
if a shard cannot be recovered automatically or restored from backup.

[WARNING]
You will lose the corrupted data when you run `elasticsearch-shard`.
This tool should only be used as a last resort if there is no way to recover from another copy of the shard
or restore a snapshot.

When Elasticsearch detects that a shard's translog or Lucene index is corrupted, it fails that shard copy
and quits using it. Under normal conditions, the shard is automatically recovered from another copy.
If no good copy of the shard is available and you cannot restore from backup, you can use `elasticsearch-shard`
to remove only the corrupted data and restore access to the data in unaffected segments.

[WARNING]
Stop Elasticsearch before running `elasticsearch-shard`.

To remove corrupted Lucene index segments and/or corrupted translog files, use the `remove-corrupted-data` subcommand.

There are two ways to specify the path:

* Specify the index name and shard name with the `--index` and `--shard-id` options.
* Use the `-dir` option to specify the full path to the corrupted index or translog files.

=== Listing corrupted Lucene index files and/or corrupted translog files

You can get an overview of the corruption with `--dry-run` option :

[source,txt]
--------------------------------------------------
$ bin/elasticsearch-shard remove-corrupted-data --dry-run --index twitter --shard-id 0


WARNING: ElasticSearch MUST be stopped before running this tool.

Please make a complete backup of your index before using this tool.


Opening Lucene index at /var/lib/elasticsearchdata/nodes/0/indices/P45vf_YQRhqjfwLMUvSqDw/0/index/

>> Lucene index is corrupted at /var/lib/elasticsearchdata/nodes/0/indices/P45vf_YQRhqjfwLMUvSqDw/0/index/

Opening translog at /var/lib/elasticsearchdata/nodes/0/indices/P45vf_YQRhqjfwLMUvSqDw/0/translog/

>> Translog is clean at /var/lib/elasticsearchdata/nodes/0/indices/P45vf_YQRhqjfwLMUvSqDw/0/translog/


Corrupted Lucene index segments found - 32 documents will be lost.


--------------------------------------------------

=== Removing a corrupted Lucene index files and/or corrupted translog files

You must confirm that you want to remove the corrupted segments when run `elasticsearch-shard` without `--dry-run`:

[WARNING]
Back up your data before running `elasticsearch-shard`. This is a destructive operation that removes corrupted data from the shard.

[source,txt]
--------------------------------------------------
$ bin/elasticsearch-shard remove-corrupted-data --index twitter --shard-id 0


WARNING: ElasticSearch MUST be stopped before running this tool.
Copy link
Contributor

Choose a reason for hiding this comment

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

no capital 'S' in Elasticsearch please 😄

Copy link
Contributor Author

Choose a reason for hiding this comment

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

++


Please make a complete backup of your index before using this tool.


Opening Lucene index at /var/lib/elasticsearchdata/nodes/0/indices/P45vf_YQRhqjfwLMUvSqDw/0/index/

>> Lucene index is corrupted at /var/lib/elasticsearchdata/nodes/0/indices/P45vf_YQRhqjfwLMUvSqDw/0/index/

Opening translog at /var/lib/elasticsearchdata/nodes/0/indices/P45vf_YQRhqjfwLMUvSqDw/0/translog/


>> Translog is clean at /var/lib/elasticsearchdata/nodes/0/indices/P45vf_YQRhqjfwLMUvSqDw/0/translog/


Corrupted Lucene index segments found - 32 documents will be lost.

WARNING: YOU WILL LOSE DATA.

Continue and remove docs from the index ? Y

WARNING: 1 broken segments (containing 32 documents) detected
Took 0.056 sec total.
Writing...
OK
Wrote new segments file "segments_c"
Marking index with the new history uuid : 0pIBd9VTSOeMfzYT6p0AsA
Changing allocation id V8QXk-QXSZinZMT-NvEq4w to tjm9Ve6uTBewVFAlfUMWjA
You should run follow command to apply allocation id changes:

POST /_cluster/reroute
{
"commands" : [
{
"allocate_stale_primary" : {
"index" : "index42",
"shard" : 0,
"node" : "II47uXW2QvqzHBnMcl2o_Q",
"accept_data_loss" : false
}
}
]
}

Deleted corrupt marker corrupted_FzTSBSuxT7i3Tls_TgwEag

--------------------------------------------------


When you use `elasticsearch-shard` to drop the corrupted data, the shard's allocation ID changes.
After you restart the node, you must use the cluster reroute API to tell Elasticsearch to use the new ID.
When you run the `elasticsearch-shard` command, it shows the request that you need to submit.

[WARNING]
You should admin data loss changing parameter `accept_data_loss` to `true`.
Copy link
Contributor

Choose a reason for hiding this comment

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

I think this warning should be included in the output of the tool and consequently doesn't need to be here.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

++


You can also use the `-h` option to get a list of all options and parameters
that the `elasticsearch-shard` tool supports.
57 changes: 1 addition & 56 deletions docs/reference/index-modules/translog.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -88,59 +88,4 @@ file based sync. Defaults to `512mb`
The maximum duration for which translog files will be kept. Defaults to `12h`.


[float]
[[corrupt-translog-truncation]]
=== What to do if the translog becomes corrupted?

Copy link
Contributor

Choose a reason for hiding this comment

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

To avoid having to set up redirects & help steer people to the new tool, I'd keep this section heading and just xref the new one.

In some cases (a bad drive, user error) the translog on a shard copy can become
corrupted. When this corruption is detected by Elasticsearch due to mismatching
checksums, Elasticsearch will fail that shard copy and refuse to use that copy
of the data. If there are other copies of the shard available then
Elasticsearch will automatically recover from one of them using the normal
shard allocation and recovery mechanism. In particular, if the corrupt shard
copy was the primary when the corruption was detected then one of its replicas
will be promoted in its place.

If there is no copy of the data from which Elasticsearch can recover
successfully, a user may want to recover the data that is part of the shard at
the cost of losing the data that is currently contained in the translog. We
provide a command-line tool for this, `elasticsearch-translog`.

[WARNING]
The `elasticsearch-translog` tool should *not* be run while Elasticsearch is
running. If you attempt to run this tool while Elasticsearch is running, you
will permanently lose the documents that were contained only in the translog!

In order to run the `elasticsearch-translog` tool, specify the `truncate`
subcommand as well as the directory for the corrupted translog with the `-d`
option:

[source,txt]
--------------------------------------------------
$ bin/elasticsearch-translog truncate -d /var/lib/elasticsearchdata/nodes/0/indices/P45vf_YQRhqjfwLMUvSqDw/0/translog/
Checking existing translog files
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! WARNING: Elasticsearch MUST be stopped before running this tool !
! !
! WARNING: Documents inside of translog files will be lost !
! !
! WARNING: The following files will be DELETED! !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
--> data/nodes/0/indices/P45vf_YQRhqjfwLMUvSqDw/0/translog/translog-41.ckp
--> data/nodes/0/indices/P45vf_YQRhqjfwLMUvSqDw/0/translog/translog-6.ckp
--> data/nodes/0/indices/P45vf_YQRhqjfwLMUvSqDw/0/translog/translog-37.ckp
--> data/nodes/0/indices/P45vf_YQRhqjfwLMUvSqDw/0/translog/translog-24.ckp
--> data/nodes/0/indices/P45vf_YQRhqjfwLMUvSqDw/0/translog/translog-11.ckp

Continue and DELETE files? [y/N] y
Reading translog UUID information from Lucene commit from shard at [data/nodes/0/indices/P45vf_YQRhqjfwLMUvSqDw/0/index]
Translog Generation: 3
Translog UUID : AxqC4rocTC6e0fwsljAh-Q
Removing existing translog files
Creating new empty checkpoint at [data/nodes/0/indices/P45vf_YQRhqjfwLMUvSqDw/0/translog/translog.ckp]
Creating new empty translog at [data/nodes/0/indices/P45vf_YQRhqjfwLMUvSqDw/0/translog/translog-3.tlog]
Done.
--------------------------------------------------

You can also use the `-h` option to get a list of all options and parameters
that the `elasticsearch-translog` tool supports.
[float]
4 changes: 4 additions & 0 deletions docs/reference/migration/migrate_7_0/indices.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -78,3 +78,7 @@ The parent circuit breaker defines a new setting `indices.breaker.total.use_real
heap memory instead of only considering the reserved memory by child circuit breakers. When this
setting is `true`, the default parent breaker limit also changes from 70% to 95% of the JVM heap size.
The previous behavior can be restored by setting `indices.breaker.total.use_real_memory` to `false`.

==== `elasticsearch-translog` tool merged into `elasticsearch-shard`

Use the `elasticsearch-shard` tool to remove corrupted translog data.
7 changes: 6 additions & 1 deletion libs/cli/src/main/java/org/elasticsearch/cli/Terminal.java
Original file line number Diff line number Diff line change
Expand Up @@ -85,12 +85,17 @@ public final void println(Verbosity verbosity, String msg) {

/** Prints message to the terminal at {@code verbosity} level, without a newline. */
public final void print(Verbosity verbosity, String msg) {
if (this.verbosity.ordinal() >= verbosity.ordinal()) {
if (isPrintable(verbosity)) {
getWriter().print(msg);
getWriter().flush();
}
}

/** Checks if is enough {@code verbosity} level to be printed */
public final boolean isPrintable(Verbosity verbosity) {
return this.verbosity.ordinal() >= verbosity.ordinal();
}

/**
* Prompt for a yes or no answer from the user. This method will loop until 'y' or 'n'
* (or the default empty value) is entered.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -325,4 +325,21 @@ public void test90SecurityCliPackaging() {
}
}

public void test100RepairIndexCliPackaging() {
assumeThat(installation, is(notNullValue()));

final Installation.Executables bin = installation.executables();
final Shell sh = new Shell();

Platforms.PlatformAction action = () -> {
final Result result = sh.run(bin.elasticsearchShard + " help");
assertThat(result.stdout, containsString("A CLI tool to remove corrupted parts of unrecoverable shards"));
};

if (distribution().equals(Distribution.DEFAULT_TAR) || distribution().equals(Distribution.DEFAULT_ZIP)) {
Platforms.onLinux(action);
Platforms.onWindows(action);
}
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ private static void verifyOssInstallation(Installation es, Distribution distribu
"elasticsearch-env",
"elasticsearch-keystore",
"elasticsearch-plugin",
"elasticsearch-translog"
"elasticsearch-shard"
).forEach(executable -> {

assertThat(es.bin(executable), file(File, owner, owner, p755));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,8 +100,8 @@ public class Executables {
public final Path elasticsearch = platformExecutable("elasticsearch");
public final Path elasticsearchPlugin = platformExecutable("elasticsearch-plugin");
public final Path elasticsearchKeystore = platformExecutable("elasticsearch-keystore");
public final Path elasticsearchTranslog = platformExecutable("elasticsearch-translog");
public final Path elasticsearchCertutil = platformExecutable("elasticsearch-certutil");
public final Path elasticsearchShard = platformExecutable("elasticsearch-shard");

private Path platformExecutable(String name) {
final String platformExecutableName = Platforms.WINDOWS
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ private static void verifyOssInstallation(Installation es, Distribution distribu
"elasticsearch",
"elasticsearch-plugin",
"elasticsearch-keystore",
"elasticsearch-translog"
"elasticsearch-shard"
).forEach(executable -> assertThat(es.bin(executable), file(File, "root", "root", p755)));

Stream.of(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ verify_package_installation() {
assert_file "$ESHOME/bin" d root root 755
assert_file "$ESHOME/bin/elasticsearch" f root root 755
assert_file "$ESHOME/bin/elasticsearch-plugin" f root root 755
assert_file "$ESHOME/bin/elasticsearch-translog" f root root 755
assert_file "$ESHOME/bin/elasticsearch-shard" f root root 755
assert_file "$ESHOME/lib" d root root 755
assert_file "$ESCONFIG" d root elasticsearch 2750
assert_file "$ESCONFIG/elasticsearch.keystore" f root elasticsearch 660
Expand Down
2 changes: 1 addition & 1 deletion qa/vagrant/src/test/resources/packaging/utils/tar.bash
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ verify_archive_installation() {
assert_file "$ESHOME/bin/elasticsearch-env" f elasticsearch elasticsearch 755
assert_file "$ESHOME/bin/elasticsearch-keystore" f elasticsearch elasticsearch 755
assert_file "$ESHOME/bin/elasticsearch-plugin" f elasticsearch elasticsearch 755
assert_file "$ESHOME/bin/elasticsearch-translog" f elasticsearch elasticsearch 755
assert_file "$ESHOME/bin/elasticsearch-shard" f elasticsearch elasticsearch 755
assert_file "$ESCONFIG" d elasticsearch elasticsearch 755
assert_file "$ESCONFIG/elasticsearch.yml" f elasticsearch elasticsearch 660
assert_file "$ESCONFIG/jvm.options" f elasticsearch elasticsearch 660
Expand Down
Loading