[JENKINS] Lucene-Solr-master-Linux (64bit/jdk-12.0.1) - Build # 24601 - Unstable!

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[JENKINS] Lucene-Solr-master-Linux (64bit/jdk-12.0.1) - Build # 24601 - Unstable!

Policeman Jenkins Server-2
Build: https://jenkins.thetaphi.de/job/Lucene-Solr-master-Linux/24601/
Java: 64bit/jdk-12.0.1 -XX:-UseCompressedOops -XX:+UseSerialGC

6 tests failed.
FAILED:  org.apache.solr.handler.admin.TestApiFramework.testFramework

Error Message:
incorrect value for path /spec[0]/methods[0] in :{   "spec":[     {       "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#create",       "description":"Create collections and collection aliases, backup or restore collections, and delete collections and aliases.",       "methods":["POST"],       "url":{"paths":[           "/collections",           "/c"]},       "commands":{         "create":{           "type":"object",           "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#create",           "description":"Create a collection.",           "properties":{             "name":{               "type":"string",               "description":"The name of the collection to be created."},             "config":{               "type":"string",               "description":"The name of the configuration set (which must already be stored in ZooKeeper) to use for this collection. If not provided, Solr will default to the collection name as the configuration set name."},             "router":{               "type":"object",               "documentation":"https://lucene.apache.org/solr/guide/shards-and-indexing-data-in-solrcloud.html",               "description":"These properties define how to distribute documents across a collection's shards.",               "properties":{                 "name":{                   "type":"string",                   "enum":[                     "implicit",                     "compositeId"],                   "description":"The router implementation to use for this collection. There are two options: compositeId or implicit. The compositeId option has Solr decide how to distribute documents (with some possibilities for customization). The implicit option requires you define your own routing strategy, and puts the balancing of documents in shards entirely in your hands.",                   "default":"compositeId"},                 "field":{                   "type":"string",                   "description":"A field to be used by Solr to identify the shard a document should be routed to. By default, the field defined as the unique ID for each document is used, but an alternative field can be defined with this parameter."}}},             "numShards":{               "type":"integer",               "description":"The number of shards to be created as part of the collection. Shards are logical partitions of a single collection. Each shard has at least one replica, but more replicas for each shard can be defined with the replicationFactor property. This is a required parameter when using the 'compositeId' router."},             "shards":{               "type":"string",               "description":"A comma-separated list of shard names, e.g., shard-x,shard-y,shard-z. This is a required parameter when using the 'implicit' router."},             "replicationFactor":{               "type":"integer",               "description":"The number of NRT replicas to be created for each shard. Replicas are physical copies of each shard, acting as failover for the shard."},             "nrtReplicas":{               "type":"integer",               "description":"The number of NRT replicas to be created for each shard. Replicas are physical copies of each shard, acting as failover for the shard. Replicas of type NRT will be updated with each document that is added to the cluster, and can use \"softCommits\" to get a new view of the index in Near Real Time. This parameter works in the same way as 'replicationFactor'"},             "tlogReplicas":{               "type":"integer",               "description":"The number of TLOG replicas to be created for each shard. TLOG replicas update their transaction log for every update to the cluster, but only the shard leader updates the local index, other TLOG replicas will use segment replication and copy the latest index files from the leader."},             "pullReplicas":{               "type":"integer",               "description":"The number of PULL replicas to be created for each shard. PULL replicas don't receive copies of the documents on update requests, they just replicate the latest segments periodically from the shard leader. PULL replicas can't become shard leaders, and need at least one active TLOG(recommended) or NRT replicas in the shard to replicate from."},             "nodeSet":{               "type":"array",               "items":{"type":"string"},               "description":"Defines nodes to spread the new collection across. If not provided, the collection will be spread across all live Solr nodes. The names to use are the 'node_name', which can be found by a request to the cluster/nodes endpoint. A special value of EMPTY will create no shards or replicas for the new collection. In this case, shards and replicas can be added later with the add-replica command available on the /collections/{collection}/shards endpoint."},             "shuffleNodes":{               "type":"boolean",               "description":"Controls whether or not the shard-replicas created for this collection will be assigned to the nodes specified by the nodeSet property in a sequential manner, or if the list of nodes should be shuffled prior to creating individual replicas. A 'false' value makes the results of a collection creation predictable and gives more exact control over the location of the individual shard-replicas, but 'true' can be a better choice for ensuring replicas are distributed evenly across nodes. This property is ignored if nodeSet is not also specified."},             "maxShardsPerNode":{               "type":"integer",               "description":"When creating collections, the shards and/or replicas are spread across all available, live, nodes, and two replicas of the same shard will never be on the same node. If a node is not live when the collection is created, it will not get any parts of the new collection, which could lead to too many replicas being created on a single live node. Defining maxShardsPerNode sets a limit on the number of replicas can be spread to each node. If the entire collection can not be fit into the live nodes, no collection will be created at all."},             "autoAddReplicas":{               "type":"boolean",               "description":"When set to true, enables auto addition of replicas when the number of active replicas falls below the value set for replicationFactor.",               "documentation":"https://lucene.apache.org/solr/guide/solrcloud-autoscaling-auto-add-replicas.html",               "default":"false"},             "rule":{               "type":"array",               "documentation":"https://lucene.apache.org/solr/guide/rule-based-replica-placement.html",               "description":"Defines rules for where replicas should be located in a cluster.",               "items":{"type":"string"}},             "snitch":{               "type":"array",               "documentation":"https://lucene.apache.org/solr/guide/rule-based-replica-placement.html",               "description":"",               "items":{"type":"string"}},             "policy":{               "type":"string",               "documentation":"https://lucene.apache.org/solr/guide/solrcloud-autoscaling-policy-preferences.html",               "description":"Name of the collection-level policy"},             "properties":{               "type":"object",               "documentation":"https://lucene.apache.org/solr/guide/defining-core-properties.html",               "description":"Allows adding core.properties for the collection. Some examples of core properties you may want to modify include the config set, the node name, the data directory, among others.",               "additionalProperties":true},             "async":{               "type":"string",               "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."},             "waitForFinalState":{               "type":"boolean",               "description":"If true then request will complete only when all affected replicas become active.",               "default":false}},           "required":["name"]},         "create-alias":{           "documentation":"https://lucene.apache.org/solr/guide/collection-aliasing.html#createalias",           "description":"Allows one or more collections to be known by another name (to include time partitioned collections). If this command is used on an existing alias, the existing alias will be replaced with the new collection details.",           "type":"object",           "properties":{             "name":{               "type":"string",               "description":"The alias name to be created."},             "collections":{               "type":"array",               "description":"The list of collections to be known as this alias. Incompatible with any of the routing parameters. Either this parameter or a complete set of routing parameters is required.",               "items":{"type":"string"}},             "router":{               "type":"object",               "documentation":"https://lucene.apache.org/solr/guide/collection-aliasing.html#createalias",               "description":"Routing specific properties to define a time routed alias.  Do not specify 'collections' when creating a time routed alias.",               "properties":{                 "name":{                   "type":"string",                   "description":"The type of routing to perform. Currently only 'time' is supported, and it's required."},                 "field":{                   "type":"string",                   "description":"The date field name in incoming documents that is consulted to decide which collection the document should be routed to."},                 "start":{                   "type":"string",                   "description":"The earliest date/time in a document that may be indexed into this alias. Documents with values less than this will return an error. For time based routing this may be a date math expression."},                 "interval":{                   "type":"string",                   "description":"A specification of the width of the interval for each partition collection. For time based routing this should be a date math expression fragment starting with the + character."},                 "maxFutureMs":{                   "type":"integer",                   "description":"How many milliseconds into the future to accept document. Documents with a value in router.field that is greater than now() + maxFutureMs will be rejected to avoid provisioning too much resources."},                 "preemptiveCreateMath":{                   "type":"string",                   "description":"If a document arrives with a timestamp that is after the end time of the most recent collection minus this interval, then the next collection will be created asynchronously. Without this setting, collections are created synchronously when required by the document time stamp and thus block the flow of documents until the collection is created (possibly several seconds). Preemptive creation reduces these hiccups. If set to enough time (perhaps an hour or more) then if there are problems creating a collection, this window of time might be enough to take corrective action. However after a successful preemptive creation,  the collection is consuming resources without being used, and new documents will tend to be routed through it only to be routed elsewhere. Also, note that router.autoDeleteAge is currently evaluated relative to the date of a newly created collection, and so you may want to increase the delete age by the preemptive window amount so that the oldest collection isn't deleted too soon."},                 "autoDeleteAge":{                   "type":"string",                   "description":"A date math expressions yielding a time in the past. Collections covering a period of time entirely before this age will be automatically deleted."},                 "maxCardinality":{                   "type":"integer",                   "description":"The maximum number of categories allowed for this alias."},                 "mustMatch":{                   "type":"string",                   "description":"A regular expression that the value of the field specified by `router.field` must match before a corresponding collection will be created."},                 "routerList":{                   "type":"array",                   "description":"A list of router property sets to be used with router type Dimensional[foo,bar] where foo and bar are valid router type names (i.e. time or category). The order must correspond to the type specification in [] in the Dimensional type, so Dimensional[category,time] would require the first set of router properties to be valid for a category routed alias, and the second set to be valid for a time routed alias. In these sets of properties, router.name will be ignored in favor of the type specified in the top level Dimensional[] router.name",                   "items":{                     "type":"object",                     "additionalProperties":true}}}},             "TZ":{               "type":"string",               "description":"Optional timezone for use with any date math that may exist in other parameters.  Defaults to UTC."},             "create-collection":{               "type":"object",               "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#create",               "description":"The settings to use to create a collection for each new time partition. Most options from the collection create command are available, except for 'name', 'async' and 'waitForFinalState'.",               "additionalProperties":true},             "async":{               "type":"string",               "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."}},           "required":["name"]},         "delete-alias":{           "documentation":"https://lucene.apache.org/solr/guide/collection-aliasing.html#deletealias",           "description":"Deletes a collection alias",           "type":"object",           "properties":{             "name":{               "type":"string",               "description":"The name of the alias to delete."},             "async":{               "type":"string",               "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."}},           "required":["name"]},         "set-alias-property":{           "documentation":"https://lucene.apache.org/solr/guide/collection-aliasing.html#modifyalias",           "description":"Allows changing the properties on an alias. If a key is set with an empty string then it will be removed",           "type":"object",           "properties":{             "name":{               "type":"string",               "description":"The alias name on which to set properties."},             "properties":{               "type":"object",               "description":"A map of key/value pairs that will be associated with the alias as alias properties (metadata). An empty value will delete any existing value for a given key.",               "additionalProperties":true},             "async":{               "type":"string",               "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."}},           "required":["name"]},         "backup-collection":{           "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#backup",           "description":"Backup Solr indexes and configurations for a specific collection. One copy of the indexes will be taken from each shard, and the config set for the collection will also be copied.",           "type":"object",           "properties":{             "collection":{               "type":"string",               "description":"The name of the collection to back up."},             "name":{               "type":"string",               "description":"The name of the backup."},             "location":{               "type":"string",               "description":"A location on a shared drive for the backup-collection command to write to. Alternately, it can be set as a cluster property with the cluster endpoint, which also supports setting a location."},             "async":{               "type":"string",               "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."}},           "required":[             "collection",             "name",             "location"]},         "restore-collection":{           "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#restore",           "description":"Restore Solr indexes and configurations from a backup. You cannot restore into the same collection you took the backup from. The target collection must not exist before calling this command, as it will be created by the restore action. The new collection will have the same number of shards and replicas as the original collection, and all routing strategies will be retained.",           "type":"object",           "properties":{             "collection":{               "type":"string",               "description":"The name of the collection the backup will be restored to. This collection must not exist prior to this "},             "name":{               "type":"string",               "description":"The name of the backup file."},             "location":{               "type":"string",               "description":"The location on the shared drive for the restore-collection command to read from. Alternately, it can be set as a cluster property with the cluster endpoint, which also supports setting a location."},             "async":{               "type":"string",               "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."}},           "required":[             "collection",             "name",             "location"]}}},     {       "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#delete",       "description":"Deletes a collection.",       "methods":["DELETE"],       "url":{"paths":[           "/collections/{collection}",           "/c/{collection}"]}},     {       "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#list",       "description":"List all available collections and their properties.",       "methods":["GET"],       "url":{"paths":[           "/collections",           "/c"]}}],   "WARNING":"This response format is experimental.  It is likely to change in the future.",   "availableSubPaths":{     "/collections/{collection}/shards":[       "POST",       "GET"],     "/collections/{collection}/shards/{shard}/{replica}":[       "DELETE",       "GET"],     "/collections/{collection}":[       "DELETE",       "POST",       "GET"],     "/collections/{collection}/shards/{shard}":[       "DELETE",       "POST",       "GET"]}} expected:<[DELETE]> but was:<[POST]>

