jenkins-bot has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/363733 )
Change subject: Dont generate pointless remove script on reindex
......................................................................
Dont generate pointless remove script on reindex
When reindexing we have a special flag for removing unused fields from
the index. If this flag is not provided we end up generating a list
of [''], which generates the script:
ctx._source.remove('');
This is pointless, so filter out empty strings before generating
the script.
Change-Id: I1a61e361d35d2fa6bac5977d3bab55c9c954f297
---
M includes/Maintenance/Reindexer.php
M maintenance/updateOneSearchIndexConfig.php
2 files changed, 9 insertions(+), 3 deletions(-)
Approvals:
Smalyshev: Looks good to me, approved
jenkins-bot: Verified
diff --git a/includes/Maintenance/Reindexer.php
b/includes/Maintenance/Reindexer.php
index 625772d..bae65de 100644
--- a/includes/Maintenance/Reindexer.php
+++ b/includes/Maintenance/Reindexer.php
@@ -380,8 +380,13 @@
'lang' => 'painless',
];
foreach ( $this->fieldsToDelete as $field ) {
- // Does this actually work?
- $script['inline'] .= "ctx._source.remove('$field');";
+ $field = trim( $field );
+ if ( strlen( $field ) ) {
+ $script['inline'] .=
"ctx._source.remove('$field');";
+ }
+ }
+ if ( $script['inline'] === '' ) {
+ return null;
}
return $script;
diff --git a/maintenance/updateOneSearchIndexConfig.php
b/maintenance/updateOneSearchIndexConfig.php
index 21a23c7..c42dfe8 100644
--- a/maintenance/updateOneSearchIndexConfig.php
+++ b/maintenance/updateOneSearchIndexConfig.php
@@ -407,6 +407,7 @@
private function validateSpecificAlias() {
$connection = $this->getConnection();
+ $fieldsToDeleteString = $this->getOption( 'fieldsToDelete', ''
);
$reindexer = new Reindexer(
$this->getSearchConfig(),
$connection,
@@ -417,7 +418,7 @@
$this->getReplicaCount(),
$this->getMergeSettings(),
$this,
- explode( ',', $this->getOption( 'fieldsToDelete', '' ) )
+ array_filter( explode( ',', $this->getOption(
'fieldsToDelete', '' ) ) )
);
$validator = new
\CirrusSearch\Maintenance\Validators\SpecificAliasValidator(
--
To view, visit https://gerrit.wikimedia.org/r/363733
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I1a61e361d35d2fa6bac5977d3bab55c9c954f297
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/CirrusSearch
Gerrit-Branch: master
Gerrit-Owner: EBernhardson <[email protected]>
Gerrit-Reviewer: Smalyshev <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits