Skip to content

This plugin will help you to check whether you can upgrade directly to the next major version of Elasticsearch, or whether you need to make changes to your data and cluster before doing so.

Notifications You must be signed in to change notification settings

dragon8869/elasticsearch-migration

Repository files navigation

Elasticsearch Migration Plugin v0.04

This plugin will help you to check whether you can upgrade directly to Elasticsearch version 2.x, or whether you need to make changes to your data before doing so. It will run on Elasticsearch versions 0.90.x to 1.x.

Note
Checks are limited only to data that is stored in the cluster, such as cluster and index settings, mappings, and segments. It does not take settings files or your use of the API into account. You should still test your application thoroughly and backup your data before upgrading.

Each check is given a color, whose meaning is as follows:

Green

All OK.

Blue

An advisory note that something has changed. No action needed.

Yellow

You can upgrade directly, but you are using deprecated functionality which will not be available in version 2.x.

Red

You cannot upgrade without fixing this problem.

Read more about important changes in the Breaking Changes documentation online.

Installation

To install, run the following command in your Elasticsearch home directory:

./bin/plugin -i elastic/elasticsearch-migration

Then open the following URL in your browser: http://localhost:9200/_plugin/migration

Checks performed

This plugin will check cluster settings and each index for the following:

  • Cluster settings:

    • Use of byte or time settings without units.

  • Index segments:

    • Segments created by Lucene 3, which cannot be read by Elasticsearch 2.x.

    • Indices created before 0.90 which no longer have Lucene 3 segments, but which require a setting to mark them as 2.x compatible.

  • Index settings:

    • In memory indices, which are no longer supported.

    • The index.mapping.allow_type_wrapper setting.

    • Custom codecs

    • Use of "default_index" analyzer

    • Use of byte or time settings without units.

    • Use of deprecated merge policy settings.

  • Type mapping:

    • Type mapping name length < 256

    • Type names with initial dot

    • Custom configured _id field.

    • Custom configured _type field.

    • Use of an _analyer field.

    • Use of the _boost field.

    • Custom configured _routing field.

    • Custom configured _index field.

    • Use of _size field.

    • Custom configured _timestamp field.

    • Use of type-level default analyzer settings.

    • Use of reserved field names.

  • Field mapping:

    • Fields with the same name in different types with conflicting mappings.

    • Use of the index_name or path settings.

    • Boolean fields, whose field value has changed from T/F to 1/0.

    • Custom postings formats.

    • Compressed binary fields.

    • Fielddata formats.

    • Field names with embedded periods.

    • Use of position_offset_gap.

    • Use of murmur3 fields.

Test suite

Two test suites are available:

http://localhost:9200/_plugin/migration/test.html

Tests all checks except the index segments checks. No setup required.

http://localhost:9200/_plugin/migration/test_index_segments.html

Tests the index segments checks. Requires a pre-existing data/ directory which is packaged with this plugin. Follow the instructions on the test suite page.

About

This plugin will help you to check whether you can upgrade directly to the next major version of Elasticsearch, or whether you need to make changes to your data and cluster before doing so.

Resources

Stars

Watchers

Forks

Packages

No packages published