Stack Trace:
org.junit.ComparisonFailure: incorrect value for path /spec[0]/methods[0] in :{
  "spec":[
    {
      "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#create",
      "description":"Create collections and collection aliases, backup or restore collections, and delete collections and aliases.",
      "methods":["POST"],
      "url":{"paths":[
          "/collections",
          "/c"]},
      "commands":{
        "create":{
          "type":"object",
          "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#create",
          "description":"Create a collection.",
          "properties":{
            "name":{
              "type":"string",
              "description":"The name of the collection to be created."},
            "config":{
              "type":"string",
              "description":"The name of the configuration set (which must already be stored in ZooKeeper) to use for this collection. If not provided, Solr will default to the collection name as the configuration set name."},
            "router":{
              "type":"object",
              "documentation":"https://lucene.apache.org/solr/guide/shards-and-indexing-data-in-solrcloud.html",
              "description":"These properties define how to distribute documents across a collection's shards.",
              "properties":{
                "name":{
                  "type":"string",
                  "enum":[
                    "implicit",
                    "compositeId"],
                  "description":"The router implementation to use for this collection. There are two options: compositeId or implicit. The compositeId option has Solr decide how to distribute documents (with some possibilities for customization). The implicit option requires you define your own routing strategy, and puts the balancing of documents in shards entirely in your hands.",
                  "default":"compositeId"},
                "field":{
                  "type":"string",
                  "description":"A field to be used by Solr to identify the shard a document should be routed to. By default, the field defined as the unique ID for each document is used, but an alternative field can be defined with this parameter."}}},
            "numShards":{
              "type":"integer",
              "description":"The number of shards to be created as part of the collection. Shards are logical partitions of a single collection. Each shard has at least one replica, but more replicas for each shard can be defined with the replicationFactor property. This is a required parameter when using the 'compositeId' router."},
            "shards":{
              "type":"string",
              "description":"A comma-separated list of shard names, e.g., shard-x,shard-y,shard-z. This is a required parameter when using the 'implicit' router."},
            "replicationFactor":{
              "type":"integer",
              "description":"The number of NRT replicas to be created for each shard. Replicas are physical copies of each shard, acting as failover for the shard."},
            "nrtReplicas":{
              "type":"integer",
              "description":"The number of NRT replicas to be created for each shard. Replicas are physical copies of each shard, acting as failover for the shard. Replicas of type NRT will be updated with each document that is added to the cluster, and can use \"softCommits\" to get a new view of the index in Near Real Time. This parameter works in the same way as 'replicationFactor'"},
            "tlogReplicas":{
              "type":"integer",
              "description":"The number of TLOG replicas to be created for each shard. TLOG replicas update their transaction log for every update to the cluster, but only the shard leader updates the local index, other TLOG replicas will use segment replication and copy the latest index files from the leader."},
            "pullReplicas":{
              "type":"integer",
              "description":"The number of PULL replicas to be created for each shard. PULL replicas don't receive copies of the documents on update requests, they just replicate the latest segments periodically from the shard leader. PULL replicas can't become shard leaders, and need at least one active TLOG(recommended) or NRT replicas in the shard to replicate from."},
            "nodeSet":{
              "type":"array",
              "items":{"type":"string"},
              "description":"Defines nodes to spread the new collection across. If not provided, the collection will be spread across all live Solr nodes. The names to use are the 'node_name', which can be found by a request to the cluster/nodes endpoint. A special value of EMPTY will create no shards or replicas for the new collection. In this case, shards and replicas can be added later with the add-replica command available on the /collections/{collection}/shards endpoint."},
            "shuffleNodes":{
              "type":"boolean",
              "description":"Controls whether or not the shard-replicas created for this collection will be assigned to the nodes specified by the nodeSet property in a sequential manner, or if the list of nodes should be shuffled prior to creating individual replicas. A 'false' value makes the results of a collection creation predictable and gives more exact control over the location of the individual shard-replicas, but 'true' can be a better choice for ensuring replicas are distributed evenly across nodes. This property is ignored if nodeSet is not also specified."},
            "maxShardsPerNode":{
              "type":"integer",
              "description":"When creating collections, the shards and/or replicas are spread across all available, live, nodes, and two replicas of the same shard will never be on the same node. If a node is not live when the collection is created, it will not get any parts of the new collection, which could lead to too many replicas being created on a single live node. Defining maxShardsPerNode sets a limit on the number of replicas can be spread to each node. If the entire collection can not be fit into the live nodes, no collection will be created at all."},
            "autoAddReplicas":{
              "type":"boolean",
              "description":"When set to true, enables auto addition of replicas when the number of active replicas falls below the value set for replicationFactor.",
              "documentation":"https://lucene.apache.org/solr/guide/solrcloud-autoscaling-auto-add-replicas.html",
              "default":"false"},
            "rule":{
              "type":"array",
              "documentation":"https://lucene.apache.org/solr/guide/rule-based-replica-placement.html",
              "description":"Defines rules for where replicas should be located in a cluster.",
              "items":{"type":"string"}},
            "snitch":{
              "type":"array",
              "documentation":"https://lucene.apache.org/solr/guide/rule-based-replica-placement.html",
              "description":"",
              "items":{"type":"string"}},
            "policy":{
              "type":"string",
              "documentation":"https://lucene.apache.org/solr/guide/solrcloud-autoscaling-policy-preferences.html",
              "description":"Name of the collection-level policy"},
            "properties":{
              "type":"object",
              "documentation":"https://lucene.apache.org/solr/guide/defining-core-properties.html",
              "description":"Allows adding core.properties for the collection. Some examples of core properties you may want to modify include the config set, the node name, the data directory, among others.",
              "additionalProperties":true},
            "async":{
              "type":"string",
              "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."},
            "waitForFinalState":{
              "type":"boolean",
              "description":"If true then request will complete only when all affected replicas become active.",
              "default":false}},
          "required":["name"]},
        "create-alias":{
          "documentation":"https://lucene.apache.org/solr/guide/collection-aliasing.html#createalias",
          "description":"Allows one or more collections to be known by another name (to include time partitioned collections). If this command is used on an existing alias, the existing alias will be replaced with the new collection details.",
          "type":"object",
          "properties":{
            "name":{
              "type":"string",
              "description":"The alias name to be created."},
            "collections":{
              "type":"array",
              "description":"The list of collections to be known as this alias. Incompatible with any of the routing parameters. Either this parameter or a complete set of routing parameters is required.",
              "items":{"type":"string"}},
            "router":{
              "type":"object",
              "documentation":"https://lucene.apache.org/solr/guide/collection-aliasing.html#createalias",
              "description":"Routing specific properties to define a time routed alias.  Do not specify 'collections' when creating a time routed alias.",
              "properties":{
                "name":{
                  "type":"string",
                  "description":"The type of routing to perform. Currently only 'time' is supported, and it's required."},
                "field":{
                  "type":"string",
                  "description":"The date field name in incoming documents that is consulted to decide which collection the document should be routed to."},
                "start":{
                  "type":"string",
                  "description":"The earliest date/time in a document that may be indexed into this alias. Documents with values less than this will return an error. For time based routing this may be a date math expression."},
                "interval":{
                  "type":"string",
                  "description":"A specification of the width of the interval for each partition collection. For time based routing this should be a date math expression fragment starting with the + character."},
                "maxFutureMs":{
                  "type":"integer",
                  "description":"How many milliseconds into the future to accept document. Documents with a value in router.field that is greater than now() + maxFutureMs will be rejected to avoid provisioning too much resources."},
                "preemptiveCreateMath":{
                  "type":"string",
                  "description":"If a document arrives with a timestamp that is after the end time of the most recent collection minus this interval, then the next collection will be created asynchronously. Without this setting, collections are created synchronously when required by the document time stamp and thus block the flow of documents until the collection is created (possibly several seconds). Preemptive creation reduces these hiccups. If set to enough time (perhaps an hour or more) then if there are problems creating a collection, this window of time might be enough to take corrective action. However after a successful preemptive creation,  the collection is consuming resources without being used, and new documents will tend to be routed through it only to be routed elsewhere. Also, note that router.autoDeleteAge is currently evaluated relative to the date of a newly created collection, and so you may want to increase the delete age by the preemptive window amount so that the oldest collection isn't deleted too soon."},
                "autoDeleteAge":{
                  "type":"string",
                  "description":"A date math expressions yielding a time in the past. Collections covering a period of time entirely before this age will be automatically deleted."},
                "maxCardinality":{
                  "type":"integer",
                  "description":"The maximum number of categories allowed for this alias."},
                "mustMatch":{
                  "type":"string",
                  "description":"A regular expression that the value of the field specified by `router.field` must match before a corresponding collection will be created."},
                "routerList":{
                  "type":"array",
                  "description":"A list of router property sets to be used with router type Dimensional[foo,bar] where foo and bar are valid router type names (i.e. time or category). The order must correspond to the type specification in [] in the Dimensional type, so Dimensional[category,time] would require the first set of router properties to be valid for a category routed alias, and the second set to be valid for a time routed alias. In these sets of properties, router.name will be ignored in favor of the type specified in the top level Dimensional[] router.name",
                  "items":{
                    "type":"object",
                    "additionalProperties":true}}}},
            "TZ":{
              "type":"string",
              "description":"Optional timezone for use with any date math that may exist in other parameters.  Defaults to UTC."},
            "create-collection":{
              "type":"object",
              "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#create",
              "description":"The settings to use to create a collection for each new time partition. Most options from the collection create command are available, except for 'name', 'async' and 'waitForFinalState'.",
              "additionalProperties":true},
            "async":{
              "type":"string",
              "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."}},
          "required":["name"]},
        "delete-alias":{
          "documentation":"https://lucene.apache.org/solr/guide/collection-aliasing.html#deletealias",
          "description":"Deletes a collection alias",
          "type":"object",
          "properties":{
            "name":{
              "type":"string",
              "description":"The name of the alias to delete."},
            "async":{
              "type":"string",
              "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."}},
          "required":["name"]},
        "set-alias-property":{
          "documentation":"https://lucene.apache.org/solr/guide/collection-aliasing.html#modifyalias",
          "description":"Allows changing the properties on an alias. If a key is set with an empty string then it will be removed",
          "type":"object",
          "properties":{
            "name":{
              "type":"string",
              "description":"The alias name on which to set properties."},
            "properties":{
              "type":"object",
              "description":"A map of key/value pairs that will be associated with the alias as alias properties (metadata). An empty value will delete any existing value for a given key.",
              "additionalProperties":true},
            "async":{
              "type":"string",
              "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."}},
          "required":["name"]},
        "backup-collection":{
          "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#backup",
          "description":"Backup Solr indexes and configurations for a specific collection. One copy of the indexes will be taken from each shard, and the config set for the collection will also be copied.",
          "type":"object",
          "properties":{
            "collection":{
              "type":"string",
              "description":"The name of the collection to back up."},
            "name":{
              "type":"string",
              "description":"The name of the backup."},
            "location":{
              "type":"string",
              "description":"A location on a shared drive for the backup-collection command to write to. Alternately, it can be set as a cluster property with the cluster endpoint, which also supports setting a location."},
            "async":{
              "type":"string",
              "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."}},
          "required":[
            "collection",
            "name",
            "location"]},
        "restore-collection":{
          "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#restore",
          "description":"Restore Solr indexes and configurations from a backup. You cannot restore into the same collection you took the backup from. The target collection must not exist before calling this command, as it will be created by the restore action. The new collection will have the same number of shards and replicas as the original collection, and all routing strategies will be retained.",
          "type":"object",
          "properties":{
            "collection":{
              "type":"string",
              "description":"The name of the collection the backup will be restored to. This collection must not exist prior to this "},
            "name":{
              "type":"string",
              "description":"The name of the backup file."},
            "location":{
              "type":"string",
              "description":"The location on the shared drive for the restore-collection command to read from. Alternately, it can be set as a cluster property with the cluster endpoint, which also supports setting a location."},
            "async":{
              "type":"string",
              "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."}},
          "required":[
            "collection",
            "name",
            "location"]}}},
    {
      "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#delete",
      "description":"Deletes a collection.",
      "methods":["DELETE"],
      "url":{"paths":[
          "/collections/{collection}",
          "/c/{collection}"]}},
    {
      "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#list",
      "description":"List all available collections and their properties.",
      "methods":["GET"],
      "url":{"paths":[
          "/collections",
          "/c"]}}],
  "WARNING":"This response format is experimental.  It is likely to change in the future.",
  "availableSubPaths":{
    "/collections/{collection}/shards":[
      "POST",
      "GET"],
    "/collections/{collection}/shards/{shard}/{replica}":[
      "DELETE",
      "GET"],
    "/collections/{collection}":[
      "DELETE",
      "POST",
      "GET"],
    "/collections/{collection}/shards/{shard}":[
      "DELETE",
      "POST",
      "GET"]}} expected:<[DELETE]> but was:<[POST]>
        at __randomizedtesting.SeedInfo.seed([3D005EDE03069417:2A7694F905D2782A]:0)
        at org.junit.Assert.assertEquals(Assert.java:115)
        at org.apache.solr.handler.admin.TestApiFramework.assertConditions(TestApiFramework.java:214)
        at org.apache.solr.handler.admin.TestApiFramework.testFramework(TestApiFramework.java:125)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:567)
        at com.carrotsearch.randomizedtesting.RandomizedRunner.invoke(RandomizedRunner.java:1750)
        at com.carrotsearch.randomizedtesting.RandomizedRunner$8.evaluate(RandomizedRunner.java:938)
        at com.carrotsearch.randomizedtesting.RandomizedRunner$9.evaluate(RandomizedRunner.java:974)
        at com.carrotsearch.randomizedtesting.RandomizedRunner$10.evaluate(RandomizedRunner.java:988)
        at com.carrotsearch.randomizedtesting.rules.SystemPropertiesRestoreRule$1.evaluate(SystemPropertiesRestoreRule.java:57)
        at org.apache.lucene.util.TestRuleSetupTeardownChained$1.evaluate(TestRuleSetupTeardownChained.java:49)
        at org.apache.lucene.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:45)
        at org.apache.lucene.util.TestRuleThreadAndTestName$1.evaluate(TestRuleThreadAndTestName.java:48)
        at org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:64)
        at org.apache.lucene.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:47)
        at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
        at com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner.run(ThreadLeakControl.java:368)
        at com.carrotsearch.randomizedtesting.ThreadLeakControl.forkTimeoutingTask(ThreadLeakControl.java:817)
        at com.carrotsearch.randomizedtesting.ThreadLeakControl$3.evaluate(ThreadLeakControl.java:468)
        at com.carrotsearch.randomizedtesting.RandomizedRunner.runSingleTest(RandomizedRunner.java:947)
        at com.carrotsearch.randomizedtesting.RandomizedRunner$5.evaluate(RandomizedRunner.java:832)
        at com.carrotsearch.randomizedtesting.RandomizedRunner$6.evaluate(RandomizedRunner.java:883)
        at com.carrotsearch.randomizedtesting.RandomizedRunner$7.evaluate(RandomizedRunner.java:894)
        at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
        at com.carrotsearch.randomizedtesting.rules.SystemPropertiesRestoreRule$1.evaluate(SystemPropertiesRestoreRule.java:57)
        at org.apache.lucene.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:45)
        at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
        at org.apache.lucene.util.TestRuleStoreClassName$1.evaluate(TestRuleStoreClassName.java:41)
        at com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:40)
        at com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:40)
        at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
        at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
        at org.apache.lucene.util.TestRuleAssertionsRequired$1.evaluate(TestRuleAssertionsRequired.java:53)
        at org.apache.lucene.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:47)
        at org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:64)
        at org.apache.lucene.util.TestRuleIgnoreTestSuites$1.evaluate(TestRuleIgnoreTestSuites.java:54)
        at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
        at com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner.run(ThreadLeakControl.java:368)
        at java.base/java.lang.Thread.run(Thread.java:835)


FAILED:  org.apache.solr.handler.admin.TestApiFramework.testFramework

