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

SyncedFlushService.getShardRoutingTable() should use metadata to check for index existence #37691

Merged
merged 1 commit into from
Jan 23, 2019

Conversation

tlrx
Copy link
Member

@tlrx tlrx commented Jan 22, 2019

The method SyncedFlushService.getShardRoutingTable() checks the existence of a routing table to determine if the index to synced flush exists or not, and then it uses the index metadata to determine if the index is closed. It think it should instead check the existence of the index meta data upfront; if there are no metadata then the index does not exist. It can then check if the index is closed using the metadata.

This pull request changes the behavior of the getShardRoutingTable() to use index metadata first, and also resolves index routing table using the full index name + uuid. This change will also make this method more compliant with the replication of closed indices in which closed indices will have a routing table. It does not change the behavior of the existing method.

Related #33888

@tlrx tlrx added >enhancement :Distributed Indexing/Recovery Anything around constructing a new shard, either from a local or a remote source. v7.0.0 v6.7.0 labels Jan 22, 2019
@tlrx tlrx requested a review from ywelsch January 22, 2019 09:41
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-distributed

@tlrx tlrx mentioned this pull request Jan 22, 2019
50 tasks
Copy link
Contributor

@ywelsch ywelsch left a comment

Choose a reason for hiding this comment

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

LGTM

@tlrx
Copy link
Member Author

tlrx commented Jan 22, 2019

@elasticmachine run elasticsearch-ci/default-distro

@tlrx tlrx merged commit 6130d15 into elastic:master Jan 23, 2019
@tlrx tlrx deleted the adapt-syncflushservice branch January 23, 2019 10:08
tlrx added a commit that referenced this pull request Jan 23, 2019
jasontedor added a commit to jasontedor/elasticsearch that referenced this pull request Jan 23, 2019
…ead-de-duplication

* elastic/master: (24 commits)
  [TEST] Mute MlMappingsUpgradeIT testMappingsUpgrade
  Streamline skip_unavailable handling (elastic#37672)
  Only bootstrap and elect node in current voting configuration (elastic#37712)
  Ensure either success or failure path for SearchOperationListener is called (elastic#37467)
  Target only specific index in update settings test
  Add a note how to benchmark Elasticsearch
  Don't use Groovy's `withDefault` (elastic#37726)
  Adapt SyncedFlushService (elastic#37691)
  Mute FilterAggregatorTests#testRandom
  Switch mapping/aggregations over to java time (elastic#36363)
  [ML] Update ML results mappings on process start (elastic#37706)
  Modify removal_of_types.asciidoc (elastic#37648)
  Fix edge case in PutMappingRequestTests (elastic#37665)
  Use new bulk API endpoint in the docs (elastic#37698)
  Expose sequence number and primary terms in search responses (elastic#37639)
  Remove LicenseServiceClusterNotRecoveredTests (elastic#37528)
  Migrate SpecificMasterNodesIT to Zen2 (elastic#37532)
  Fix MetaStateFormat tests
  Use plain text instead of latexmath
  Fix a typo in a warning message in TestFixturesPlugin (elastic#37631)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
:Distributed Indexing/Recovery Anything around constructing a new shard, either from a local or a remote source. >enhancement v6.7.0 v7.0.0-beta1
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants