Jump to content

Topic on Extension talk:CirrusSearch/Flow

updateSearchIndexConfig.php ( Elastic Search version 5.3 ) and MW 1.30

4
Summary by DCausse (WMF)

Bug in cirrus see task T191493

164.144.248.26 (talkcontribs)

We have been trying to execute the updateSearchIndexConfig.php and this fails with the following

php updateSearchIndexConfig.php

content index...

Fetching Elasticsearch version...5.3.2...ok

Scanning available plugins...PHP Warning:  Invalid argument supplied for foreach() in /opt/bitnami/apps/mediawiki/htdocs/extensions/CirrusSearch/includes/Maintenance/ConfigUtils.php on line 130

Warning: Invalid argument supplied for foreach() in /opt/bitnami/apps/mediawiki/htdocs/extensions/CirrusSearch/includes/Maintenance/ConfigUtils.php on line 130

PHP Warning:  Invalid argument supplied for foreach() in /opt/bitnami/apps/mediawiki/htdocs/extensions/CirrusSearch/includes/Maintenance/ConfigUtils.php on line 130

Warning: Invalid argument supplied for foreach() in /opt/bitnami/apps/mediawiki/htdocs/extensions/CirrusSearch/includes/Maintenance/ConfigUtils.php on line 130

PHP Warning:  Invalid argument supplied for foreach() in /opt/bitnami/apps/mediawiki/htdocs/extensions/CirrusSearch/includes/Maintenance/ConfigUtils.php on line 130

Warning: Invalid argument supplied for foreach() in /opt/bitnami/apps/mediawiki/htdocs/extensions/CirrusSearch/includes/Maintenance/ConfigUtils.php on line 130

none

Inferring index identifier...bitnami_mediawiki_content_first

Picking analyzer...english

Validating number of shards...ok

Validating replica range...ok

Validating shard allocation settings...done

Validating max shards per node...ok

Validating analyzers...ok

Validating mappings...

Validating mapping...ok

Validating aliases...

Validating bitnami_mediawiki_content alias...ok

Validating bitnami_mediawiki alias...ok

Updating tracking indexes...done

general index...

Fetching Elasticsearch version...5.3.2...ok

Scanning available plugins...PHP Warning:  Invalid argument supplied for foreach() in /opt/bitnami/apps/mediawiki/htdocs/extensions/CirrusSearch/includes/Maintenance/ConfigUtils.php on line 130

Warning: Invalid argument supplied for foreach() in /opt/bitnami/apps/mediawiki/htdocs/extensions/CirrusSearch/includes/Maintenance/ConfigUtils.php on line 130

PHP Warning:  Invalid argument supplied for foreach() in /opt/bitnami/apps/mediawiki/htdocs/extensions/CirrusSearch/includes/Maintenance/ConfigUtils.php on line 130

Warning: Invalid argument supplied for foreach() in /opt/bitnami/apps/mediawiki/htdocs/extensions/CirrusSearch/includes/Maintenance/ConfigUtils.php on line 130

PHP Warning:  Invalid argument supplied for foreach() in /opt/bitnami/apps/mediawiki/htdocs/extensions/CirrusSearch/includes/Maintenance/ConfigUtils.php on line 130

Warning: Invalid argument supplied for foreach() in /opt/bitnami/apps/mediawiki/htdocs/extensions/CirrusSearch/includes/Maintenance/ConfigUtils.php on line 130

none

Inferring index identifier...bitnami_mediawiki_general_first

Picking analyzer...english

Validating number of shards...ok

Validating replica range...ok

Validating shard allocation settings...done

Validating max shards per node...ok

Validating analyzers...ok

Validating mappings...

Validating mapping...ok

Validating aliases...

Validating bitnami_mediawiki_general alias...ok

Validating bitnami_mediawiki alias...ok

Updating tracking indexes...done

Deleting namespaces...done

Indexing namespaces...done