Error Message:
incorrect value for path /spec[0]/methods[0] in :{   "spec":[     {       "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#list",       "description":"List all available collections and their properties.",       "methods":["GET"],       "url":{"paths":[           "/collections",           "/c"]}},     {       "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#create",       "description":"Create collections and collection aliases, backup or restore collections, and delete collections and aliases.",       "methods":["POST"],       "url":{"paths":[           "/collections",           "/c"]},       "commands":{         "create":{           "type":"object",           "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#create",           "description":"Create a collection.",           "properties":{             "name":{               "type":"string",               "description":"The name of the collection to be created."},             "config":{               "type":"string",               "description":"The name of the configuration set (which must already be stored in ZooKeeper) to use for this collection. If not provided, Solr will default to the collection name as the configuration set name."},             "router":{               "type":"object",               "documentation":"https://lucene.apache.org/solr/guide/shards-and-indexing-data-in-solrcloud.html",               "description":"These properties define how to distribute documents across a collection's shards.",               "properties":{                 "name":{                   "type":"string",                   "enum":[                     "implicit",                     "compositeId"],                   "description":"The router implementation to use for this collection. There are two options: compositeId or implicit. The compositeId option has Solr decide how to distribute documents (with some possibilities for customization). The implicit option requires you define your own routing strategy, and puts the balancing of documents in shards entirely in your hands.",                   "default":"compositeId"},                 "field":{                   "type":"string",                   "description":"A field to be used by Solr to identify the shard a document should be routed to. By default, the field defined as the unique ID for each document is used, but an alternative field can be defined with this parameter."}}},             "numShards":{               "type":"integer",               "description":"The number of shards to be created as part of the collection. Shards are logical partitions of a single collection. Each shard has at least one replica, but more replicas for each shard can be defined with the replicationFactor property. This is a required parameter when using the 'compositeId' router."},             "shards":{               "type":"string",               "description":"A comma-separated list of shard names, e.g., shard-x,shard-y,shard-z. This is a required parameter when using the 'implicit' router."},             "replicationFactor":{               "type":"integer",               "description":"The number of NRT replicas to be created for each shard. Replicas are physical copies of each shard, acting as failover for the shard."},             "nrtReplicas":{               "type":"integer",               "description":"The number of NRT replicas to be created for each shard. Replicas are physical copies of each shard, acting as failover for the shard. Replicas of type NRT will be updated with each document that is added to the cluster, and can use \"softCommits\" to get a new view of the index in Near Real Time. This parameter works in the same way as 'replicationFactor'"},             "tlogReplicas":{               "type":"integer",               "description":"The number of TLOG replicas to be created for each shard. TLOG replicas update their transaction log for every update to the cluster, but only the shard leader updates the local index, other TLOG replicas will use segment replication and copy the latest index files from the leader."},             "pullReplicas":{               "type":"integer",               "description":"The number of PULL replicas to be created for each shard. PULL replicas don't receive copies of the documents on update requests, they just replicate the latest segments periodically from the shard leader. PULL replicas can't become shard leaders, and need at least one active TLOG(recommended) or NRT replicas in the shard to replicate from."},             "nodeSet":{               "type":"array",               "items":{"type":"string"},               "description":"Defines nodes to spread the new collection across. If not provided, the collection will be spread across all live Solr nodes. The names to use are the 'node_name', which can be found by a request to the cluster/nodes endpoint. A special value of EMPTY will create no shards or replicas for the new collection. In this case, shards and replicas can be added later with the add-replica command available on the /collections/{collection}/shards endpoint."},             "shuffleNodes":{               "type":"boolean",               "description":"Controls whether or not the shard-replicas created for this collection will be assigned to the nodes specified by the nodeSet property in a sequential manner, or if the list of nodes should be shuffled prior to creating individual replicas. A 'false' value makes the results of a collection creation predictable and gives more exact control over the location of the individual shard-replicas, but 'true' can be a better choice for ensuring replicas are distributed evenly across nodes. This property is ignored if nodeSet is not also specified."},             "maxShardsPerNode":{               "type":"integer",               "description":"When creating collections, the shards and/or replicas are spread across all available, live, nodes, and two replicas of the same shard will never be on the same node. If a node is not live when the collection is created, it will not get any parts of the new collection, which could lead to too many replicas being created on a single live node. Defining maxShardsPerNode sets a limit on the number of replicas can be spread to each node. If the entire collection can not be fit into the live nodes, no collection will be created at all."},             "autoAddReplicas":{               "type":"boolean",               "description":"When set to true, enables auto addition of replicas when the number of active replicas falls below the value set for replicationFactor.",               "documentation":"https://lucene.apache.org/solr/guide/solrcloud-autoscaling-auto-add-replicas.html",               "default":"false"},             "rule":{               "type":"array",               "documentation":"https://lucene.apache.org/solr/guide/rule-based-replica-placement.html",               "description":"Defines rules for where replicas should be located in a cluster.",               "items":{"type":"string"}},             "snitch":{               "type":"array",               "documentation":"https://lucene.apache.org/solr/guide/rule-based-replica-placement.html",               "description":"",               "items":{"type":"string"}},             "policy":{               "type":"string",               "documentation":"https://lucene.apache.org/solr/guide/solrcloud-autoscaling-policy-preferences.html",               "description":"Name of the collection-level policy"},             "properties":{               "type":"object",               "documentation":"https://lucene.apache.org/solr/guide/defining-core-properties.html",               "description":"Allows adding core.properties for the collection. Some examples of core properties you may want to modify include the config set, the node name, the data directory, among others.",               "additionalProperties":true},             "async":{               "type":"string",               "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."},             "waitForFinalState":{               "type":"boolean",               "description":"If true then request will complete only when all affected replicas become active.",               "default":false}},           "required":["name"]},         "create-alias":{           "documentation":"https://lucene.apache.org/solr/guide/collection-aliasing.html#createalias",           "description":"Allows one or more collections to be known by another name (to include time partitioned collections). If this command is used on an existing alias, the existing alias will be replaced with the new collection details.",           "type":"object",           "properties":{             "name":{               "type":"string",               "description":"The alias name to be created."},             "collections":{               "type":"array",               "description":"The list of collections to be known as this alias. Incompatible with any of the routing parameters. Either this parameter or a complete set of routing parameters is required.",               "items":{"type":"string"}},             "router":{               "type":"object",               "documentation":"https://lucene.apache.org/solr/guide/collection-aliasing.html#createalias",               "description":"Routing specific properties to define a time routed alias.  Do not specify 'collections' when creating a time routed alias.",               "properties":{                 "name":{                   "type":"string",                   "description":"The type of routing to perform. Currently only 'time' is supported, and it's required."},                 "field":{                   "type":"string",                   "description":"The date field name in incoming documents that is consulted to decide which collection the document should be routed to."},                 "start":{                   "type":"string",                   "description":"The earliest date/time in a document that may be indexed into this alias. Documents with values less than this will return an error. For time based routing this may be a date math expression."},                 "interval":{                   "type":"string",                   "description":"A specification of the width of the interval for each partition collection. For time based routing this should be a date math expression fragment starting with the + character."},                 "maxFutureMs":{                   "type":"integer",                   "description":"How many milliseconds into the future to accept document. Documents with a value in router.field that is greater than now() + maxFutureMs will be rejected to avoid provisioning too much resources."},                 "preemptiveCreateMath":{                   "type":"string",                   "description":"If a document arrives with a timestamp that is after the end time of the most recent collection minus this interval, then the next collection will be created asynchronously. Without this setting, collections are created synchronously when required by the document time stamp and thus block the flow of documents until the collection is created (possibly several seconds). Preemptive creation reduces these hiccups. If set to enough time (perhaps an hour or more) then if there are problems creating a collection, this window of time might be enough to take corrective action. However after a successful preemptive creation,  the collection is consuming resources without being used, and new documents will tend to be routed through it only to be routed elsewhere. Also, note that router.autoDeleteAge is currently evaluated relative to the date of a newly created collection, and so you may want to increase the delete age by the preemptive window amount so that the oldest collection isn't deleted too soon."},                 "autoDeleteAge":{                   "type":"string",                   "description":"A date math expressions yielding a time in the past. Collections covering a period of time entirely before this age will be automatically deleted."},                 "maxCardinality":{                   "type":"integer",                   "description":"The maximum number of categories allowed for this alias."},                 "mustMatch":{                   "type":"string",                   "description":"A regular expression that the value of the field specified by `router.field` must match before a corresponding collection will be created."},                 "routerList":{                   "type":"array",                   "description":"A list of router property sets to be used with router type Dimensional[foo,bar] where foo and bar are valid router type names (i.e. time or category). The order must correspond to the type specification in [] in the Dimensional type, so Dimensional[category,time] would require the first set of router properties to be valid for a category routed alias, and the second set to be valid for a time routed alias. In these sets of properties, router.name will be ignored in favor of the type specified in the top level Dimensional[] router.name",                   "items":{                     "type":"object",                     "additionalProperties":true}}}},             "TZ":{               "type":"string",               "description":"Optional timezone for use with any date math that may exist in other parameters.  Defaults to UTC."},             "create-collection":{               "type":"object",               "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#create",               "description":"The settings to use to create a collection for each new time partition. Most options from the collection create command are available, except for 'name', 'async' and 'waitForFinalState'.",               "additionalProperties":true},             "async":{               "type":"string",               "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."}},           "required":["name"]},         "delete-alias":{           "documentation":"https://lucene.apache.org/solr/guide/collection-aliasing.html#deletealias",           "description":"Deletes a collection alias",           "type":"object",           "properties":{             "name":{               "type":"string",               "description":"The name of the alias to delete."},             "async":{               "type":"string",               "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."}},           "required":["name"]},         "set-alias-property":{           "documentation":"https://lucene.apache.org/solr/guide/collection-aliasing.html#modifyalias",           "description":"Allows changing the properties on an alias. If a key is set with an empty string then it will be removed",           "type":"object",           "properties":{             "name":{               "type":"string",               "description":"The alias name on which to set properties."},             "properties":{               "type":"object",               "description":"A map of key/value pairs that will be associated with the alias as alias properties (metadata). An empty value will delete any existing value for a given key.",               "additionalProperties":true},             "async":{               "type":"string",               "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."}},           "required":["name"]},         "backup-collection":{           "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#backup",           "description":"Backup Solr indexes and configurations for a specific collection. One copy of the indexes will be taken from each shard, and the config set for the collection will also be copied.",           "type":"object",           "properties":{             "collection":{               "type":"string",               "description":"The name of the collection to back up."},             "name":{               "type":"string",               "description":"The name of the backup."},             "location":{               "type":"string",               "description":"A location on a shared drive for the backup-collection command to write to. Alternately, it can be set as a cluster property with the cluster endpoint, which also supports setting a location."},             "async":{               "type":"string",               "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."}},           "required":[             "collection",             "name",             "location"]},         "restore-collection":{           "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#restore",           "description":"Restore Solr indexes and configurations from a backup. You cannot restore into the same collection you took the backup from. The target collection must not exist before calling this command, as it will be created by the restore action. The new collection will have the same number of shards and replicas as the original collection, and all routing strategies will be retained.",           "type":"object",           "properties":{             "collection":{               "type":"string",               "description":"The name of the collection the backup will be restored to. This collection must not exist prior to this "},             "name":{               "type":"string",               "description":"The name of the backup file."},             "location":{               "type":"string",               "description":"The location on the shared drive for the restore-collection command to read from. Alternately, it can be set as a cluster property with the cluster endpoint, which also supports setting a location."},             "async":{               "type":"string",               "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."}},           "required":[             "collection",             "name",             "location"]}}},     {       "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#delete",       "description":"Deletes a collection.",       "methods":["DELETE"],       "url":{"paths":[           "/collections/{collection}",           "/c/{collection}"]}}],   "WARNING":"This response format is experimental.  It is likely to change in the future.",   "availableSubPaths":{     "/collections/{collection}/shards":[       "POST",       "GET"],     "/collections/{collection}/shards/{shard}/{replica}":[       "DELETE",       "GET"],     "/collections/{collection}":[       "DELETE",       "POST",       "GET"],     "/collections/{collection}/shards/{shard}":[       "DELETE",       "POST",       "GET"]}} expected:<[DELETE]> but was:<[GET]>

Stack Trace:
org.junit.ComparisonFailure: incorrect value for path /spec[0]/methods[0] in :{
  "spec":[
    {
      "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#list",
      "description":"List all available collections and their properties.",
      "methods":["GET"],
      "url":{"paths":[
          "/collections",
          "/c"]}},
    {
      "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#create",
      "description":"Create collections and collection aliases, backup or restore collections, and delete collections and aliases.",
      "methods":["POST"],
      "url":{"paths":[
          "/collections",
          "/c"]},
      "commands":{
        "create":{
          "type":"object",
          "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#create",
          "description":"Create a collection.",
          "properties":{
            "name":{
              "type":"string",
              "description":"The name of the collection to be created."},
            "config":{
              "type":"string",
              "description":"The name of the configuration set (which must already be stored in ZooKeeper) to use for this collection. If not provided, Solr will default to the collection name as the configuration set name."},
            "router":{
              "type":"object",
              "documentation":"https://lucene.apache.org/solr/guide/shards-and-indexing-data-in-solrcloud.html",
              "description":"These properties define how to distribute documents across a collection's shards.",
              "properties":{
                "name":{
                  "type":"string",
                  "enum":[
                    "implicit",
                    "compositeId"],
                  "description":"The router implementation to use for this collection. There are two options: compositeId or implicit. The compositeId option has Solr decide how to distribute documents (with some possibilities for customization). The implicit option requires you define your own routing strategy, and puts the balancing of documents in shards entirely in your hands.",
                  "default":"compositeId"},
                "field":{
                  "type":"string",
                  "description":"A field to be used by Solr to identify the shard a document should be routed to. By default, the field defined as the unique ID for each document is used, but an alternative field can be defined with this parameter."}}},
            "numShards":{
              "type":"integer",
              "description":"The number of shards to be created as part of the collection. Shards are logical partitions of a single collection. Each shard has at least one replica, but more replicas for each shard can be defined with the replicationFactor property. This is a required parameter when using the 'compositeId' router."},
            "shards":{
              "type":"string",
              "description":"A comma-separated list of shard names, e.g., shard-x,shard-y,shard-z. This is a required parameter when using the 'implicit' router."},
            "replicationFactor":{
              "type":"integer",
              "description":"The number of NRT replicas to be created for each shard. Replicas are physical copies of each shard, acting as failover for the shard."},
            "nrtReplicas":{
              "type":"integer",
              "description":"The number of NRT replicas to be created for each shard. Replicas are physical copies of each shard, acting as failover for the shard. Replicas of type NRT will be updated with each document that is added to the cluster, and can use \"softCommits\" to get a new view of the index in Near Real Time. This parameter works in the same way as 'replicationFactor'"},
            "tlogReplicas":{
              "type":"integer",
              "description":"The number of TLOG replicas to be created for each shard. TLOG replicas update their transaction log for every update to the cluster, but only the shard leader updates the local index, other TLOG replicas will use segment replication and copy the latest index files from the leader."},
            "pullReplicas":{
              "type":"integer",
              "description":"The number of PULL replicas to be created for each shard. PULL replicas don't receive copies of the documents on update requests, they just replicate the latest segments periodically from the shard leader. PULL replicas can't become shard leaders, and need at least one active TLOG(recommended) or NRT replicas in the shard to replicate from."},
            "nodeSet":{
              "type":"array",
              "items":{"type":"string"},
              "description":"Defines nodes to spread the new collection across. If not provided, the collection will be spread across all live Solr nodes. The names to use are the 'node_name', which can be found by a request to the cluster/nodes endpoint. A special value of EMPTY will create no shards or replicas for the new collection. In this case, shards and replicas can be added later with the add-replica command available on the /collections/{collection}/shards endpoint."},
            "shuffleNodes":{
              "type":"boolean",
              "description":"Controls whether or not the shard-replicas created for this collection will be assigned to the nodes specified by the nodeSet property in a sequential manner, or if the list of nodes should be shuffled prior to creating individual replicas. A 'false' value makes the results of a collection creation predictable and gives more exact control over the location of the individual shard-replicas, but 'true' can be a better choice for ensuring replicas are distributed evenly across nodes. This property is ignored if nodeSet is not also specified."},
            "maxShardsPerNode":{
              "type":"integer",
              "description":"When creating collections, the shards and/or replicas are spread across all available, live, nodes, and two replicas of the same shard will never be on the same node. If a node is not live when the collection is created, it will not get any parts of the new collection, which could lead to too many replicas being created on a single live node. Defining maxShardsPerNode sets a limit on the number of replicas can be spread to each node. If the entire collection can not be fit into the live nodes, no collection will be created at all."},
            "autoAddReplicas":{
              "type":"boolean",
              "description":"When set to true, enables auto addition of replicas when the number of active replicas falls below the value set for replicationFactor.",
              "documentation":"https://lucene.apache.org/solr/guide/solrcloud-autoscaling-auto-add-replicas.html",
              "default":"false"},
            "rule":{
              "type":"array",
              "documentation":"https://lucene.apache.org/solr/guide/rule-based-replica-placement.html",
              "description":"Defines rules for where replicas should be located in a cluster.",
              "items":{"type":"string"}},
            "snitch":{
              "type":"array",
              "documentation":"https://lucene.apache.org/solr/guide/rule-based-replica-placement.html",
              "description":"",
              "items":{"type":"string"}},
            "policy":{
              "type":"string",
              "documentation":"https://lucene.apache.org/solr/guide/solrcloud-autoscaling-policy-preferences.html",
              "description":"Name of the collection-level policy"},
            "properties":{
              "type":"object",
              "documentation":"https://lucene.apache.org/solr/guide/defining-core-properties.html",
              "description":"Allows adding core.properties for the collection. Some examples of core properties you may want to modify include the config set, the node name, the data directory, among others.",
              "additionalProperties":true},
            "async":{
              "type":"string",
              "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."},
            "waitForFinalState":{
              "type":"boolean",
              "description":"If true then request will complete only when all affected replicas become active.",
              "default":false}},
          "required":["name"]},
        "create-alias":{
          "documentation":"https://lucene.apache.org/solr/guide/collection-aliasing.html#createalias",
          "description":"Allows one or more collections to be known by another name (to include time partitioned collections). If this command is used on an existing alias, the existing alias will be replaced with the new collection details.",
          "type":"object",
          "properties":{
            "name":{
              "type":"string",
              "description":"The alias name to be created."},
            "collections":{
              "type":"array",
              "description":"The list of collections to be known as this alias. Incompatible with any of the routing parameters. Either this parameter or a complete set of routing parameters is required.",
              "items":{"type":"string"}},
            "router":{
              "type":"object",
              "documentation":"https://lucene.apache.org/solr/guide/collection-aliasing.html#createalias",
              "description":"Routing specific properties to define a time routed alias.  Do not specify 'collections' when creating a time routed alias.",
              "properties":{
                "name":{
                  "type":"string",
                  "description":"The type of routing to perform. Currently only 'time' is supported, and it's required."},
                "field":{
                  "type":"string",
                  "description":"The date field name in incoming documents that is consulted to decide which collection the document should be routed to."},
                "start":{
                  "type":"string",
                  "description":"The earliest date/time in a document that may be indexed into this alias. Documents with values less than this will return an error. For time based routing this may be a date math expression."},
                "interval":{
                  "type":"string",
                  "description":"A specification of the width of the interval for each partition collection. For time based routing this should be a date math expression fragment starting with the + character."},
                "maxFutureMs":{
                  "type":"integer",
                  "description":"How many milliseconds into the future to accept document. Documents with a value in router.field that is greater than now() + maxFutureMs will be rejected to avoid provisioning too much resources."},
                "preemptiveCreateMath":{
                  "type":"string",
                  "description":"If a document arrives with a timestamp that is after the end time of the most recent collection minus this interval, then the next collection will be created asynchronously. Without this setting, collections are created synchronously when required by the document time stamp and thus block the flow of documents until the collection is created (possibly several seconds). Preemptive creation reduces these hiccups. If set to enough time (perhaps an hour or more) then if there are problems creating a collection, this window of time might be enough to take corrective action. However after a successful preemptive creation,  the collection is consuming resources without being used, and new documents will tend to be routed through it only to be routed elsewhere. Also, note that router.autoDeleteAge is currently evaluated relative to the date of a newly created collection, and so you may want to increase the delete age by the preemptive window amount so that the oldest collection isn't deleted too soon."},
                "autoDeleteAge":{
                  "type":"string",
                  "description":"A date math expressions yielding a time in the past. Collections covering a period of time entirely before this age will be automatically deleted."},
                "maxCardinality":{
                  "type":"integer",
                  "description":"The maximum number of categories allowed for this alias."},
                "mustMatch":{
                  "type":"string",
                  "description":"A regular expression that the value of the field specified by `router.field` must match before a corresponding collection will be created."},
                "routerList":{
                  "type":"array",
                  "description":"A list of router property sets to be used with router type Dimensional[foo,bar] where foo and bar are valid router type names (i.e. time or category). The order must correspond to the type specification in [] in the Dimensional type, so Dimensional[category,time] would require the first set of router properties to be valid for a category routed alias, and the second set to be valid for a time routed alias. In these sets of properties, router.name will be ignored in favor of the type specified in the top level Dimensional[] router.name",
                  "items":{
                    "type":"object",
                    "additionalProperties":true}}}},
            "TZ":{
              "type":"string",
              "description":"Optional timezone for use with any date math that may exist in other parameters.  Defaults to UTC."},
            "create-collection":{
              "type":"object",
              "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#create",
              "description":"The settings to use to create a collection for each new time partition. Most options from the collection create command are available, except for 'name', 'async' and 'waitForFinalState'.",
              "additionalProperties":true},
            "async":{
              "type":"string",
              "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."}},
          "required":["name"]},
        "delete-alias":{
          "documentation":"https://lucene.apache.org/solr/guide/collection-aliasing.html#deletealias",
          "description":"Deletes a collection alias",
          "type":"object",
          "properties":{
            "name":{
              "type":"string",
              "description":"The name of the alias to delete."},
            "async":{
              "type":"string",
              "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."}},
          "required":["name"]},
        "set-alias-property":{
          "documentation":"https://lucene.apache.org/solr/guide/collection-aliasing.html#modifyalias",
          "description":"Allows changing the properties on an alias. If a key is set with an empty string then it will be removed",
          "type":"object",
          "properties":{
            "name":{
              "type":"string",
              "description":"The alias name on which to set properties."},
            "properties":{
              "type":"object",
              "description":"A map of key/value pairs that will be associated with the alias as alias properties (metadata). An empty value will delete any existing value for a given key.",
              "additionalProperties":true},
            "async":{
              "type":"string",
              "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."}},
          "required":["name"]},
        "backup-collection":{
          "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#backup",
          "description":"Backup Solr indexes and configurations for a specific collection. One copy of the indexes will be taken from each shard, and the config set for the collection will also be copied.",
          "type":"object",
          "properties":{
            "collection":{
              "type":"string",
              "description":"The name of the collection to back up."},
            "name":{
              "type":"string",
              "description":"The name of the backup."},
            "location":{
              "type":"string",
              "description":"A location on a shared drive for the backup-collection command to write to. Alternately, it can be set as a cluster property with the cluster endpoint, which also supports setting a location."},
            "async":{
              "type":"string",
              "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."}},
          "required":[
            "collection",
            "name",
            "location"]},
        "restore-collection":{
          "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#restore",
          "description":"Restore Solr indexes and configurations from a backup. You cannot restore into the same collection you took the backup from. The target collection must not exist before calling this command, as it will be created by the restore action. The new collection will have the same number of shards and replicas as the original collection, and all routing strategies will be retained.",
          "type":"object",
          "properties":{
            "collection":{
              "type":"string",
              "description":"The name of the collection the backup will be restored to. This collection must not exist prior to this "},
            "name":{
              "type":"string",
              "description":"The name of the backup file."},
            "location":{
              "type":"string",
              "description":"The location on the shared drive for the restore-collection command to read from. Alternately, it can be set as a cluster property with the cluster endpoint, which also supports setting a location."},
            "async":{
              "type":"string",
              "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."}},
          "required":[
            "collection",
            "name",
            "location"]}}},
    {
      "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#delete",
      "description":"Deletes a collection.",
      "methods":["DELETE"],
      "url":{"paths":[
          "/collections/{collection}",
          "/c/{collection}"]}}],
  "WARNING":"This response format is experimental.  It is likely to change in the future.",
  "availableSubPaths":{
    "/collections/{collection}/shards":[
      "POST",
      "GET"],
    "/collections/{collection}/shards/{shard}/{replica}":[
      "DELETE",
      "GET"],
    "/collections/{collection}":[
      "DELETE",
      "POST",
      "GET"],
    "/collections/{collection}/shards/{shard}":[
      "DELETE",
      "POST",
      "GET"]}} expected:<[DELETE]> but was:<[GET]>
        at __randomizedtesting.SeedInfo.seed([3D005EDE03069417:2A7694F905D2782A]:0)
        at org.junit.Assert.assertEquals(Assert.java:115)
        at org.apache.solr.handler.admin.TestApiFramework.assertConditions(TestApiFramework.java:214)
        at org.apache.solr.handler.admin.TestApiFramework.testFramework(TestApiFramework.java:125)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:567)
        at com.carrotsearch.randomizedtesting.RandomizedRunner.invoke(RandomizedRunner.java:1750)
        at com.carrotsearch.randomizedtesting.RandomizedRunner$8.evaluate(RandomizedRunner.java:938)
        at com.carrotsearch.randomizedtesting.RandomizedRunner$9.evaluate(RandomizedRunner.java:974)
        at com.carrotsearch.randomizedtesting.RandomizedRunner$10.evaluate(RandomizedRunner.java:988)
        at com.carrotsearch.randomizedtesting.rules.SystemPropertiesRestoreRule$1.evaluate(SystemPropertiesRestoreRule.java:57)
        at org.apache.lucene.util.TestRuleSetupTeardownChained$1.evaluate(TestRuleSetupTeardownChained.java:49)
        at org.apache.lucene.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:45)
        at org.apache.lucene.util.TestRuleThreadAndTestName$1.evaluate(TestRuleThreadAndTestName.java:48)
        at org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:64)
        at org.apache.lucene.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:47)
        at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
        at com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner.run(ThreadLeakControl.java:368)
        at com.carrotsearch.randomizedtesting.ThreadLeakControl.forkTimeoutingTask(ThreadLeakControl.java:817)
        at com.carrotsearch.randomizedtesting.ThreadLeakControl$3.evaluate(ThreadLeakControl.java:468)
        at com.carrotsearch.randomizedtesting.RandomizedRunner.runSingleTest(RandomizedRunner.java:947)
        at com.carrotsearch.randomizedtesting.RandomizedRunner$5.evaluate(RandomizedRunner.java:832)
        at com.carrotsearch.randomizedtesting.RandomizedRunner$6.evaluate(RandomizedRunner.java:883)
        at com.carrotsearch.randomizedtesting.RandomizedRunner$7.evaluate(RandomizedRunner.java:894)
        at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
        at com.carrotsearch.randomizedtesting.rules.SystemPropertiesRestoreRule$1.evaluate(SystemPropertiesRestoreRule.java:57)
        at org.apache.lucene.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:45)
        at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
        at org.apache.lucene.util.TestRuleStoreClassName$1.evaluate(TestRuleStoreClassName.java:41)
        at com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:40)
        at com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:40)
        at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
        at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
        at org.apache.lucene.util.TestRuleAssertionsRequired$1.evaluate(TestRuleAssertionsRequired.java:53)
        at org.apache.lucene.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:47)
        at org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:64)
        at org.apache.lucene.util.TestRuleIgnoreTestSuites$1.evaluate(TestRuleIgnoreTestSuites.java:54)
        at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
        at com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner.run(ThreadLeakControl.java:368)
        at java.base/java.lang.Thread.run(Thread.java:835)


FAILED:  org.apache.solr.handler.admin.TestApiFramework.testFramework

Error Message:
incorrect value for path /spec[0]/methods[0] in :{   "spec":[     {       "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#create",       "description":"Create collections and collection aliases, backup or restore collections, and delete collections and aliases.",       "methods":["POST"],       "url":{"paths":[           "/collections",           "/c"]},       "commands":{         "create":{           "type":"object",           "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#create",           "description":"Create a collection.",           "properties":{             "name":{               "type":"string",               "description":"The name of the collection to be created."},             "config":{               "type":"string",               "description":"The name of the configuration set (which must already be stored in ZooKeeper) to use for this collection. If not provided, Solr will default to the collection name as the configuration set name."},             "router":{               "type":"object",               "documentation":"https://lucene.apache.org/solr/guide/shards-and-indexing-data-in-solrcloud.html",               "description":"These properties define how to distribute documents across a collection's shards.",               "properties":{                 "name":{                   "type":"string",                   "enum":[                     "implicit",                     "compositeId"],                   "description":"The router implementation to use for this collection. There are two options: compositeId or implicit. The compositeId option has Solr decide how to distribute documents (with some possibilities for customization). The implicit option requires you define your own routing strategy, and puts the balancing of documents in shards entirely in your hands.",                   "default":"compositeId"},                 "field":{                   "type":"string",                   "description":"A field to be used by Solr to identify the shard a document should be routed to. By default, the field defined as the unique ID for each document is used, but an alternative field can be defined with this parameter."}}},             "numShards":{               "type":"integer",               "description":"The number of shards to be created as part of the collection. Shards are logical partitions of a single collection. Each shard has at least one replica, but more replicas for each shard can be defined with the replicationFactor property. This is a required parameter when using the 'compositeId' router."},             "shards":{               "type":"string",               "description":"A comma-separated list of shard names, e.g., shard-x,shard-y,shard-z. This is a required parameter when using the 'implicit' router."},             "replicationFactor":{               "type":"integer",               "description":"The number of NRT replicas to be created for each shard. Replicas are physical copies of each shard, acting as failover for the shard."},             "nrtReplicas":{               "type":"integer",               "description":"The number of NRT replicas to be created for each shard. Replicas are physical copies of each shard, acting as failover for the shard. Replicas of type NRT will be updated with each document that is added to the cluster, and can use \"softCommits\" to get a new view of the index in Near Real Time. This parameter works in the same way as 'replicationFactor'"},             "tlogReplicas":{               "type":"integer",               "description":"The number of TLOG replicas to be created for each shard. TLOG replicas update their transaction log for every update to the cluster, but only the shard leader updates the local index, other TLOG replicas will use segment replication and copy the latest index files from the leader."},      

[...truncated too long message...]

. The action will be processed asynchronously."}},
   [junit4]    >           "required":["name"]},
   [junit4]    >         "set-alias-property":{
   [junit4]    >           "documentation":"https://lucene.apache.org/solr/guide/collection-aliasing.html#modifyalias",
   [junit4]    >           "description":"Allows changing the properties on an alias. If a key is set with an empty string then it will be removed",
   [junit4]    >           "type":"object",
   [junit4]    >           "properties":{
   [junit4]    >             "name":{
   [junit4]    >               "type":"string",
   [junit4]    >               "description":"The alias name on which to set properties."},
   [junit4]    >             "properties":{
   [junit4]    >               "type":"object",
   [junit4]    >               "description":"A map of key/value pairs that will be associated with the alias as alias properties (metadata). An empty value will delete any existing value for a given key.",
   [junit4]    >               "additionalProperties":true},
   [junit4]    >             "async":{
   [junit4]    >               "type":"string",
   [junit4]    >               "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."}},
   [junit4]    >           "required":["name"]},
   [junit4]    >         "backup-collection":{
   [junit4]    >           "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#backup",
   [junit4]    >           "description":"Backup Solr indexes and configurations for a specific collection. One copy of the indexes will be taken from each shard, and the config set for the collection will also be copied.",
   [junit4]    >           "type":"object",
   [junit4]    >           "properties":{
   [junit4]    >             "collection":{
   [junit4]    >               "type":"string",
   [junit4]    >               "description":"The name of the collection to back up."},
   [junit4]    >             "name":{
   [junit4]    >               "type":"string",
   [junit4]    >               "description":"The name of the backup."},
   [junit4]    >             "location":{
   [junit4]    >               "type":"string",
   [junit4]    >               "description":"A location on a shared drive for the backup-collection command to write to. Alternately, it can be set as a cluster property with the cluster endpoint, which also supports setting a location."},
   [junit4]    >             "async":{
   [junit4]    >               "type":"string",
   [junit4]    >               "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."}},
   [junit4]    >           "required":[
   [junit4]    >             "collection",
   [junit4]    >             "name",
   [junit4]    >             "location"]},
   [junit4]    >         "restore-collection":{
   [junit4]    >           "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#restore",
   [junit4]    >           "description":"Restore Solr indexes and configurations from a backup. You cannot restore into the same collection you took the backup from. The target collection must not exist before calling this command, as it will be created by the restore action. The new collection will have the same number of shards and replicas as the original collection, and all routing strategies will be retained.",
   [junit4]    >           "type":"object",
   [junit4]    >           "properties":{
   [junit4]    >             "collection":{
   [junit4]    >               "type":"string",
   [junit4]    >               "description":"The name of the collection the backup will be restored to. This collection must not exist prior to this "},
   [junit4]    >             "name":{
   [junit4]    >               "type":"string",
   [junit4]    >               "description":"The name of the backup file."},
   [junit4]    >             "location":{
   [junit4]    >               "type":"string",
   [junit4]    >               "description":"The location on the shared drive for the restore-collection command to read from. Alternately, it can be set as a cluster property with the cluster endpoint, which also supports setting a location."},
   [junit4]    >             "async":{
   [junit4]    >               "type":"string",
   [junit4]    >               "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."}},
   [junit4]    >           "required":[
   [junit4]    >             "collection",
   [junit4]    >             "name",
   [junit4]    >             "location"]}}},
   [junit4]    >     {
   [junit4]    >       "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#delete",
   [junit4]    >       "description":"Deletes a collection.",
   [junit4]    >       "methods":["DELETE"],
   [junit4]    >       "url":{"paths":[
   [junit4]    >           "/collections/{collection}",
   [junit4]    >           "/c/{collection}"]}},
   [junit4]    >     {
   [junit4]    >       "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#list",
   [junit4]    >       "description":"List all available collections and their properties.",
   [junit4]    >       "methods":["GET"],
   [junit4]    >       "url":{"paths":[
   [junit4]    >           "/collections",
   [junit4]    >           "/c"]}}],
   [junit4]    >   "WARNING":"This response format is experimental.  It is likely to change in the future.",
   [junit4]    >   "availableSubPaths":{
   [junit4]    >     "/collections/{collection}/shards":[
   [junit4]    >       "POST",
   [junit4]    >       "GET"],
   [junit4]    >     "/collections/{collection}/shards/{shard}/{replica}":[
   [junit4]    >       "DELETE",
   [junit4]    >       "GET"],
   [junit4]    >     "/collections/{collection}":[
   [junit4]    >       "DELETE",
   [junit4]    >       "POST",
   [junit4]    >       "GET"],
   [junit4]    >     "/collections/{collection}/shards/{shard}":[
   [junit4]    >       "DELETE",
   [junit4]    >       "POST",
   [junit4]    >       "GET"]}} expected:<[DELETE]> but was:<[POST]>
   [junit4]    > at __randomizedtesting.SeedInfo.seed([3D005EDE03069417:2A7694F905D2782A]:0)
   [junit4]    > at org.apache.solr.handler.admin.TestApiFramework.assertConditions(TestApiFramework.java:214)
   [junit4]    > at org.apache.solr.handler.admin.TestApiFramework.testFramework(TestApiFramework.java:125)
   [junit4]    > at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   [junit4]    > at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
   [junit4]    > at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   [junit4]    > at java.base/java.lang.reflect.Method.invoke(Method.java:567)
   [junit4]    > at java.base/java.lang.Thread.run(Thread.java:835)
   [junit4]   2> NOTE: leaving temporary files on disk at: /home/jenkins/workspace/Lucene-Solr-master-Linux/solr/build/solr-core/test/J2/temp/solr.handler.admin.TestApiFramework_3D005EDE03069417-002
   [junit4]   2> NOTE: test params are: codec=Asserting(Lucene80): {}, docValues:{}, maxPointsInLeafNode=393, maxMBSortInHeap=6.948907239463544, sim=Asserting(org.apache.lucene.search.similarities.AssertingSimilarity@4bb724c8), locale=shi-Tfng, timezone=America/Denver
   [junit4]   2> NOTE: Linux 5.0.0-23-generic amd64/AdoptOpenJDK 12.0.1 (64-bit)/cpus=8,threads=1,free=441964320,total=518979584
   [junit4]   2> NOTE: All tests run in this JVM: [TestApiFramework, TestApiFramework]
   [junit4] Completed [5/5 (5!)] on J2 in 0.28s, 2 tests, 1 failure <<< FAILURES!

[...truncated 15 lines...]
BUILD FAILED
/home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/common-build.xml:1492: The following error occurred while executing this line:
/home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/common-build.xml:1019: There were test failures: 5 suites, 10 tests, 5 failures [seed: 3D005EDE03069417]

Total time: 7 seconds

[repro] Setting last failure code to 256

[repro] Failures:
[repro]   5/5 failed: org.apache.solr.handler.admin.TestApiFramework
[repro] Exiting with code 256
+ mv lucene/build lucene/build.repro
+ mv solr/build solr/build.repro
+ mv lucene/build.orig lucene/build
+ mv solr/build.orig solr/build
Archiving artifacts
Setting ANT_1_8_2_HOME=/home/jenkins/tools/hudson.tasks.Ant_AntInstallation/ANT_1.8.2
[WARNINGS] Parsing warnings in console log with parser Java Compiler (javac)
Setting ANT_1_8_2_HOME=/home/jenkins/tools/hudson.tasks.Ant_AntInstallation/ANT_1.8.2
No credentials specified
Setting ANT_1_8_2_HOME=/home/jenkins/tools/hudson.tasks.Ant_AntInstallation/ANT_1.8.2
<Git Blamer> Using GitBlamer to create author and commit information for all warnings.
<Git Blamer> GIT_COMMIT=225fd3d8ee4b7853cdf6c06448e8d4b9cec859c3, workspace=/home/jenkins/workspace/Lucene-Solr-master-Linux
[WARNINGS] Computing warning deltas based on reference build #24600
Recording test results
Setting ANT_1_8_2_HOME=/home/jenkins/tools/hudson.tasks.Ant_AntInstallation/ANT_1.8.2
Build step 'Publish JUnit test result report' changed build result to UNSTABLE
Email was triggered for: Unstable (Test Failures)
Sending email for trigger: Unstable (Test Failures)
Setting ANT_1_8_2_HOME=/home/jenkins/tools/hudson.tasks.Ant_AntInstallation/ANT_1.8.2
Setting ANT_1_8_2_HOME=/home/jenkins/tools/hudson.tasks.Ant_AntInstallation/ANT_1.8.2
Setting ANT_1_8_2_HOME=/home/jenkins/tools/hudson.tasks.Ant_AntInstallation/ANT_1.8.2
Setting ANT_1_8_2_HOME=/home/jenkins/tools/hudson.tasks.Ant_AntInstallation/ANT_1.8.2
Setting ANT_1_8_2_HOME=/home/jenkins/tools/hudson.tasks.Ant_AntInstallation/ANT_1.8.2
Setting ANT_1_8_2_HOME=/home/jenkins/tools/hudson.tasks.Ant_AntInstallation/ANT_1.8.2


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]
Reply | Threaded
Open this post in threaded view
|