DCausse (WMF) (talkcontribs)

If this is possible for you could paste the output of the command:

curl -s localhost:9200/_nodes?pretty

replace localhost with the hostname of one node of your elasticsearch cluster.

Thanks.

164.144.252.28 (talkcontribs)

$ curl -s vpc-np-es-psd.us-east-1.ps.amazonaws.com:80/_nodes?pretty

{

  "_nodes" : {

    "total" : 3,

    "successful" : 3,

    "failed" : 0

  },

  "cluster_name" : "265365382492:haystack-np-es",

  "nodes" : {

    "mpy2CEk2TLWnBUGbSExtJA" : {

      "name" : "mpy2CEk",

      "version" : "5.3.2",

      "build_hash" : "Unknown",

      "total_indexing_buffer" : 427753472,

      "roles" : [ "master", "data", "ingest" ],

      "os" : {

        "refresh_interval_in_millis" : 1000,

        "available_processors" : 2,

        "allocated_processors" : 2

      },

      "process" : {

        "refresh_interval_in_millis" : 1000,

        "id" : 9734,

        "mlockall" : true

      },

      "jvm" : {

        "pid" : 9734,

        "start_time_in_millis" : 1522089530084,

        "mem" : {

          "heap_init_in_bytes" : 4294967296,

          "heap_max_in_bytes" : 4277534720,

          "non_heap_init_in_bytes" : 2555904,

          "non_heap_max_in_bytes" : 0,

          "direct_max_in_bytes" : 4277534720

        },

        "using_compressed_ordinary_object_pointers" : "true"

      },

      "thread_pool" : {

        "force_merge" : {

          "type" : "fixed",

          "min" : 1,

          "max" : 1,

          "queue_size" : -1

        },

        "fetch_shard_started" : {

          "type" : "scaling",

          "min" : 1,

          "max" : 4,

          "keep_alive" : "5m",

          "queue_size" : -1

        },

        "listener" : {

          "type" : "fixed",

          "min" : 1,

          "max" : 1,

          "queue_size" : -1

        },

        "index" : {

          "type" : "fixed",

          "min" : 2,

          "max" : 2,

          "queue_size" : 200

        },

        "refresh" : {

          "type" : "scaling",

          "min" : 1,

          "max" : 1,

          "keep_alive" : "5m",

          "queue_size" : -1

        },

        "generic" : {

          "type" : "scaling",

          "min" : 4,

          "max" : 128,

          "keep_alive" : "30s",

          "queue_size" : -1

        },

        "warmer" : {

          "type" : "scaling",

          "min" : 1,

          "max" : 1,

          "keep_alive" : "5m",

          "queue_size" : -1

        },

        "search" : {

          "type" : "fixed",

          "min" : 4,

          "max" : 4,

          "queue_size" : 1000

        },

        "flush" : {

          "type" : "scaling",

          "min" : 1,

          "max" : 1,

          "keep_alive" : "5m",

          "queue_size" : -1

        },

        "fetch_shard_store" : {

          "type" : "scaling",

          "min" : 1,

          "max" : 4,

          "keep_alive" : "5m",

          "queue_size" : -1

        },

        "management" : {

          "type" : "scaling",

          "min" : 1,

          "max" : 5,

          "keep_alive" : "5m",

          "queue_size" : -1

        },

        "get" : {

          "type" : "fixed",

          "min" : 2,

          "max" : 2,

          "queue_size" : 1000

        },

        "bulk" : {

          "type" : "fixed",

          "min" : 2,

          "max" : 2,

          "queue_size" : 200

        },

        "snapshot" : {

          "type" : "scaling",

          "min" : 1,

          "max" : 1,

          "keep_alive" : "5m",

          "queue_size" : -1

        }

      },

      "modules" : [ {

        "name" : "aggs-matrix-stats",

        "version" : "5.3.2",

        "description" : "Adds aggregations whose input are a list of numeric fields and output includes a matrix.",

        "classname" : "org.elasticsearch.search.aggregations.matrix.MatrixAggregationPlugin"

      }, {

        "name" : "ingest-common",

        "version" : "5.3.2",

        "description" : "Module for ingest processors that do not require additional security permissions or have large dependencies and resources",

        "classname" : "org.elasticsearch.ingest.common.IngestCommonPlugin"

      }, {

        "name" : "lang-expression",

        "version" : "5.3.2",

        "description" : "Lucene expressions integration for Elasticsearch",

        "classname" : "org.elasticsearch.script.expression.ExpressionPlugin"

      }, {

        "name" : "lang-mustache",

        "version" : "5.3.2",

        "description" : "Mustache scripting integration for Elasticsearch",

        "classname" : "org.elasticsearch.script.mustache.MustachePlugin"

      }, {

        "name" : "lang-painless",

        "version" : "5.3.2",

        "description" : "An easy, safe and fast scripting language for Elasticsearch",

        "classname" : "org.elasticsearch.painless.PainlessPlugin"

      }, {

        "name" : "percolator",

        "version" : "5.3.2",

        "description" : "Percolator module adds capability to index queries and query these queries by specifying documents",

        "classname" : "org.elasticsearch.percolator.PercolatorPlugin"

      }, {

        "name" : "reindex",

        "version" : "5.3.2",

        "description" : "The Reindex module adds APIs to reindex from one index to another or update documents in place.",

        "classname" : "org.elasticsearch.index.reindex.ReindexPlugin"

      }, {

        "name" : "transport-netty3",

        "version" : "5.3.2",

        "description" : "Netty 3 based transport implementation",

        "classname" : "org.elasticsearch.transport.Netty3Plugin"

      }, {

        "name" : "transport-netty4",

        "version" : "5.3.2",

        "description" : "Netty 4 based transport implementation",

        "classname" : "org.elasticsearch.transport.Netty4Plugin"

      } ],

      "ingest" : {

        "processors" : [ {

          "type" : "append"

        }, {

          "type" : "attachment"

        }, {

          "type" : "convert"

        }, {

          "type" : "date"

        }, {

          "type" : "date_index_name"

        }, {

          "type" : "dot_expander"

        }, {

          "type" : "fail"

        }, {

          "type" : "foreach"

        }, {

          "type" : "grok"

        }, {

          "type" : "gsub"

        }, {

          "type" : "join"

        }, {

          "type" : "json"

        }, {

          "type" : "kv"

        }, {

          "type" : "lowercase"

        }, {

          "type" : "remove"

        }, {

          "type" : "rename"

        }, {

          "type" : "script"

        }, {

          "type" : "set"

        }, {

          "type" : "sort"

        }, {

          "type" : "split"

        }, {

          "type" : "trim"

        }, {

          "type" : "uppercase"

        }, {

          "type" : "user_agent"

        } ]

      }

    },

    "LLLQg4hgTtu2FEmnV_inTA" : {

      "name" : "LLLQg4h",

      "version" : "5.3.2",

      "build_hash" : "Unknown",

      "total_indexing_buffer" : 427753472,

      "roles" : [ "master", "data", "ingest" ],

      "os" : {

        "refresh_interval_in_millis" : 1000,

        "available_processors" : 2,

        "allocated_processors" : 2

      },

      "process" : {

        "refresh_interval_in_millis" : 1000,

        "id" : 9842,

        "mlockall" : true

      },

      "jvm" : {

        "pid" : 9842,

        "start_time_in_millis" : 1522089504901,

        "mem" : {

          "heap_init_in_bytes" : 4294967296,

          "heap_max_in_bytes" : 4277534720,

          "non_heap_init_in_bytes" : 2555904,

          "non_heap_max_in_bytes" : 0,

          "direct_max_in_bytes" : 4277534720

        },

        "using_compressed_ordinary_object_pointers" : "true"

      },

      "thread_pool" : {

        "force_merge" : {

          "type" : "fixed",

          "min" : 1,

          "max" : 1,

          "queue_size" : -1

        },

        "fetch_shard_started" : {

          "type" : "scaling",

          "min" : 1,

          "max" : 4,

          "keep_alive" : "5m",

          "queue_size" : -1

        },

        "listener" : {

          "type" : "fixed",

          "min" : 1,

          "max" : 1,

          "queue_size" : -1

        },

        "index" : {

          "type" : "fixed",

          "min" : 2,

          "max" : 2,

          "queue_size" : 200

        },

        "refresh" : {

          "type" : "scaling",

          "min" : 1,

          "max" : 1,

          "keep_alive" : "5m",

          "queue_size" : -1

        },

        "generic" : {

          "type" : "scaling",

          "min" : 4,

          "max" : 128,

          "keep_alive" : "30s",

          "queue_size" : -1

        },

        "warmer" : {

          "type" : "scaling",

          "min" : 1,

          "max" : 1,

          "keep_alive" : "5m",

          "queue_size" : -1

        },

        "search" : {

          "type" : "fixed",

          "min" : 4,

          "max" : 4,

          "queue_size" : 1000

        },

        "flush" : {

          "type" : "scaling",

          "min" : 1,

          "max" : 1,

          "keep_alive" : "5m",

          "queue_size" : -1

        },

        "fetch_shard_store" : {

          "type" : "scaling",

          "min" : 1,

          "max" : 4,

          "keep_alive" : "5m",

          "queue_size" : -1

        },

        "management" : {

          "type" : "scaling",

          "min" : 1,

          "max" : 5,

          "keep_alive" : "5m",

          "queue_size" : -1

        },

        "get" : {

          "type" : "fixed",

          "min" : 2,

          "max" : 2,

          "queue_size" : 1000

        },

        "bulk" : {

          "type" : "fixed",

          "min" : 2,

          "max" : 2,

          "queue_size" : 200

        },

        "snapshot" : {

          "type" : "scaling",

          "min" : 1,

          "max" : 1,

          "keep_alive" : "5m",

          "queue_size" : -1

        }

      },

      "modules" : [ {

        "name" : "aggs-matrix-stats",

        "version" : "5.3.2",

        "description" : "Adds aggregations whose input are a list of numeric fields and output includes a matrix.",

        "classname" : "org.elasticsearch.search.aggregations.matrix.MatrixAggregationPlugin"

      }, {

        "name" : "ingest-common",

        "version" : "5.3.2",

        "description" : "Module for ingest processors that do not require additional security permissions or have large dependencies and resources",

        "classname" : "org.elasticsearch.ingest.common.IngestCommonPlugin"

      }, {

        "name" : "lang-expression",

        "version" : "5.3.2",

        "description" : "Lucene expressions integration for Elasticsearch",

        "classname" : "org.elasticsearch.script.expression.ExpressionPlugin"

      }, {

        "name" : "lang-mustache",

        "version" : "5.3.2",

        "description" : "Mustache scripting integration for Elasticsearch",

        "classname" : "org.elasticsearch.script.mustache.MustachePlugin"

      }, {

        "name" : "lang-painless",

        "version" : "5.3.2",

        "description" : "An easy, safe and fast scripting language for Elasticsearch",

        "classname" : "org.elasticsearch.painless.PainlessPlugin"

      }, {

        "name" : "percolator",

        "version" : "5.3.2",

        "description" : "Percolator module adds capability to index queries and query these queries by specifying documents",

        "classname" : "org.elasticsearch.percolator.PercolatorPlugin"

      }, {

        "name" : "reindex",

        "version" : "5.3.2",

        "description" : "The Reindex module adds APIs to reindex from one index to another or update documents in place.",

        "classname" : "org.elasticsearch.index.reindex.ReindexPlugin"

      }, {

        "name" : "transport-netty3",

        "version" : "5.3.2",

        "description" : "Netty 3 based transport implementation",

        "classname" : "org.elasticsearch.transport.Netty3Plugin"

      }, {

        "name" : "transport-netty4",

        "version" : "5.3.2",

        "description" : "Netty 4 based transport implementation",

        "classname" : "org.elasticsearch.transport.Netty4Plugin"

      } ],

      "ingest" : {

        "processors" : [ {

          "type" : "append"

        }, {

          "type" : "attachment"

        }, {

          "type" : "convert"

        }, {

          "type" : "date"

        }, {

          "type" : "date_index_name"

        }, {

          "type" : "dot_expander"

        }, {

          "type" : "fail"

        }, {

          "type" : "foreach"

        }, {

          "type" : "grok"

        }, {

          "type" : "gsub"

        }, {

          "type" : "join"

        }, {

          "type" : "json"

        }, {

          "type" : "kv"

        }, {

          "type" : "lowercase"

        }, {

          "type" : "remove"

        }, {

          "type" : "rename"

        }, {

          "type" : "script"

        }, {

          "type" : "set"

        }, {

          "type" : "sort"

        }, {

          "type" : "split"

        }, {

          "type" : "trim"

        }, {

          "type" : "uppercase"

        }, {

          "type" : "user_agent"

        } ]

      }

    },

    "Zjmu23EvSkmxx2Bp2D6Tpw" : {

      "name" : "Zjmu23E",

      "version" : "5.3.2",

      "build_hash" : "Unknown",

      "total_indexing_buffer" : 427753472,

      "roles" : [ "master", "data", "ingest" ],

      "os" : {

        "refresh_interval_in_millis" : 1000,

        "available_processors" : 2,

        "allocated_processors" : 2

      },

      "process" : {

        "refresh_interval_in_millis" : 1000,

        "id" : 9785,

        "mlockall" : true

      },

      "jvm" : {

        "pid" : 9785,

        "start_time_in_millis" : 1522089516908,

        "mem" : {

          "heap_init_in_bytes" : 4294967296,

          "heap_max_in_bytes" : 4277534720,

          "non_heap_init_in_bytes" : 2555904,

          "non_heap_max_in_bytes" : 0,

          "direct_max_in_bytes" : 4277534720

        },

        "using_compressed_ordinary_object_pointers" : "true"

      },

      "thread_pool" : {

        "force_merge" : {

          "type" : "fixed",

          "min" : 1,

          "max" : 1,

          "queue_size" : -1

        },

        "fetch_shard_started" : {

          "type" : "scaling",

          "min" : 1,

          "max" : 4,

          "keep_alive" : "5m",

          "queue_size" : -1

        },

        "listener" : {

          "type" : "fixed",

          "min" : 1,

          "max" : 1,

          "queue_size" : -1

        },

        "index" : {

          "type" : "fixed",

          "min" : 2,

          "max" : 2,

          "queue_size" : 200

        },

        "refresh" : {

          "type" : "scaling",

          "min" : 1,

          "max" : 1,

          "keep_alive" : "5m",

          "queue_size" : -1

        },

        "generic" : {

          "type" : "scaling",

          "min" : 4,

          "max" : 128,

          "keep_alive" : "30s",

          "queue_size" : -1

        },

        "warmer" : {

          "type" : "scaling",

          "min" : 1,

          "max" : 1,

          "keep_alive" : "5m",

          "queue_size" : -1

        },

        "search" : {

          "type" : "fixed",

          "min" : 4,

          "max" : 4,

          "queue_size" : 1000

        },

        "flush" : {

          "type" : "scaling",

          "min" : 1,

          "max" : 1,

          "keep_alive" : "5m",

          "queue_size" : -1

        },

        "fetch_shard_store" : {

          "type" : "scaling",

          "min" : 1,

          "max" : 4,

          "keep_alive" : "5m",

          "queue_size" : -1

        },

        "management" : {

          "type" : "scaling",

          "min" : 1,

          "max" : 5,

          "keep_alive" : "5m",

          "queue_size" : -1

        },

        "get" : {

          "type" : "fixed",

          "min" : 2,

          "max" : 2,

          "queue_size" : 1000

        },

        "bulk" : {

          "type" : "fixed",

          "min" : 2,

          "max" : 2,

          "queue_size" : 200

        },

        "snapshot" : {

          "type" : "scaling",

          "min" : 1,

          "max" : 1,

          "keep_alive" : "5m",

          "queue_size" : -1

        }

      },

      "modules" : [ {

        "name" : "aggs-matrix-stats",

        "version" : "5.3.2",

        "description" : "Adds aggregations whose input are a list of numeric fields and output includes a matrix.",

        "classname" : "org.elasticsearch.search.aggregations.matrix.MatrixAggregationPlugin"

      }, {

        "name" : "ingest-common",

        "version" : "5.3.2",

        "description" : "Module for ingest processors that do not require additional security permissions or have large dependencies and resources",

        "classname" : "org.elasticsearch.ingest.common.IngestCommonPlugin"

      }, {

        "name" : "lang-expression",

        "version" : "5.3.2",

        "description" : "Lucene expressions integration for Elasticsearch",

        "classname" : "org.elasticsearch.script.expression.ExpressionPlugin"

      }, {

        "name" : "lang-mustache",

        "version" : "5.3.2",

        "description" : "Mustache scripting integration for Elasticsearch",

        "classname" : "org.elasticsearch.script.mustache.MustachePlugin"

      }, {

        "name" : "lang-painless",

        "version" : "5.3.2",

        "description" : "An easy, safe and fast scripting language for Elasticsearch",

        "classname" : "org.elasticsearch.painless.PainlessPlugin"

      }, {

        "name" : "percolator",

        "version" : "5.3.2",

        "description" : "Percolator module adds capability to index queries and query these queries by specifying documents",

        "classname" : "org.elasticsearch.percolator.PercolatorPlugin"

      }, {

        "name" : "reindex",

        "version" : "5.3.2",

        "description" : "The Reindex module adds APIs to reindex from one index to another or update documents in place.",

        "classname" : "org.elasticsearch.index.reindex.ReindexPlugin"

      }, {

        "name" : "transport-netty3",

        "version" : "5.3.2",

        "description" : "Netty 3 based transport implementation",

        "classname" : "org.elasticsearch.transport.Netty3Plugin"

      }, {

        "name" : "transport-netty4",

        "version" : "5.3.2",

        "description" : "Netty 4 based transport implementation",

        "classname" : "org.elasticsearch.transport.Netty4Plugin"

      } ],

      "ingest" : {

        "processors" : [ {

          "type" : "append"

        }, {

          "type" : "attachment"

        }, {

          "type" : "convert"

        }, {

          "type" : "date"

        }, {

          "type" : "date_index_name"

        }, {

          "type" : "dot_expander"

        }, {

          "type" : "fail"

        }, {

          "type" : "foreach"

        }, {

          "type" : "grok"

        }, {

          "type" : "gsub"

        }, {

          "type" : "join"

        }, {

          "type" : "json"

        }, {

          "type" : "kv"

        }, {

          "type" : "lowercase"

        }, {

          "type" : "remove"

        }, {

          "type" : "rename"

        }, {

          "type" : "script"

        }, {

          "type" : "set"

        }, {

          "type" : "sort"

        }, {

          "type" : "split"

        }, {

          "type" : "trim"

        }, {

          "type" : "uppercase"

        }, {

          "type" : "user_agent"

        } ]

      }

    }

  }

DCausse (WMF) (talkcontribs)

Thanks, the response does not include the plugins section and this confuses CirrusSearch. I'll create a task to fix this. Unless you discovered other problems this should not affect the behavior of Cirrus.