[JENKINS] Lucene-Solr-master-Linux (64bit/jdk-12.0.1) - Build # 24602 - Still Unstable!

Policeman Jenkins Server-2
Build: https://jenkins.thetaphi.de/job/Lucene-Solr-master-Linux/24602/
Java: 64bit/jdk-12.0.1 -XX:+UseCompressedOops -XX:+UseConcMarkSweepGC

1 tests failed.
FAILED:  org.apache.solr.handler.admin.TestApiFramework.testFramework

Error Message:
incorrect value for path /spec[0]/methods[0] in :{   "spec":[     {       "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#list",       "description":"List all available collections and their properties.",       "methods":["GET"],       "url":{"paths":[           "/collections",           "/c"]}},     {       "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#create",       "description":"Create collections and collection aliases, backup or restore collections, and delete collections and aliases.",       "methods":["POST"],       "url":{"paths":[           "/collections",           "/c"]},       "commands":{         "create":{           "type":"object",           "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#create",           "description":"Create a collection.",           "properties":{             "name":{               "type":"string",               "description":"The name of the collection to be created."},             "config":{               "type":"string",               "description":"The name of the configuration set (which must already be stored in ZooKeeper) to use for this collection. If not provided, Solr will default to the collection name as the configuration set name."},             "router":{               "type":"object",               "documentation":"https://lucene.apache.org/solr/guide/shards-and-indexing-data-in-solrcloud.html",               "description":"These properties define how to distribute documents across a collection's shards.",               "properties":{                 "name":{                   "type":"string",                   "enum":[                     "implicit",                     "compositeId"],                   "description":"The router implementation to use for this collection. There are two options: compositeId or implicit. The compositeId option has Solr decide how to distribute documents (with some possibilities for customization). The implicit option requires you define your own routing strategy, and puts the balancing of documents in shards entirely in your hands.",                   "default":"compositeId"},                 "field":{                   "type":"string",                   "description":"A field to be used by Solr to identify the shard a document should be routed to. By default, the field defined as the unique ID for each document is used, but an alternative field can be defined with this parameter."}}},             "numShards":{               "type":"integer",               "description":"The number of shards to be created as part of the collection. Shards are logical partitions of a single collection. Each shard has at least one replica, but more replicas for each shard can be defined with the replicationFactor property. This is a required parameter when using the 'compositeId' router."},             "shards":{               "type":"string",               "description":"A comma-separated list of shard names, e.g., shard-x,shard-y,shard-z. This is a required parameter when using the 'implicit' router."},             "replicationFactor":{               "type":"integer",               "description":"The number of NRT replicas to be created for each shard. Replicas are physical copies of each shard, acting as failover for the shard."},             "nrtReplicas":{               "type":"integer",               "description":"The number of NRT replicas to be created for each shard. Replicas are physical copies of each shard, acting as failover for the shard. Replicas of type NRT will be updated with each document that is added to the cluster, and can use \"softCommits\" to get a new view of the index in Near Real Time. This parameter works in the same way as 'replicationFactor'"},             "tlogReplicas":{               "type":"integer",               "description":"The number of TLOG replicas to be created for each shard. TLOG replicas update their transaction log for every update to the cluster, but only the shard leader updates the local index, other TLOG replicas will use segment replication and copy the latest index files from the leader."},             "pullReplicas":{               "type":"integer",               "description":"The number of PULL replicas to be created for each shard. PULL replicas don't receive copies of the documents on update requests, they just replicate the latest segments periodically from the shard leader. PULL replicas can't become shard leaders, and need at least one active TLOG(recommended) or NRT replicas in the shard to replicate from."},             "nodeSet":{               "type":"array",               "items":{"type":"string"},               "description":"Defines nodes to spread the new collection across. If not provided, the collection will be spread across all live Solr nodes. The names to use are the 'node_name', which can be found by a request to the cluster/nodes endpoint. A special value of EMPTY will create no shards or replicas for the new collection. In this case, shards and replicas can be added later with the add-replica command available on the /collections/{collection}/shards endpoint."},             "shuffleNodes":{               "type":"boolean",               "description":"Controls whether or not the shard-replicas created for this collection will be assigned to the nodes specified by the nodeSet property in a sequential manner, or if the list of nodes should be shuffled prior to creating individual replicas. A 'false' value makes the results of a collection creation predictable and gives more exact control over the location of the individual shard-replicas, but 'true' can be a better choice for ensuring replicas are distributed evenly across nodes. This property is ignored if nodeSet is not also specified."},             "maxShardsPerNode":{               "type":"integer",               "description":"When creating collections, the shards and/or replicas are spread across all available, live, nodes, and two replicas of the same shard will never be on the same node. If a node is not live when the collection is created, it will not get any parts of the new collection, which could lead to too many replicas being created on a single live node. Defining maxShardsPerNode sets a limit on the number of replicas can be spread to each node. If the entire collection can not be fit into the live nodes, no collection will be created at all."},             "autoAddReplicas":{               "type":"boolean",               "description":"When set to true, enables auto addition of replicas when the number of active replicas falls below the value set for replicationFactor.",               "documentation":"https://lucene.apache.org/solr/guide/solrcloud-autoscaling-auto-add-replicas.html",               "default":"false"},             "rule":{               "type":"array",               "documentation":"https://lucene.apache.org/solr/guide/rule-based-replica-placement.html",               "description":"Defines rules for where replicas should be located in a cluster.",               "items":{"type":"string"}},             "snitch":{               "type":"array",               "documentation":"https://lucene.apache.org/solr/guide/rule-based-replica-placement.html",               "description":"",               "items":{"type":"string"}},             "policy":{               "type":"string",               "documentation":"https://lucene.apache.org/solr/guide/solrcloud-autoscaling-policy-preferences.html",               "description":"Name of the collection-level policy"},             "properties":{               "type":"object",               "documentation":"https://lucene.apache.org/solr/guide/defining-core-properties.html",               "description":"Allows adding core.properties for the collection. Some examples of core properties you may want to modify include the config set, the node name, the data directory, among others.",               "additionalProperties":true},             "async":{               "type":"string",               "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."},             "waitForFinalState":{               "type":"boolean",               "description":"If true then request will complete only when all affected replicas become active.",               "default":false}},           "required":["name"]},         "create-alias":{           "documentation":"https://lucene.apache.org/solr/guide/collection-aliasing.html#createalias",           "description":"Allows one or more collections to be known by another name (to include time partitioned collections). If this command is used on an existing alias, the existing alias will be replaced with the new collection details.",           "type":"object",           "properties":{             "name":{               "type":"string",               "description":"The alias name to be created."},             "collections":{               "type":"array",               "description":"The list of collections to be known as this alias. Incompatible with any of the routing parameters. Either this parameter or a complete set of routing parameters is required.",               "items":{"type":"string"}},             "router":{               "type":"object",               "documentation":"https://lucene.apache.org/solr/guide/collection-aliasing.html#createalias",               "description":"Routing specific properties to define a time routed alias.  Do not specify 'collections' when creating a time routed alias.",               "properties":{                 "name":{                   "type":"string",                   "description":"The type of routing to perform. Currently only 'time' is supported, and it's required."},                 "field":{                   "type":"string",                   "description":"The date field name in incoming documents that is consulted to decide which collection the document should be routed to."},                 "start":{                   "type":"string",                   "description":"The earliest date/time in a document that may be indexed into this alias. Documents with values less than this will return an error. For time based routing this may be a date math expression."},                 "interval":{                   "type":"string",                   "description":"A specification of the width of the interval for each partition collection. For time based routing this should be a date math expression fragment starting with the + character."},                 "maxFutureMs":{                   "type":"integer",                   "description":"How many milliseconds into the future to accept document. Documents with a value in router.field that is greater than now() + maxFutureMs will be rejected to avoid provisioning too much resources."},                 "preemptiveCreateMath":{                   "type":"string",                   "description":"If a document arrives with a timestamp that is after the end time of the most recent collection minus this interval, then the next collection will be created asynchronously. Without this setting, collections are created synchronously when required by the document time stamp and thus block the flow of documents until the collection is created (possibly several seconds). Preemptive creation reduces these hiccups. If set to enough time (perhaps an hour or more) then if there are problems creating a collection, this window of time might be enough to take corrective action. However after a successful preemptive creation,  the collection is consuming resources without being used, and new documents will tend to be routed through it only to be routed elsewhere. Also, note that router.autoDeleteAge is currently evaluated relative to the date of a newly created collection, and so you may want to increase the delete age by the preemptive window amount so that the oldest collection isn't deleted too soon."},                 "autoDeleteAge":{                   "type":"string",                   "description":"A date math expressions yielding a time in the past. Collections covering a period of time entirely before this age will be automatically deleted."},                 "maxCardinality":{                   "type":"integer",                   "description":"The maximum number of categories allowed for this alias."},                 "mustMatch":{                   "type":"string",                   "description":"A regular expression that the value of the field specified by `router.field` must match before a corresponding collection will be created."},                 "routerList":{                   "type":"array",                   "description":"A list of router property sets to be used with router type Dimensional[foo,bar] where foo and bar are valid router type names (i.e. time or category). The order must correspond to the type specification in [] in the Dimensional type, so Dimensional[category,time] would require the first set of router properties to be valid for a category routed alias, and the second set to be valid for a time routed alias. In these sets of properties, router.name will be ignored in favor of the type specified in the top level Dimensional[] router.name",                   "items":{                     "type":"object",                     "additionalProperties":true}}}},             "TZ":{               "type":"string",               "description":"Optional timezone for use with any date math that may exist in other parameters.  Defaults to UTC."},             "create-collection":{               "type":"object",               "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#create",               "description":"The settings to use to create a collection for each new time partition. Most options from the collection create command are available, except for 'name', 'async' and 'waitForFinalState'.",               "additionalProperties":true},             "async":{               "type":"string",               "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."}},           "required":["name"]},         "delete-alias":{           "documentation":"https://lucene.apache.org/solr/guide/collection-aliasing.html#deletealias",           "description":"Deletes a collection alias",           "type":"object",           "properties":{             "name":{               "type":"string",               "description":"The name of the alias to delete."},             "async":{               "type":"string",               "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."}},           "required":["name"]},         "set-alias-property":{           "documentation":"https://lucene.apache.org/solr/guide/collection-aliasing.html#modifyalias",           "description":"Allows changing the properties on an alias. If a key is set with an empty string then it will be removed",           "type":"object",           "properties":{             "name":{               "type":"string",               "description":"The alias name on which to set properties."},             "properties":{               "type":"object",               "description":"A map of key/value pairs that will be associated with the alias as alias properties (metadata). An empty value will delete any existing value for a given key.",               "additionalProperties":true},             "async":{               "type":"string",               "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."}},           "required":["name"]},         "backup-collection":{           "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#backup",           "description":"Backup Solr indexes and configurations for a specific collection. One copy of the indexes will be taken from each shard, and the config set for the collection will also be copied.",           "type":"object",           "properties":{             "collection":{               "type":"string",               "description":"The name of the collection to back up."},             "name":{               "type":"string",               "description":"The name of the backup."},             "location":{               "type":"string",               "description":"A location on a shared drive for the backup-collection command to write to. Alternately, it can be set as a cluster property with the cluster endpoint, which also supports setting a location."},             "async":{               "type":"string",               "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."}},           "required":[             "collection",             "name",             "location"]},         "restore-collection":{           "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#restore",           "description":"Restore Solr indexes and configurations from a backup. You cannot restore into the same collection you took the backup from. The target collection must not exist before calling this command, as it will be created by the restore action. The new collection will have the same number of shards and replicas as the original collection, and all routing strategies will be retained.",           "type":"object",           "properties":{             "collection":{               "type":"string",               "description":"The name of the collection the backup will be restored to. This collection must not exist prior to this "},             "name":{               "type":"string",               "description":"The name of the backup file."},             "location":{               "type":"string",               "description":"The location on the shared drive for the restore-collection command to read from. Alternately, it can be set as a cluster property with the cluster endpoint, which also supports setting a location."},             "async":{               "type":"string",               "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."}},           "required":[             "collection",             "name",             "location"]}}},     {       "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#delete",       "description":"Deletes a collection.",       "methods":["DELETE"],       "url":{"paths":[           "/collections/{collection}",           "/c/{collection}"]}}],   "WARNING":"This response format is experimental.  It is likely to change in the future.",   "availableSubPaths":{     "/collections/{collection}/shards":[       "POST",       "GET"],     "/collections/{collection}/shards/{shard}/{replica}":[       "DELETE",       "GET"],     "/collections/{collection}":[       "DELETE",       "POST",       "GET"],     "/collections/{collection}/shards/{shard}":[       "DELETE",       "POST",       "GET"]}} expected:<[DELETE]> but was:<[GET]>

Stack Trace:
org.junit.ComparisonFailure: incorrect value for path /spec[0]/methods[0] in :{
  "spec":[
    {
      "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#list",
      "description":"List all available collections and their properties.",
      "methods":["GET"],
      "url":{"paths":[
          "/collections",
          "/c"]}},
    {
      "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#create",
      "description":"Create collections and collection aliases, backup or restore collections, and delete collections and aliases.",
      "methods":["POST"],
      "url":{"paths":[
          "/collections",
          "/c"]},
      "commands":{
        "create":{
          "type":"object",
          "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#create",
          "description":"Create a collection.",
          "properties":{
            "name":{
              "type":"string",
              "description":"The name of the collection to be created."},
            "config":{
              "type":"string",
              "description":"The name of the configuration set (which must already be stored in ZooKeeper) to use for this collection. If not provided, Solr will default to the collection name as the configuration set name."},
            "router":{
              "type":"object",
              "documentation":"https://lucene.apache.org/solr/guide/shards-and-indexing-data-in-solrcloud.html",
              "description":"These properties define how to distribute documents across a collection's shards.",
              "properties":{
                "name":{
                  "type":"string",
                  "enum":[
                    "implicit",
                    "compositeId"],
                  "description":"The router implementation to use for this collection. There are two options: compositeId or implicit. The compositeId option has Solr decide how to distribute documents (with some possibilities for customization). The implicit option requires you define your own routing strategy, and puts the balancing of documents in shards entirely in your hands.",
                  "default":"compositeId"},
                "field":{
                  "type":"string",
                  "description":"A field to be used by Solr to identify the shard a document should be routed to. By default, the field defined as the unique ID for each document is used, but an alternative field can be defined with this parameter."}}},
            "numShards":{
              "type":"integer",
              "description":"The number of shards to be created as part of the collection. Shards are logical partitions of a single collection. Each shard has at least one replica, but more replicas for each shard can be defined with the replicationFactor property. This is a required parameter when using the 'compositeId' router."},
            "shards":{
              "type":"string",
              "description":"A comma-separated list of shard names, e.g., shard-x,shard-y,shard-z. This is a required parameter when using the 'implicit' router."},
            "replicationFactor":{
              "type":"integer",
              "description":"The number of NRT replicas to be created for each shard. Replicas are physical copies of each shard, acting as failover for the shard."},
            "nrtReplicas":{
              "type":"integer",
              "description":"The number of NRT replicas to be created for each shard. Replicas are physical copies of each shard, acting as failover for the shard. Replicas of type NRT will be updated with each document that is added to the cluster, and can use \"softCommits\" to get a new view of the index in Near Real Time. This parameter works in the same way as 'replicationFactor'"},
            "tlogReplicas":{
              "type":"integer",
              "description":"The number of TLOG replicas to be created for each shard. TLOG replicas update their transaction log for every update to the cluster, but only the shard leader updates the local index, other TLOG replicas will use segment replication and copy the latest index files from the leader."},
            "pullReplicas":{
              "type":"integer",
              "description":"The number of PULL replicas to be created for each shard. PULL replicas don't receive copies of the documents on update requests, they just replicate the latest segments periodically from the shard leader. PULL replicas can't become shard leaders, and need at least one active TLOG(recommended) or NRT replicas in the shard to replicate from."},
            "nodeSet":{
              "type":"array",
              "items":{"type":"string"},
              "description":"Defines nodes to spread the new collection across. If not provided, the collection will be spread across all live Solr nodes. The names to use are the 'node_name', which can be found by a request to the cluster/nodes endpoint. A special value of EMPTY will create no shards or replicas for the new collection. In this case, shards and replicas can be added later with the add-replica command available on the /collections/{collection}/shards endpoint."},
            "shuffleNodes":{
              "type":"boolean",
              "description":"Controls whether or not the shard-replicas created for this collection will be assigned to the nodes specified by the nodeSet property in a sequential manner, or if the list of nodes should be shuffled prior to creating individual replicas. A 'false' value makes the results of a collection creation predictable and gives more exact control over the location of the individual shard-replicas, but 'true' can be a better choice for ensuring replicas are distributed evenly across nodes. This property is ignored if nodeSet is not also specified."},
            "maxShardsPerNode":{
              "type":"integer",
              "description":"When creating collections, the shards and/or replicas are spread across all available, live, nodes, and two replicas of the same shard will never be on the same node. If a node is not live when the collection is created, it will not get any parts of the new collection, which could lead to too many replicas being created on a single live node. Defining maxShardsPerNode sets a limit on the number of replicas can be spread to each node. If the entire collection can not be fit into the live nodes, no collection will be created at all."},
            "autoAddReplicas":{
              "type":"boolean",
              "description":"When set to true, enables auto addition of replicas when the number of active replicas falls below the value set for replicationFactor.",
              "documentation":"https://lucene.apache.org/solr/guide/solrcloud-autoscaling-auto-add-replicas.html",
              "default":"false"},
            "rule":{
              "type":"array",
              "documentation":"https://lucene.apache.org/solr/guide/rule-based-replica-placement.html",
              "description":"Defines rules for where replicas should be located in a cluster.",
              "items":{"type":"string"}},
            "snitch":{
              "type":"array",
              "documentation":"https://lucene.apache.org/solr/guide/rule-based-replica-placement.html",
              "description":"",
              "items":{"type":"string"}},
            "policy":{
              "type":"string",
              "documentation":"https://lucene.apache.org/solr/guide/solrcloud-autoscaling-policy-preferences.html",
              "description":"Name of the collection-level policy"},
            "properties":{
              "type":"object",
              "documentation":"https://lucene.apache.org/solr/guide/defining-core-properties.html",
              "description":"Allows adding core.properties for the collection. Some examples of core properties you may want to modify include the config set, the node name, the data directory, among others.",
              "additionalProperties":true},
            "async":{
              "type":"string",
              "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."},
            "waitForFinalState":{
              "type":"boolean",
              "description":"If true then request will complete only when all affected replicas become active.",
              "default":false}},
          "required":["name"]},
        "create-alias":{
          "documentation":"https://lucene.apache.org/solr/guide/collection-aliasing.html#createalias",
          "description":"Allows one or more collections to be known by another name (to include time partitioned collections). If this command is used on an existing alias, the existing alias will be replaced with the new collection details.",
          "type":"object",
          "properties":{
            "name":{
              "type":"string",
              "description":"The alias name to be created."},
            "collections":{
              "type":"array",
              "description":"The list of collections to be known as this alias. Incompatible with any of the routing parameters. Either this parameter or a complete set of routing parameters is required.",
              "items":{"type":"string"}},
            "router":{
              "type":"object",
              "documentation":"https://lucene.apache.org/solr/guide/collection-aliasing.html#createalias",
              "description":"Routing specific properties to define a time routed alias.  Do not specify 'collections' when creating a time routed alias.",
              "properties":{
                "name":{
                  "type":"string",
                  "description":"The type of routing to perform. Currently only 'time' is supported, and it's required."},
                "field":{
                  "type":"string",
                  "description":"The date field name in incoming documents that is consulted to decide which collection the document should be routed to."},
                "start":{
                  "type":"string",
                  "description":"The earliest date/time in a document that may be indexed into this alias. Documents with values less than this will return an error. For time based routing this may be a date math expression."},
                "interval":{
                  "type":"string",
                  "description":"A specification of the width of the interval for each partition collection. For time based routing this should be a date math expression fragment starting with the + character."},
                "maxFutureMs":{
                  "type":"integer",
                  "description":"How many milliseconds into the future to accept document. Documents with a value in router.field that is greater than now() + maxFutureMs will be rejected to avoid provisioning too much resources."},
                "preemptiveCreateMath":{
                  "type":"string",
                  "description":"If a document arrives with a timestamp that is after the end time of the most recent collection minus this interval, then the next collection will be created asynchronously. Without this setting, collections are created synchronously when required by the document time stamp and thus block the flow of documents until the collection is created (possibly several seconds). Preemptive creation reduces these hiccups. If set to enough time (perhaps an hour or more) then if there are problems creating a collection, this window of time might be enough to take corrective action. However after a successful preemptive creation,  the collection is consuming resources without being used, and new documents will tend to be routed through it only to be routed elsewhere. Also, note that router.autoDeleteAge is currently evaluated relative to the date of a newly created collection, and so you may want to increase the delete age by the preemptive window amount so that the oldest collection isn't deleted too soon."},
                "autoDeleteAge":{
                  "type":"string",
                  "description":"A date math expressions yielding a time in the past. Collections covering a period of time entirely before this age will be automatically deleted."},
                "maxCardinality":{
                  "type":"integer",
                  "description":"The maximum number of categories allowed for this alias."},
                "mustMatch":{
                  "type":"string",
                  "description":"A regular expression that the value of the field specified by `router.field` must match before a corresponding collection will be created."},
                "routerList":{
                  "type":"array",
                  "description":"A list of router property sets to be used with router type Dimensional[foo,bar] where foo and bar are valid router type names (i.e. time or category). The order must correspond to the type specification in [] in the Dimensional type, so Dimensional[category,time] would require the first set of router properties to be valid for a category routed alias, and the second set to be valid for a time routed alias. In these sets of properties, router.name will be ignored in favor of the type specified in the top level Dimensional[] router.name",
                  "items":{
                    "type":"object",
                    "additionalProperties":true}}}},
            "TZ":{
              "type":"string",
              "description":"Optional timezone for use with any date math that may exist in other parameters.  Defaults to UTC."},
            "create-collection":{
              "type":"object",
              "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#create",
              "description":"The settings to use to create a collection for each new time partition. Most options from the collection create command are available, except for 'name', 'async' and 'waitForFinalState'.",
              "additionalProperties":true},
            "async":{
              "type":"string",
              "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."}},
          "required":["name"]},
        "delete-alias":{
          "documentation":"https://lucene.apache.org/solr/guide/collection-aliasing.html#deletealias",
          "description":"Deletes a collection alias",
          "type":"object",
          "properties":{
            "name":{
              "type":"string",
              "description":"The name of the alias to delete."},
            "async":{
              "type":"string",
              "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."}},
          "required":["name"]},
        "set-alias-property":{
          "documentation":"https://lucene.apache.org/solr/guide/collection-aliasing.html#modifyalias",
          "description":"Allows changing the properties on an alias. If a key is set with an empty string then it will be removed",
          "type":"object",
          "properties":{
            "name":{
              "type":"string",
              "description":"The alias name on which to set properties."},
            "properties":{
              "type":"object",
              "description":"A map of key/value pairs that will be associated with the alias as alias properties (metadata). An empty value will delete any existing value for a given key.",
              "additionalProperties":true},
            "async":{
              "type":"string",
              "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."}},
          "required":["name"]},
        "backup-collection":{
          "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#backup",
          "description":"Backup Solr indexes and configurations for a specific collection. One copy of the indexes will be taken from each shard, and the config set for the collection will also be copied.",
          "type":"object",
          "properties":{
            "collection":{
              "type":"string",
              "description":"The name of the collection to back up."},
            "name":{
              "type":"string",
              "description":"The name of the backup."},
            "location":{
              "type":"string",
              "description":"A location on a shared drive for the backup-collection command to write to. Alternately, it can be set as a cluster property with the cluster endpoint, which also supports setting a location."},
            "async":{
              "type":"string",
              "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."}},
          "required":[
            "collection",
            "name",
            "location"]},
        "restore-collection":{
          "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#restore",
          "description":"Restore Solr indexes and configurations from a backup. You cannot restore into the same collection you took the backup from. The target collection must not exist before calling this command, as it will be created by the restore action. The new collection will have the same number of shards and replicas as the original collection, and all routing strategies will be retained.",
          "type":"object",
          "properties":{
            "collection":{
              "type":"string",
              "description":"The name of the collection the backup will be restored to. This collection must not exist prior to this "},
            "name":{
              "type":"string",
              "description":"The name of the backup file."},
            "location":{
              "type":"string",
              "description":"The location on the shared drive for the restore-collection command to read from. Alternately, it can be set as a cluster property with the cluster endpoint, which also supports setting a location."},
            "async":{
              "type":"string",
              "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."}},
          "required":[
            "collection",
            "name",
            "location"]}}},
    {
      "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#delete",
      "description":"Deletes a collection.",
      "methods":["DELETE"],
      "url":{"paths":[
          "/collections/{collection}",
          "/c/{collection}"]}}],
  "WARNING":"This response format is experimental.  It is likely to change in the future.",
  "availableSubPaths":{
    "/collections/{collection}/shards":[
      "POST",
      "GET"],
    "/collections/{collection}/shards/{shard}/{replica}":[
      "DELETE",
      "GET"],
    "/collections/{collection}":[
      "DELETE",
      "POST",
      "GET"],
    "/collections/{collection}/shards/{shard}":[
      "DELETE",
      "POST",
      "GET"]}} expected:<[DELETE]> but was:<[GET]>
        at __randomizedtesting.SeedInfo.seed([4E8E49ED7FDC2023:59F883CA7908CC1E]:0)
        at org.junit.Assert.assertEquals(Assert.java:115)
        at org.apache.solr.handler.admin.TestApiFramework.assertConditions(TestApiFramework.java:214)
        at org.apache.solr.handler.admin.TestApiFramework.testFramework(TestApiFramework.java:125)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:567)
        at com.carrotsearch.randomizedtesting.RandomizedRunner.invoke(RandomizedRunner.java:1750)
        at com.carrotsearch.randomizedtesting.RandomizedRunner$8.evaluate(RandomizedRunner.java:938)
        at com.carrotsearch.randomizedtesting.RandomizedRunner$9.evaluate(RandomizedRunner.java:974)
        at com.carrotsearch.randomizedtesting.RandomizedRunner$10.evaluate(RandomizedRunner.java:988)
        at com.carrotsearch.randomizedtesting.rules.SystemPropertiesRestoreRule$1.evaluate(SystemPropertiesRestoreRule.java:57)
        at org.apache.lucene.util.TestRuleSetupTeardownChained$1.evaluate(TestRuleSetupTeardownChained.java:49)
        at org.apache.lucene.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:45)
        at org.apache.lucene.util.TestRuleThreadAndTestName$1.evaluate(TestRuleThreadAndTestName.java:48)
        at org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:64)
        at org.apache.lucene.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:47)
        at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
        at com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner.run(ThreadLeakControl.java:368)
        at com.carrotsearch.randomizedtesting.ThreadLeakControl.forkTimeoutingTask(ThreadLeakControl.java:817)
        at com.carrotsearch.randomizedtesting.ThreadLeakControl$3.evaluate(ThreadLeakControl.java:468)
        at com.carrotsearch.randomizedtesting.RandomizedRunner.runSingleTest(RandomizedRunner.java:947)
        at com.carrotsearch.randomizedtesting.RandomizedRunner$5.evaluate(RandomizedRunner.java:832)
        at com.carrotsearch.randomizedtesting.RandomizedRunner$6.evaluate(RandomizedRunner.java:883)
        at com.carrotsearch.randomizedtesting.RandomizedRunner$7.evaluate(RandomizedRunner.java:894)
        at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
        at com.carrotsearch.randomizedtesting.rules.SystemPropertiesRestoreRule$1.evaluate(SystemPropertiesRestoreRule.java:57)
        at org.apache.lucene.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:45)
        at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
        at org.apache.lucene.util.TestRuleStoreClassName$1.evaluate(TestRuleStoreClassName.java:41)
        at com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:40)
        at com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:40)
        at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
        at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
        at org.apache.lucene.util.TestRuleAssertionsRequired$1.evaluate(TestRuleAssertionsRequired.java:53)
        at org.apache.lucene.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:47)
        at org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:64)
        at org.apache.lucene.util.TestRuleIgnoreTestSuites$1.evaluate(TestRuleIgnoreTestSuites.java:54)
        at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
        at com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner.run(ThreadLeakControl.java:368)
        at java.base/java.lang.Thread.run(Thread.java:835)




Build Log:
[...truncated 2041 lines...]
   [junit4] JVM J0: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/core/test/temp/junit4-J0-20190824_223125_04714871620602838144081.syserr
   [junit4] >>> JVM J0 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J0: EOF ----

[...truncated 3 lines...]
   [junit4] JVM J1: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/core/test/temp/junit4-J1-20190824_223125_0471569187786047584906.syserr
   [junit4] >>> JVM J1 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J1: EOF ----

[...truncated 5 lines...]
   [junit4] JVM J2: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/core/test/temp/junit4-J2-20190824_223125_0473123436562671953951.syserr
   [junit4] >>> JVM J2 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J2: EOF ----

[...truncated 301 lines...]
   [junit4] JVM J1: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/test-framework/test/temp/junit4-J1-20190824_224445_67314746436391430602245.syserr
   [junit4] >>> JVM J1 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J1: EOF ----

[...truncated 3 lines...]
   [junit4] JVM J2: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/test-framework/test/temp/junit4-J2-20190824_224445_67316488219855218051090.syserr
   [junit4] >>> JVM J2 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J2: EOF ----

[...truncated 3 lines...]
   [junit4] JVM J0: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/test-framework/test/temp/junit4-J0-20190824_224445_6754366708709242779141.syserr
   [junit4] >>> JVM J0 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J0: EOF ----

[...truncated 1088 lines...]
   [junit4] JVM J1: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/analysis/common/test/temp/junit4-J1-20190824_224659_83417256771540069640442.syserr
   [junit4] >>> JVM J1 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J1: EOF ----

[...truncated 3 lines...]
   [junit4] JVM J2: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/analysis/common/test/temp/junit4-J2-20190824_224659_834652192304559236909.syserr
   [junit4] >>> JVM J2 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J2: EOF ----

[...truncated 3 lines...]
   [junit4] JVM J0: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/analysis/common/test/temp/junit4-J0-20190824_224659_83413443343527719659569.syserr
   [junit4] >>> JVM J0 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J0: EOF ----

[...truncated 241 lines...]
   [junit4] JVM J1: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/analysis/icu/test/temp/junit4-J1-20190824_225003_80811311463995408603333.syserr
   [junit4] >>> JVM J1 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J1: EOF ----

[...truncated 6 lines...]
   [junit4] JVM J2: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/analysis/icu/test/temp/junit4-J2-20190824_225003_8082361589891183190099.syserr
   [junit4] >>> JVM J2 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J2: EOF ----

   [junit4] JVM J0: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/analysis/icu/test/temp/junit4-J0-20190824_225003_8088869114391321352364.syserr
   [junit4] >>> JVM J0 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J0: EOF ----

[...truncated 215 lines...]
   [junit4] JVM J1: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/analysis/kuromoji/test/temp/junit4-J1-20190824_225020_912999762001909930774.syserr
   [junit4] >>> JVM J1 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J1: EOF ----

[...truncated 5 lines...]
   [junit4] JVM J2: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/analysis/kuromoji/test/temp/junit4-J2-20190824_225020_9127265135112869428404.syserr
   [junit4] >>> JVM J2 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J2: EOF ----

[...truncated 3 lines...]
   [junit4] JVM J0: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/analysis/kuromoji/test/temp/junit4-J0-20190824_225020_91213662425387877200457.syserr
   [junit4] >>> JVM J0 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J0: EOF ----

[...truncated 154 lines...]
   [junit4] JVM J1: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/analysis/morfologik/test/temp/junit4-J1-20190824_225054_9049822613602837502784.syserr
   [junit4] >>> JVM J1 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J1: EOF ----

[...truncated 3 lines...]
   [junit4] JVM J0: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/analysis/morfologik/test/temp/junit4-J0-20190824_225054_9006841093543066418999.syserr
   [junit4] >>> JVM J0 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J0: EOF ----

[...truncated 3 lines...]
   [junit4] JVM J2: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/analysis/morfologik/test/temp/junit4-J2-20190824_225054_9049931114324857354828.syserr
   [junit4] >>> JVM J2 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J2: EOF ----

[...truncated 180 lines...]
   [junit4] JVM J0: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/analysis/nori/test/temp/junit4-J0-20190824_225101_54916780815594790874369.syserr
   [junit4] >>> JVM J0 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J0: EOF ----

[...truncated 3 lines...]
   [junit4] JVM J1: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/analysis/nori/test/temp/junit4-J1-20190824_225101_5496082843873646165424.syserr
   [junit4] >>> JVM J1 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J1: EOF ----

[...truncated 3 lines...]
   [junit4] JVM J2: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/analysis/nori/test/temp/junit4-J2-20190824_225101_54912677694051786547008.syserr
   [junit4] >>> JVM J2 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J2: EOF ----

[...truncated 166 lines...]
   [junit4] JVM J2: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/analysis/opennlp/test/temp/junit4-J2-20190824_225122_5748757568755025800451.syserr
   [junit4] >>> JVM J2 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J2: EOF ----

   [junit4] JVM J1: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/analysis/opennlp/test/temp/junit4-J1-20190824_225122_57414767247378186434671.syserr
   [junit4] >>> JVM J1 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J1: EOF ----

   [junit4] JVM J0: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/analysis/opennlp/test/temp/junit4-J0-20190824_225122_5748120874533192570368.syserr
   [junit4] >>> JVM J0 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J0: EOF ----

[...truncated 168 lines...]
   [junit4] JVM J1: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/analysis/phonetic/test/temp/junit4-J1-20190824_225126_8959620342071950671288.syserr
   [junit4] >>> JVM J1 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J1: EOF ----

[...truncated 3 lines...]
   [junit4] JVM J2: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/analysis/phonetic/test/temp/junit4-J2-20190824_225126_89614513264315893319459.syserr
   [junit4] >>> JVM J2 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J2: EOF ----

[...truncated 3 lines...]
   [junit4] JVM J0: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/analysis/phonetic/test/temp/junit4-J0-20190824_225126_8959430448525138713984.syserr
   [junit4] >>> JVM J0 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J0: EOF ----

[...truncated 153 lines...]
   [junit4] JVM J0: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/analysis/smartcn/test/temp/junit4-J0-20190824_225140_460114342015320988556.syserr
   [junit4] >>> JVM J0 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J0: EOF ----

[...truncated 3 lines...]
   [junit4] JVM J1: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/analysis/smartcn/test/temp/junit4-J1-20190824_225140_46013372387548195336643.syserr
   [junit4] >>> JVM J1 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J1: EOF ----

[...truncated 157 lines...]
   [junit4] JVM J1: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/analysis/stempel/test/temp/junit4-J1-20190824_225153_6934012117035049906656.syserr
   [junit4] >>> JVM J1 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J1: EOF ----

   [junit4] JVM J2: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/analysis/stempel/test/temp/junit4-J2-20190824_225153_6933992174999167877201.syserr
   [junit4] >>> JVM J2 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J2: EOF ----

[...truncated 3 lines...]
   [junit4] JVM J0: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/analysis/stempel/test/temp/junit4-J0-20190824_225153_6924853321106887226577.syserr
   [junit4] >>> JVM J0 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J0: EOF ----

[...truncated 178 lines...]
   [junit4] JVM J0: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/backward-codecs/test/temp/junit4-J0-20190824_225157_8847869048307068920942.syserr
   [junit4] >>> JVM J0 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J0: EOF ----

[...truncated 9 lines...]
   [junit4] JVM J1: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/backward-codecs/test/temp/junit4-J1-20190824_225157_88410383521563960705708.syserr
   [junit4] >>> JVM J1 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J1: EOF ----

[...truncated 9 lines...]
   [junit4] JVM J2: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/backward-codecs/test/temp/junit4-J2-20190824_225157_8848463517632252770870.syserr
   [junit4] >>> JVM J2 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J2: EOF ----

[...truncated 1434 lines...]
   [junit4] JVM J2: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/benchmark/test/temp/junit4-J2-20190824_225513_53017530124557419155844.syserr
   [junit4] >>> JVM J2 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J2: EOF ----

[...truncated 9 lines...]
   [junit4] JVM J0: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/benchmark/test/temp/junit4-J0-20190824_225513_5249617630382485682264.syserr
   [junit4] >>> JVM J0 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J0: EOF ----

[...truncated 3 lines...]
   [junit4] JVM J1: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/benchmark/test/temp/junit4-J1-20190824_225513_5264583901782751001956.syserr
   [junit4] >>> JVM J1 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J1: EOF ----

[...truncated 238 lines...]
   [junit4] JVM J2: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/classification/test/temp/junit4-J2-20190824_225526_06911335530333075320557.syserr
   [junit4] >>> JVM J2 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J2: EOF ----

   [junit4] JVM J0: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/classification/test/temp/junit4-J0-20190824_225526_0567096508766080018574.syserr
   [junit4] >>> JVM J0 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J0: EOF ----

[...truncated 3 lines...]
   [junit4] JVM J1: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/classification/test/temp/junit4-J1-20190824_225526_07013514822458062322094.syserr
   [junit4] >>> JVM J1 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J1: EOF ----

[...truncated 256 lines...]
   [junit4] JVM J2: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/codecs/test/temp/junit4-J2-20190824_225544_43914589688952927728721.syserr
   [junit4] >>> JVM J2 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J2: EOF ----

[...truncated 7 lines...]
   [junit4] JVM J1: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/codecs/test/temp/junit4-J1-20190824_225544_4359654808361789537145.syserr
   [junit4] >>> JVM J1 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J1: EOF ----

[...truncated 3 lines...]
   [junit4] JVM J0: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/codecs/test/temp/junit4-J0-20190824_225544_43516819809984190374172.syserr
   [junit4] >>> JVM J0 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J0: EOF ----

[...truncated 209 lines...]
   [junit4] JVM J0: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/demo/test/temp/junit4-J0-20190824_225901_3683530802533928731445.syserr
   [junit4] >>> JVM J0 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J0: EOF ----

[...truncated 3 lines...]
   [junit4] JVM J2: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/demo/test/temp/junit4-J2-20190824_225901_3685868967396938385560.syserr
   [junit4] >>> JVM J2 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J2: EOF ----

   [junit4] JVM J1: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/demo/test/temp/junit4-J1-20190824_225901_368584954516188668487.syserr
   [junit4] >>> JVM J1 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J1: EOF ----

[...truncated 173 lines...]
   [junit4] JVM J2: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/expressions/test/temp/junit4-J2-20190824_225906_4839754166350712469740.syserr
   [junit4] >>> JVM J2 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J2: EOF ----

   [junit4] JVM J0: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/expressions/test/temp/junit4-J0-20190824_225906_4834127824921922297441.syserr
   [junit4] >>> JVM J0 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J0: EOF ----

[...truncated 3 lines...]
   [junit4] JVM J1: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/expressions/test/temp/junit4-J1-20190824_225906_4834185573855610157200.syserr
   [junit4] >>> JVM J1 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J1: EOF ----

[...truncated 226 lines...]
   [junit4] JVM J0: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/facet/test/temp/junit4-J0-20190824_225918_078292349732832597158.syserr
   [junit4] >>> JVM J0 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J0: EOF ----

[...truncated 3 lines...]
   [junit4] JVM J1: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/facet/test/temp/junit4-J1-20190824_225918_07913175055876103862045.syserr
   [junit4] >>> JVM J1 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J1: EOF ----

[...truncated 3 lines...]
   [junit4] JVM J2: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/facet/test/temp/junit4-J2-20190824_225918_0798733503618977773232.syserr
   [junit4] >>> JVM J2 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J2: EOF ----

[...truncated 182 lines...]
   [junit4] JVM J2: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/grouping/test/temp/junit4-J2-20190824_230011_97810787915967485254041.syserr
   [junit4] JVM J0: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/grouping/test/temp/junit4-J0-20190824_230011_9786430359492520254978.syserr
   [junit4] >>> JVM J2 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J2: EOF ----

[...truncated 6 lines...]
   [junit4] JVM J1: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/grouping/test/temp/junit4-J1-20190824_230011_9784049125056787286579.syserr
   [junit4] >>> JVM J1 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J1: EOF ----

[...truncated 243 lines...]
   [junit4] JVM J2: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/highlighter/test/temp/junit4-J2-20190824_230028_7068015683355415896678.syserr
   [junit4] >>> JVM J2 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J2: EOF ----

[...truncated 3 lines...]
   [junit4] JVM J1: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/highlighter/test/temp/junit4-J1-20190824_230028_70613806386911352861297.syserr
   [junit4] >>> JVM J1 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J1: EOF ----

[...truncated 3 lines...]
   [junit4] JVM J0: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/highlighter/test/temp/junit4-J0-20190824_230028_7062469059600503187163.syserr
   [junit4] >>> JVM J0 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J0: EOF ----

[...truncated 163 lines...]
   [junit4] JVM J1: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/join/test/temp/junit4-J1-20190824_230058_9704554277942982317471.syserr
   [junit4] >>> JVM J1 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J1: EOF ----

[...truncated 3 lines...]
   [junit4] JVM J2: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/join/test/temp/junit4-J2-20190824_230058_9709504814190791843711.syserr
   [junit4] >>> JVM J2 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J2: EOF ----

[...truncated 6 lines...]
   [junit4] JVM J0: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/join/test/temp/junit4-J0-20190824_230058_9702627251950940281178.syserr
   [junit4] >>> JVM J0 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J0: EOF ----

[...truncated 268 lines...]
   [junit4] JVM J2: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/luke/test/temp/junit4-J2-20190824_230144_9679194064609490445620.syserr
   [junit4] >>> JVM J2 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J2: EOF ----

[...truncated 3 lines...]
   [junit4] JVM J0: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/luke/test/temp/junit4-J0-20190824_230144_96710331587421278365506.syserr
   [junit4] >>> JVM J0 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J0: EOF ----

[...truncated 3 lines...]
   [junit4] JVM J1: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/luke/test/temp/junit4-J1-20190824_230144_9671257655213741428086.syserr
   [junit4] >>> JVM J1 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J1: EOF ----

[...truncated 149 lines...]
   [junit4] JVM J0: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/memory/test/temp/junit4-J0-20190824_230154_27111170241571729362881.syserr
   [junit4] >>> JVM J0 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J0: EOF ----

[...truncated 3 lines...]
   [junit4] JVM J1: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/memory/test/temp/junit4-J1-20190824_230154_2718085052902324264648.syserr
   [junit4] >>> JVM J1 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J1: EOF ----

[...truncated 182 lines...]
   [junit4] JVM J0: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/misc/test/temp/junit4-J0-20190824_230211_9988270401795190704671.syserr
   [junit4] >>> JVM J0 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J0: EOF ----

[...truncated 9 lines...]
   [junit4] JVM J2: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/misc/test/temp/junit4-J2-20190824_230211_99816230466024118730157.syserr
   [junit4] >>> JVM J2 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J2: EOF ----

[...truncated 3 lines...]
   [junit4] JVM J1: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/misc/test/temp/junit4-J1-20190824_230211_99818179003280645847003.syserr
   [junit4] >>> JVM J1 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J1: EOF ----

[...truncated 251 lines...]
   [junit4] JVM J1: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/monitor/test/temp/junit4-J1-20190824_230252_36315967229071935858682.syserr
   [junit4] >>> JVM J1 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J1: EOF ----

[...truncated 3 lines...]
   [junit4] JVM J0: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/monitor/test/temp/junit4-J0-20190824_230252_3636743304172266177409.syserr
   [junit4] >>> JVM J0 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J0: EOF ----

[...truncated 3 lines...]
   [junit4] JVM J2: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/monitor/test/temp/junit4-J2-20190824_230252_3856720987141606697704.syserr
   [junit4] >>> JVM J2 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J2: EOF ----

[...truncated 316 lines...]
   [junit4] JVM J2: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/queries/test/temp/junit4-J2-20190824_230304_22215298466864383058793.syserr
   [junit4] >>> JVM J2 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J2: EOF ----

[...truncated 3 lines...]
   [junit4] JVM J0: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/queries/test/temp/junit4-J0-20190824_230304_2221577408978087479081.syserr
   [junit4] >>> JVM J0 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J0: EOF ----

   [junit4] JVM J1: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/queries/test/temp/junit4-J1-20190824_230304_22211338669876840481556.syserr
   [junit4] >>> JVM J1 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J1: EOF ----

[...truncated 226 lines...]
   [junit4] JVM J1: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/queryparser/test/temp/junit4-J1-20190824_230319_2524613257674819973584.syserr
   [junit4] >>> JVM J1 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J1: EOF ----

[...truncated 3 lines...]
   [junit4] JVM J0: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/queryparser/test/temp/junit4-J0-20190824_230319_2525630246407887971061.syserr
   [junit4] >>> JVM J0 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J0: EOF ----

   [junit4] JVM J2: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/queryparser/test/temp/junit4-J2-20190824_230319_25215799038503028022236.syserr
   [junit4] >>> JVM J2 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J2: EOF ----

[...truncated 209 lines...]
   [junit4] JVM J1: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/replicator/test/temp/junit4-J1-20190824_230331_5113397197561994866790.syserr
   [junit4] >>> JVM J1 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J1: EOF ----

   [junit4] JVM J2: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/replicator/test/temp/junit4-J2-20190824_230331_512580406221062296344.syserr
   [junit4] >>> JVM J2 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J2: EOF ----

[...truncated 6 lines...]
   [junit4] JVM J0: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/replicator/test/temp/junit4-J0-20190824_230331_5114452674648963599859.syserr
   [junit4] >>> JVM J0 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J0: EOF ----

[...truncated 262 lines...]
   [junit4] JVM J0: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/sandbox/test/temp/junit4-J0-20190824_230345_79015358067424980051148.syserr
   [junit4] >>> JVM J0 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J0: EOF ----

[...truncated 5 lines...]
   [junit4] JVM J2: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/sandbox/test/temp/junit4-J2-20190824_230345_7905725584280169637948.syserr
   [junit4] >>> JVM J2 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J2: EOF ----

[...truncated 16 lines...]
   [junit4] JVM J1: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/sandbox/test/temp/junit4-J1-20190824_230345_79013356649541231996593.syserr
   [junit4] >>> JVM J1 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J1: EOF ----

[...truncated 300 lines...]
   [junit4] JVM J2: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/spatial-extras/test/temp/junit4-J2-20190824_230608_85210203399272933683967.syserr
   [junit4] >>> JVM J2 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J2: EOF ----

   [junit4] JVM J1: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/spatial-extras/test/temp/junit4-J1-20190824_230608_85216789001450072380504.syserr
   [junit4] >>> JVM J1 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J1: EOF ----

[...truncated 3 lines...]
   [junit4] JVM J0: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/spatial-extras/test/temp/junit4-J0-20190824_230608_8527537966815463800527.syserr
   [junit4] >>> JVM J0 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J0: EOF ----

[...truncated 148 lines...]
   [junit4] JVM J0: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/spatial/test/temp/junit4-J0-20190824_230647_31611856250744813447193.syserr
   [junit4] >>> JVM J0 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J0: EOF ----

[...truncated 175 lines...]
   [junit4] JVM J0: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/spatial3d/test/temp/junit4-J0-20190824_230649_664418678398619925194.syserr
   [junit4] >>> JVM J0 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J0: EOF ----

[...truncated 3 lines...]
   [junit4] JVM J2: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/spatial3d/test/temp/junit4-J2-20190824_230649_66416157884291158375469.syserr
   [junit4] >>> JVM J2 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J2: EOF ----

[...truncated 11 lines...]
   [junit4] JVM J1: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/spatial3d/test/temp/junit4-J1-20190824_230649_6643182600775015795973.syserr
   [junit4] >>> JVM J1 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J1: EOF ----

[...truncated 251 lines...]
   [junit4] JVM J0: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/suggest/test/temp/junit4-J0-20190824_230825_3351062135699814780447.syserr
   [junit4] >>> JVM J0 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J0: EOF ----

[...truncated 3 lines...]
   [junit4] JVM J2: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/suggest/test/temp/junit4-J2-20190824_230825_33514942385635603725082.syserr
   [junit4] >>> JVM J2 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J2: EOF ----

[...truncated 3 lines...]
   [junit4] JVM J1: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/build/suggest/test/temp/junit4-J1-20190824_230825_3352024643966572637365.syserr
   [junit4] >>> JVM J1 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J1: EOF ----

[...truncated 2560 lines...]
   [junit4] Suite: org.apache.solr.handler.admin.TestApiFramework
   [junit4]   2> 638286 INFO  (SUITE-TestApiFramework-seed#[4E8E49ED7FDC2023]-worker) [     ] o.a.s.SolrTestCaseJ4 SecureRandom sanity checks: test.solr.allowed.securerandom=null & java.security.egd=file:/dev/./urandom
   [junit4]   2> 638287 INFO  (SUITE-TestApiFramework-seed#[4E8E49ED7FDC2023]-worker) [     ] o.a.s.SolrTestCaseJ4 Created dataDir: /home/jenkins/workspace/Lucene-Solr-master-Linux/solr/build/solr-core/test/J1/temp/solr.handler.admin.TestApiFramework_4E8E49ED7FDC2023-001/data-dir-98-001
   [junit4]   2> 638287 WARN  (SUITE-TestApiFramework-seed#[4E8E49ED7FDC2023]-worker) [     ] o.a.s.SolrTestCaseJ4 startTrackingSearchers: numOpens=49 numCloses=49
   [junit4]   2> 638287 INFO  (SUITE-TestApiFramework-seed#[4E8E49ED7FDC2023]-worker) [     ] o.a.s.SolrTestCaseJ4 Using PointFields (NUMERIC_POINTS_SYSPROP=true) w/NUMERIC_DOCVALUES_SYSPROP=true
   [junit4]   2> 638287 INFO  (SUITE-TestApiFramework-seed#[4E8E49ED7FDC2023]-worker) [     ] o.a.s.SolrTestCaseJ4 Randomized ssl (true) and clientAuth (true) via: @org.apache.solr.util.RandomizeSSL(reason="", value=0.0/0.0, ssl=0.0/0.0, clientAuth=0.0/0.0)
   [junit4]   2> 638289 INFO  (TEST-TestApiFramework.testTrailingTemplatePaths-seed#[4E8E49ED7FDC2023]) [     ] o.a.s.SolrTestCaseJ4 ###Starting testTrailingTemplatePaths
   [junit4]   2> 638290 INFO  (TEST-TestApiFramework.testTrailingTemplatePaths-seed#[4E8E49ED7FDC2023]) [     ] o.a.s.SolrTestCaseJ4 ###Ending testTrailingTemplatePaths
   [junit4]   2> 638291 INFO  (TEST-TestApiFramework.testFramework-seed#[4E8E49ED7FDC2023]) [     ] o.a.s.SolrTestCaseJ4 ###Starting testFramework
   [junit4]   2> 638434 INFO  (TEST-TestApiFramework.testFramework-seed#[4E8E49ED7FDC2023]) [     ] o.a.s.SolrTestCaseJ4 ###Ending testFramework
   [junit4]   2> NOTE: reproduce with: ant test  -Dtestcase=TestApiFramework -Dtests.method=testFramework -Dtests.seed=4E8E49ED7FDC2023 -Dtests.multiplier=3 -Dtests.slow=true -Dtests.locale=fr-CM -Dtests.timezone=Pacific/Auckland -Dtests.asserts=true -Dtests.file.encoding=UTF-8
   [junit4] FAILURE 0.15s J1 | TestApiFramework.testFramework <<<
   [junit4]    > Throwable #1: org.junit.ComparisonFailure: incorrect value for path /spec[0]/methods[0] in :{
   [junit4]    >   "spec":[
   [junit4]    >     {
   [junit4]    >       "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#list",
   [junit4]    >       "description":"List all available collections and their properties.",
   [junit4]    >       "methods":["GET"],
   [junit4]    >       "url":{"paths":[
   [junit4]    >           "/collections",
   [junit4]    >           "/c"]}},
   [junit4]    >     {
   [junit4]    >       "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#create",
   [junit4]    >       "description":"Create collections and collection aliases, backup or restore collections, and delete collections and aliases.",
   [junit4]    >       "methods":["POST"],
   [junit4]    >       "url":{"paths":[
   [junit4]    >           "/collections",
   [junit4]    >           "/c"]},
   [junit4]    >       "commands":{
   [junit4]    >         "create":{
   [junit4]    >           "type":"object",
   [junit4]    >           "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#create",
   [junit4]    >           "description":"Create a collection.",
   [junit4]    >           "properties":{
   [junit4]    >            

[...truncated too long message...]

 "required":["name"]},
   [junit4]    >         "backup-collection":{
   [junit4]    >           "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#backup",
   [junit4]    >           "description":"Backup Solr indexes and configurations for a specific collection. One copy of the indexes will be taken from each shard, and the config set for the collection will also be copied.",
   [junit4]    >           "type":"object",
   [junit4]    >           "properties":{
   [junit4]    >             "collection":{
   [junit4]    >               "type":"string",
   [junit4]    >               "description":"The name of the collection to back up."},
   [junit4]    >             "name":{
   [junit4]    >               "type":"string",
   [junit4]    >               "description":"The name of the backup."},
   [junit4]    >             "location":{
   [junit4]    >               "type":"string",
   [junit4]    >               "description":"A location on a shared drive for the backup-collection command to write to. Alternately, it can be set as a cluster property with the cluster endpoint, which also supports setting a location."},
   [junit4]    >             "async":{
   [junit4]    >               "type":"string",
   [junit4]    >               "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."}},
   [junit4]    >           "required":[
   [junit4]    >             "collection",
   [junit4]    >             "name",
   [junit4]    >             "location"]},
   [junit4]    >         "restore-collection":{
   [junit4]    >           "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#restore",
   [junit4]    >           "description":"Restore Solr indexes and configurations from a backup. You cannot restore into the same collection you took the backup from. The target collection must not exist before calling this command, as it will be created by the restore action. The new collection will have the same number of shards and replicas as the original collection, and all routing strategies will be retained.",
   [junit4]    >           "type":"object",
   [junit4]    >           "properties":{
   [junit4]    >             "collection":{
   [junit4]    >               "type":"string",
   [junit4]    >               "description":"The name of the collection the backup will be restored to. This collection must not exist prior to this "},
   [junit4]    >             "name":{
   [junit4]    >               "type":"string",
   [junit4]    >               "description":"The name of the backup file."},
   [junit4]    >             "location":{
   [junit4]    >               "type":"string",
   [junit4]    >               "description":"The location on the shared drive for the restore-collection command to read from. Alternately, it can be set as a cluster property with the cluster endpoint, which also supports setting a location."},
   [junit4]    >             "async":{
   [junit4]    >               "type":"string",
   [junit4]    >               "description":"Defines a request ID that can be used to track this action after it's submitted. The action will be processed asynchronously."}},
   [junit4]    >           "required":[
   [junit4]    >             "collection",
   [junit4]    >             "name",
   [junit4]    >             "location"]}}},
   [junit4]    >     {
   [junit4]    >       "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#list",
   [junit4]    >       "description":"List all available collections and their properties.",
   [junit4]    >       "methods":["GET"],
   [junit4]    >       "url":{"paths":[
   [junit4]    >           "/collections",
   [junit4]    >           "/c"]}},
   [junit4]    >     {
   [junit4]    >       "documentation":"https://lucene.apache.org/solr/guide/collection-management.html#delete",
   [junit4]    >       "description":"Deletes a collection.",
   [junit4]    >       "methods":["DELETE"],
   [junit4]    >       "url":{"paths":[
   [junit4]    >           "/collections/{collection}",
   [junit4]    >           "/c/{collection}"]}}],
   [junit4]    >   "WARNING":"This response format is experimental.  It is likely to change in the future.",
   [junit4]    >   "availableSubPaths":{
   [junit4]    >     "/collections/{collection}/shards":[
   [junit4]    >       "POST",
   [junit4]    >       "GET"],
   [junit4]    >     "/collections/{collection}/shards/{shard}/{replica}":[
   [junit4]    >       "DELETE",
   [junit4]    >       "GET"],
   [junit4]    >     "/collections/{collection}":[
   [junit4]    >       "DELETE",
   [junit4]    >       "POST",
   [junit4]    >       "GET"],
   [junit4]    >     "/collections/{collection}/shards/{shard}":[
   [junit4]    >       "DELETE",
   [junit4]    >       "POST",
   [junit4]    >       "GET"]}} expected:<[DELETE]> but was:<[POST]>
   [junit4]    > at __randomizedtesting.SeedInfo.seed([4E8E49ED7FDC2023:59F883CA7908CC1E]:0)
   [junit4]    > at org.apache.solr.handler.admin.TestApiFramework.assertConditions(TestApiFramework.java:214)
   [junit4]    > at org.apache.solr.handler.admin.TestApiFramework.testFramework(TestApiFramework.java:125)
   [junit4]    > at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   [junit4]    > at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
   [junit4]    > at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   [junit4]    > at java.base/java.lang.reflect.Method.invoke(Method.java:567)
   [junit4]    > at java.base/java.lang.Thread.run(Thread.java:835)
   [junit4]   2> NOTE: leaving temporary files on disk at: /home/jenkins/workspace/Lucene-Solr-master-Linux/solr/build/solr-core/test/J0/temp/solr.handler.admin.TestApiFramework_4E8E49ED7FDC2023-001
   [junit4]   2> NOTE: test params are: codec=Asserting(Lucene80): {}, docValues:{}, maxPointsInLeafNode=1987, maxMBSortInHeap=5.8379683160118, sim=Asserting(org.apache.lucene.search.similarities.AssertingSimilarity@27f099dc), locale=fr-CM, timezone=Pacific/Auckland
   [junit4]   2> NOTE: Linux 5.0.0-23-generic amd64/AdoptOpenJDK 12.0.1 (64-bit)/cpus=8,threads=2,free=443555568,total=518979584
   [junit4]   2> NOTE: All tests run in this JVM: [TestApiFramework]
   [junit4] Completed [3/5 (1!)] on J0 in 5.31s, 2 tests, 1 failure <<< FAILURES!

[...truncated 6 lines...]
   [junit4] JVM J0: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/solr/build/solr-core/test/temp/junit4-J0-20190825_000640_7575329441721265942022.syserr
   [junit4] >>> JVM J0 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J0: EOF ----

   [junit4] JVM J2: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/solr/build/solr-core/test/temp/junit4-J2-20190825_000640_75711244848083962088623.syserr
   [junit4] >>> JVM J2 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J2: EOF ----

[...truncated 5 lines...]
   [junit4] JVM J1: stderr was not empty, see: /home/jenkins/workspace/Lucene-Solr-master-Linux/solr/build/solr-core/test/temp/junit4-J1-20190825_000640_75710535439137254681700.syserr
   [junit4] >>> JVM J1 emitted unexpected output (verbatim) ----
   [junit4] OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
   [junit4] <<< JVM J1: EOF ----

[...truncated 10 lines...]
BUILD FAILED
/home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/common-build.xml:1492: The following error occurred while executing this line:
/home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/common-build.xml:1019: There were test failures: 5 suites, 10 tests, 1 failure [seed: 4E8E49ED7FDC2023]

Total time: 10 seconds

[repro] Setting last failure code to 256

[repro] Failures:
[repro]   1/5 failed: org.apache.solr.handler.admin.TestApiFramework
[repro] Exiting with code 256
+ mv lucene/build lucene/build.repro
+ mv solr/build solr/build.repro
+ mv lucene/build.orig lucene/build
+ mv solr/build.orig solr/build
Archiving artifacts
Setting ANT_1_8_2_HOME=/home/jenkins/tools/hudson.tasks.Ant_AntInstallation/ANT_1.8.2
[WARNINGS] Parsing warnings in console log with parser Java Compiler (javac)
Setting ANT_1_8_2_HOME=/home/jenkins/tools/hudson.tasks.Ant_AntInstallation/ANT_1.8.2
No credentials specified
Setting ANT_1_8_2_HOME=/home/jenkins/tools/hudson.tasks.Ant_AntInstallation/ANT_1.8.2
<Git Blamer> Using GitBlamer to create author and commit information for all warnings.
<Git Blamer> GIT_COMMIT=225fd3d8ee4b7853cdf6c06448e8d4b9cec859c3, workspace=/home/jenkins/workspace/Lucene-Solr-master-Linux
[WARNINGS] Computing warning deltas based on reference build #24601
Recording test results
Setting ANT_1_8_2_HOME=/home/jenkins/tools/hudson.tasks.Ant_AntInstallation/ANT_1.8.2
Build step 'Publish JUnit test result report' changed build result to UNSTABLE
Email was triggered for: Unstable (Test Failures)
Sending email for trigger: Unstable (Test Failures)
Setting ANT_1_8_2_HOME=/home/jenkins/tools/hudson.tasks.Ant_AntInstallation/ANT_1.8.2
Setting ANT_1_8_2_HOME=/home/jenkins/tools/hudson.tasks.Ant_AntInstallation/ANT_1.8.2
Setting ANT_1_8_2_HOME=/home/jenkins/tools/hudson.tasks.Ant_AntInstallation/ANT_1.8.2
Setting ANT_1_8_2_HOME=/home/jenkins/tools/hudson.tasks.Ant_AntInstallation/ANT_1.8.2
Setting ANT_1_8_2_HOME=/home/jenkins/tools/hudson.tasks.Ant_AntInstallation/ANT_1.8.2
Setting ANT_1_8_2_HOME=/home/jenkins/tools/hudson.tasks.Ant_AntInstallation/ANT_1.8.2


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]