[JENKINS] Lucene-Solr-master-Windows (64bit/jdk-11.0.3) - Build # 8106 - Unstable!

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

[JENKINS] Lucene-Solr-master-Windows (64bit/jdk-11.0.3) - Build # 8106 - Unstable!

Policeman Jenkins Server-2
Build: https://jenkins.thetaphi.de/job/Lucene-Solr-master-Windows/8106/
Java: 64bit/jdk-11.0.3 -XX:+UseCompressedOops -XX:+UseG1GC

5 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([3FBCE7D46115A928:28CA2DF367C14515]: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:566)
        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:834)


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

Error Message:
incorrect value for path /spec[1]/methods[0] in :{   "spec":[     {       "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"]}},     {       "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"]}}}],   "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:<[POS]T> but was:<[GE]T>

Stack Trace:
org.junit.ComparisonFailure: incorrect value for path /spec[1]/methods[0] in :{
  "spec":[
    {
      "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"]}},
    {
      "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"]}}}],
  "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:<[POS]T> but was:<[GE]T>
        at __randomizedtesting.SeedInfo.seed([3FBCE7D46115A928:28CA2DF367C14515]: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:566)
        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:834)


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...]

":"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]    >   "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:<[POS]T> but was:<[GE]T>
   [junit4]    > at __randomizedtesting.SeedInfo.seed([3FBCE7D46115A928:28CA2DF367C14515]: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:566)
   [junit4]    > at java.base/java.lang.Thread.run(Thread.java:834)
   [junit4]   2> 13875 INFO  (TEST-TestApiFramework.testFramework-seed#[3FBCE7D46115A928]) [     ] o.a.s.SolrTestCaseJ4 ###Ending testFramework
   [junit4]   2> 13980 INFO  (TEST-TestApiFramework.testTrailingTemplatePaths-seed#[3FBCE7D46115A928]) [     ] o.a.s.SolrTestCaseJ4 ###Starting testTrailingTemplatePaths
   [junit4] OK      0.02s J0 | TestApiFramework.testTrailingTemplatePaths
   [junit4]   2> 13980 INFO  (TEST-TestApiFramework.testTrailingTemplatePaths-seed#[3FBCE7D46115A928]) [     ] o.a.s.SolrTestCaseJ4 ###Ending testTrailingTemplatePaths
   [junit4]   2> NOTE: leaving temporary files on disk at: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-core\test\J0\temp\solr.handler.admin.TestApiFramework_3FBCE7D46115A928-003
   [junit4]   2> NOTE: test params are: codec=Asserting(Lucene80): {}, docValues:{}, maxPointsInLeafNode=1226, maxMBSortInHeap=7.178489913004355, sim=Asserting(org.apache.lucene.search.similarities.AssertingSimilarity@5d6a868c), locale=ii-CN, timezone=Canada/Atlantic
   [junit4]   2> NOTE: Windows 10 10.0 amd64/AdoptOpenJDK 11.0.3 (64-bit)/cpus=3,threads=1,free=26808720,total=100663296
   [junit4]   2> NOTE: All tests run in this JVM: [TestApiFramework, TestApiFramework, TestApiFramework]
   [junit4] Completed [5/5 (5!)] on J0 in 0.46s, 2 tests, 1 failure <<< FAILURES!
   [junit4]
   [junit4]
   [junit4] Tests with failures [seed: 3FBCE7D46115A928]:
   [junit4]   - org.apache.solr.handler.admin.TestApiFramework.testFramework
   [junit4]   - org.apache.solr.handler.admin.TestApiFramework.testFramework
   [junit4]   - org.apache.solr.handler.admin.TestApiFramework.testFramework
   [junit4]   - org.apache.solr.handler.admin.TestApiFramework.testFramework
   [junit4]   - org.apache.solr.handler.admin.TestApiFramework.testFramework
   [junit4]
   [junit4]
   [junit4] JVM J0:     1.05 ..    14.89 =    13.84s
   [junit4] JVM J1:     1.05 ..    14.16 =    13.11s
   [junit4] Execution time total: 14 seconds
   [junit4] Tests summary: 5 suites, 10 tests, 5 failures

BUILD FAILED
C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\lucene\common-build.xml:1492: The following error occurred while executing this line:
C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\lucene\common-build.xml:1019: There were test failures: 5 suites, 10 tests, 5 failures [seed: 3FBCE7D46115A928]

Total time: 17 seconds

[repro] Setting last failure code to 1

[repro] Failures:
[repro]   5/5 failed: org.apache.solr.handler.admin.TestApiFramework
[repro] Exiting with code 1

C:\Users\jenkins\workspace\Lucene-Solr-master-Windows>IF EXIST lucene\build move /y lucene\build lucene\build.repro
        1 dir(s) moved.

C:\Users\jenkins\workspace\Lucene-Solr-master-Windows>IF EXIST solr\build move /y solr\build solr\build.repro
        1 dir(s) moved.

C:\Users\jenkins\workspace\Lucene-Solr-master-Windows>IF EXIST lucene\build.orig move /y lucene\build.orig lucene\build
        1 dir(s) moved.

C:\Users\jenkins\workspace\Lucene-Solr-master-Windows>IF EXIST solr\build.orig move /y solr\build.orig solr\build
        1 dir(s) moved.

C:\Users\jenkins\workspace\Lucene-Solr-master-Windows>exit 0
Archiving artifacts
Setting ANT_1_8_2_HOME=C:\Users\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=C:\Users\jenkins\tools\hudson.tasks.Ant_AntInstallation\ANT_1.8.2
No credentials specified
Setting ANT_1_8_2_HOME=C:\Users\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=C:\Users\jenkins\workspace\Lucene-Solr-master-Windows
[WARNINGS] Computing warning deltas based on reference build #8105
Recording test results
Setting ANT_1_8_2_HOME=C:\Users\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=C:\Users\jenkins\tools\hudson.tasks.Ant_AntInstallation\ANT_1.8.2
Setting ANT_1_8_2_HOME=C:\Users\jenkins\tools\hudson.tasks.Ant_AntInstallation\ANT_1.8.2
Setting ANT_1_8_2_HOME=C:\Users\jenkins\tools\hudson.tasks.Ant_AntInstallation\ANT_1.8.2
Setting ANT_1_8_2_HOME=C:\Users\jenkins\tools\hudson.tasks.Ant_AntInstallation\ANT_1.8.2
Setting ANT_1_8_2_HOME=C:\Users\jenkins\tools\hudson.tasks.Ant_AntInstallation\ANT_1.8.2
Setting ANT_1_8_2_HOME=C:\Users\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-Windows (64bit/jdk-11.0.3) - Build # 8107 - Still Unstable!

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

13 tests failed.
FAILED:  org.apache.solr.security.BasicAuthIntegrationTest.testBasicAuth

Error Message:
Software caused connection abort: recv failed

Stack Trace:
javax.net.ssl.SSLException: Software caused connection abort: recv failed
        at __randomizedtesting.SeedInfo.seed([61EAB8A9BB5E2C49:DD84CEBB1F0DAF33]:0)
        at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:127)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:321)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:264)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:259)
        at java.base/sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1314)
        at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:839)
        at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:137)
        at org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:153)
        at org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:282)
        at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:138)
        at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)
        at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)
        at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:163)
        at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:165)
        at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)
        at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
        at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272)
        at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185)
        at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
        at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
        at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)
        at org.apache.solr.cloud.SolrCloudAuthTestCase.verifySecurityStatus(SolrCloudAuthTestCase.java:199)
        at org.apache.solr.cloud.SolrCloudAuthTestCase.verifySecurityStatus(SolrCloudAuthTestCase.java:175)
        at org.apache.solr.security.BasicAuthIntegrationTest.testBasicAuth(BasicAuthIntegrationTest.java:130)
        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:566)
        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:834)
        Suppressed: java.net.SocketException: Software caused connection abort: socket write error
                at java.base/java.net.SocketOutputStream.socketWrite0(Native Method)
                at java.base/java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:110)
                at java.base/java.net.SocketOutputStream.write(SocketOutputStream.java:150)
                at java.base/sun.security.ssl.SSLSocketOutputRecord.encodeAlert(SSLSocketOutputRecord.java:81)
                at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:352)
                ... 63 more
Caused by: java.net.SocketException: Software caused connection abort: recv failed
        at java.base/java.net.SocketInputStream.socketRead0(Native Method)
        at java.base/java.net.SocketInputStream.socketRead(SocketInputStream.java:115)
        at java.base/java.net.SocketInputStream.read(SocketInputStream.java:168)
        at java.base/java.net.SocketInputStream.read(SocketInputStream.java:140)
        at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:448)
        at java.base/sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(SSLSocketInputRecord.java:68)
        at java.base/sun.security.ssl.SSLSocketImpl.readApplicationRecord(SSLSocketImpl.java:1104)
        at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:823)
        ... 59 more


FAILED:  org.apache.solr.security.BasicAuthIntegrationTest.testBasicAuth

Error Message:
Software caused connection abort: recv failed

Stack Trace:
javax.net.ssl.SSLException: Software caused connection abort: recv failed
        at __randomizedtesting.SeedInfo.seed([61EAB8A9BB5E2C49:DD84CEBB1F0DAF33]:0)
        at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:127)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:321)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:264)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:259)
        at java.base/sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1314)
        at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:839)
        at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:137)
        at org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:153)
        at org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:282)
        at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:138)
        at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)
        at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)
        at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:163)
        at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:165)
        at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)
        at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
        at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272)
        at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185)
        at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
        at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
        at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)
        at org.apache.solr.cloud.SolrCloudAuthTestCase.verifySecurityStatus(SolrCloudAuthTestCase.java:199)
        at org.apache.solr.cloud.SolrCloudAuthTestCase.verifySecurityStatus(SolrCloudAuthTestCase.java:175)
        at org.apache.solr.security.BasicAuthIntegrationTest.testBasicAuth(BasicAuthIntegrationTest.java:130)
        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:566)
        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:834)
        Suppressed: java.net.SocketException: Software caused connection abort: socket write error
                at java.base/java.net.SocketOutputStream.socketWrite0(Native Method)
                at java.base/java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:110)
                at java.base/java.net.SocketOutputStream.write(SocketOutputStream.java:150)
                at java.base/sun.security.ssl.SSLSocketOutputRecord.encodeAlert(SSLSocketOutputRecord.java:81)
                at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:352)
                ... 63 more
Caused by: java.net.SocketException: Software caused connection abort: recv failed
        at java.base/java.net.SocketInputStream.socketRead0(Native Method)
        at java.base/java.net.SocketInputStream.socketRead(SocketInputStream.java:115)
        at java.base/java.net.SocketInputStream.read(SocketInputStream.java:168)
        at java.base/java.net.SocketInputStream.read(SocketInputStream.java:140)
        at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:448)
        at java.base/sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(SSLSocketInputRecord.java:68)
        at java.base/sun.security.ssl.SSLSocketImpl.readApplicationRecord(SSLSocketImpl.java:1104)
        at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:823)
        ... 59 more


FAILED:  org.apache.solr.security.BasicAuthIntegrationTest.testBasicAuth

Error Message:
Software caused connection abort: recv failed

Stack Trace:
javax.net.ssl.SSLException: Software caused connection abort: recv failed
        at __randomizedtesting.SeedInfo.seed([61EAB8A9BB5E2C49:DD84CEBB1F0DAF33]:0)
        at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:127)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:321)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:264)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:259)
        at java.base/sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1314)
        at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:839)
        at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:137)
        at org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:153)
        at org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:282)
        at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:138)
        at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)
        at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)
        at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:163)
        at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:165)
        at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)
        at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
        at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272)
        at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185)
        at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
        at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
        at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)
        at org.apache.solr.cloud.SolrCloudAuthTestCase.verifySecurityStatus(SolrCloudAuthTestCase.java:199)
        at org.apache.solr.cloud.SolrCloudAuthTestCase.verifySecurityStatus(SolrCloudAuthTestCase.java:175)
        at org.apache.solr.security.BasicAuthIntegrationTest.testBasicAuth(BasicAuthIntegrationTest.java:130)
        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:566)
        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:834)
        Suppressed: java.net.SocketException: Software caused connection abort: socket write error
                at java.base/java.net.SocketOutputStream.socketWrite0(Native Method)
                at java.base/java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:110)
                at java.base/java.net.SocketOutputStream.write(SocketOutputStream.java:150)
                at java.base/sun.security.ssl.SSLSocketOutputRecord.encodeAlert(SSLSocketOutputRecord.java:81)
                at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:352)
                ... 63 more
Caused by: java.net.SocketException: Software caused connection abort: recv failed
        at java.base/java.net.SocketInputStream.socketRead0(Native Method)
        at java.base/java.net.SocketInputStream.socketRead(SocketInputStream.java:115)
        at java.base/java.net.SocketInputStream.read(SocketInputStream.java:168)
        at java.base/java.net.SocketInputStream.read(SocketInputStream.java:140)
        at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:448)
        at java.base/sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(SSLSocketInputRecord.java:68)
        at java.base/sun.security.ssl.SSLSocketImpl.readApplicationRecord(SSLSocketImpl.java:1104)
        at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:823)
        ... 59 more


FAILED:  org.apache.solr.security.BasicAuthIntegrationTest.testBasicAuth

Error Message:
Software caused connection abort: recv failed

Stack Trace:
javax.net.ssl.SSLException: Software caused connection abort: recv failed
        at __randomizedtesting.SeedInfo.seed([61EAB8A9BB5E2C49:DD84CEBB1F0DAF33]:0)
        at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:127)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:321)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:264)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:259)
        at java.base/sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1314)
        at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:839)
        at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:137)
        at org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:153)
        at org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:282)
        at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:138)
        at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)
        at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)
        at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:163)
        at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:165)
        at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)
        at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
        at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272)
        at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185)
        at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
        at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
        at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)
        at org.apache.solr.cloud.SolrCloudAuthTestCase.verifySecurityStatus(SolrCloudAuthTestCase.java:199)
        at org.apache.solr.cloud.SolrCloudAuthTestCase.verifySecurityStatus(SolrCloudAuthTestCase.java:175)
        at org.apache.solr.security.BasicAuthIntegrationTest.testBasicAuth(BasicAuthIntegrationTest.java:130)
        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:566)
        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:834)
        Suppressed: java.net.SocketException: Software caused connection abort: socket write error
                at java.base/java.net.SocketOutputStream.socketWrite0(Native Method)
                at java.base/java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:110)
                at java.base/java.net.SocketOutputStream.write(SocketOutputStream.java:150)
                at java.base/sun.security.ssl.SSLSocketOutputRecord.encodeAlert(SSLSocketOutputRecord.java:81)
                at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:352)
                ... 63 more
Caused by: java.net.SocketException: Software caused connection abort: recv failed
        at java.base/java.net.SocketInputStream.socketRead0(Native Method)
        at java.base/java.net.SocketInputStream.socketRead(SocketInputStream.java:115)
        at java.base/java.net.SocketInputStream.read(SocketInputStream.java:168)
        at java.base/java.net.SocketInputStream.read(SocketInputStream.java:140)
        at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:448)
        at java.base/sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(SSLSocketInputRecord.java:68)
        at java.base/sun.security.ssl.SSLSocketImpl.readApplicationRecord(SSLSocketImpl.java:1104)
        at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:823)
        ... 59 more


FAILED:  org.apache.solr.security.BasicAuthIntegrationTest.testBasicAuth

Error Message:
Software caused connection abort: recv failed

Stack Trace:
javax.net.ssl.SSLException: Software caused connection abort: recv failed
        at __randomizedtesting.SeedInfo.seed([61EAB8A9BB5E2C49:DD84CEBB1F0DAF33]:0)
        at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:127)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:321)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:264)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:259)
        at java.base/sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1314)
        at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:839)
        at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:137)
        at org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:153)
        at org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:282)
        at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:138)
        at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)
        at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)
        at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:163)
        at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:165)
        at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)
        at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
        at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272)
        at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185)
        at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
        at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
        at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)
        at org.apache.solr.cloud.SolrCloudAuthTestCase.verifySecurityStatus(SolrCloudAuthTestCase.java:199)
        at org.apache.solr.cloud.SolrCloudAuthTestCase.verifySecurityStatus(SolrCloudAuthTestCase.java:175)
        at org.apache.solr.security.BasicAuthIntegrationTest.testBasicAuth(BasicAuthIntegrationTest.java:130)
        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:566)
        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:834)
        Suppressed: java.net.SocketException: Software caused connection abort: socket write error
                at java.base/java.net.SocketOutputStream.socketWrite0(Native Method)
                at java.base/java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:110)
                at java.base/java.net.SocketOutputStream.write(SocketOutputStream.java:150)
                at java.base/sun.security.ssl.SSLSocketOutputRecord.encodeAlert(SSLSocketOutputRecord.java:81)
                at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:352)
                ... 63 more
Caused by: java.net.SocketException: Software caused connection abort: recv failed
        at java.base/java.net.SocketInputStream.socketRead0(Native Method)
        at java.base/java.net.SocketInputStream.socketRead(SocketInputStream.java:115)
        at java.base/java.net.SocketInputStream.read(SocketInputStream.java:168)
        at java.base/java.net.SocketInputStream.read(SocketInputStream.java:140)
        at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:448)
        at java.base/sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(SSLSocketInputRecord.java:68)
        at java.base/sun.security.ssl.SSLSocketImpl.readApplicationRecord(SSLSocketImpl.java:1104)
        at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:823)
        ... 59 more


FAILED:  org.apache.solr.security.BasicAuthIntegrationTest.testBasicAuth

Error Message:
Software caused connection abort: recv failed

Stack Trace:
javax.net.ssl.SSLException: Software caused connection abort: recv failed
        at __randomizedtesting.SeedInfo.seed([61EAB8A9BB5E2C49:DD84CEBB1F0DAF33]:0)
        at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:127)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:321)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:264)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:259)
        at java.base/sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1314)
        at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:839)
        at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:137)
        at org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:153)
        at org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:282)
        at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:138)
        at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)
        at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)
        at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:163)
        at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:165)
        at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)
        at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
        at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272)
        at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185)
        at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
        at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
        at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)
        at org.apache.solr.cloud.SolrCloudAuthTestCase.verifySecurityStatus(SolrCloudAuthTestCase.java:199)
        at org.apache.solr.cloud.SolrCloudAuthTestCase.verifySecurityStatus(SolrCloudAuthTestCase.java:175)
        at org.apache.solr.security.BasicAuthIntegrationTest.testBasicAuth(BasicAuthIntegrationTest.java:130)
        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:566)
        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:834)
        Suppressed: java.net.SocketException: Software caused connection abort: socket write error
                at java.base/java.net.SocketOutputStream.socketWrite0(Native Method)
                at java.base/java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:110)
                at java.base/java.net.SocketOutputStream.write(SocketOutputStream.java:150)
                at java.base/sun.security.ssl.SSLSocketOutputRecord.encodeAlert(SSLSocketOutputRecord.java:81)
                at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:352)
                ... 63 more
Caused by: java.net.SocketException: Software caused connection abort: recv failed
        at java.base/java.net.SocketInputStream.socketRead0(Native Method)
        at java.base/java.net.SocketInputStream.socketRead(SocketInputStream.java:115)
        at java.base/java.net.SocketInputStream.read(SocketInputStream.java:168)
        at java.base/java.net.SocketInputStream.read(SocketInputStream.java:140)
        at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:448)
        at java.base/sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(SSLSocketInputRecord.java:68)
        at java.base/sun.security.ssl.SSLSocketImpl.readApplicationRecord(SSLSocketImpl.java:1104)
        at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:823)
        ... 59 more


FAILED:  org.apache.solr.client.solrj.io.stream.MathExpressionTest.testGammaDistribution

Error Message:
0.7926258098940135 0.8084645302684171

Stack Trace:
java.lang.AssertionError: 0.7926258098940135 0.8084645302684171
        at __randomizedtesting.SeedInfo.seed([3911CA4E1DB1042A:46BE1E03EC9AE3D]:0)
        at org.junit.Assert.fail(Assert.java:88)
        at org.junit.Assert.assertTrue(Assert.java:41)
        at org.apache.solr.client.solrj.io.stream.MathExpressionTest.testGammaDistribution(MathExpressionTest.java:4948)
        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:566)
        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:834)


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

Error Message:
incorrect value for path /spec[1]/methods[0] in :{   "spec":[     {       "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"]}},     {       "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"]}}}],   "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:<[POS]T> but was:<[GE]T>

Stack Trace:
org.junit.ComparisonFailure: incorrect value for path /spec[1]/methods[0] in :{
  "spec":[
    {
      "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"]}},
    {
      "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"]}}}],
  "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:<[POS]T> but was:<[GE]T>
        at __randomizedtesting.SeedInfo.seed([61EAB8A9BB5E2C49:769C728EBD8AC074]:0)
        at org.junit.Assert.assertEquals(Assert.java:115)
        at org.apache.solr.handler.admin.TestApiFramework.assertConditions(TestApiFramework.java:21

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

ay
   [junit4] OK      0.11s J0 | MathExpressionTest.testCache
   [junit4] OK      0.06s J0 | MathExpressionTest.testSumSq
   [junit4] OK      0.06s J0 | MathExpressionTest.testUpperLowerSingle
   [junit4] OK      0.07s J0 | MathExpressionTest.testPivot
   [junit4] OK      0.06s J0 | MathExpressionTest.testHist
   [junit4] OK      0.34s J0 | MathExpressionTest.testBetaDistribution
   [junit4] OK      0.07s J0 | MathExpressionTest.testAddAll
   [junit4] OK      0.06s J0 | MathExpressionTest.testDateTimeTZ
   [junit4] OK      0.05s J0 | MathExpressionTest.testLerp
   [junit4] OK      0.05s J0 | MathExpressionTest.testOnes
   [junit4] OK      0.07s J0 | MathExpressionTest.testUpperLowerArray
   [junit4] OK      0.05s J0 | MathExpressionTest.testRepeat
   [junit4] OK      0.06s J0 | MathExpressionTest.testFFT
   [junit4] OK      0.15s J0 | MathExpressionTest.testCovariance
   [junit4] OK      0.11s J0 | MathExpressionTest.testCopyOf
   [junit4] OK      0.08s J0 | MathExpressionTest.testNorms
   [junit4] OK      0.07s J0 | MathExpressionTest.testDotProduct
   [junit4] OK      0.08s J0 | MathExpressionTest.testTranspose
   [junit4] OK      0.07s J0 | MathExpressionTest.testNotNullSelect
   [junit4] OK      0.06s J0 | MathExpressionTest.testOscillate
   [junit4] OK      0.05s J0 | MathExpressionTest.testMatrixMult
   [junit4] OK      0.05s J0 | MathExpressionTest.testIsNullHaving
   [junit4] OK      0.07s J0 | MathExpressionTest.testPlot
   [junit4] OK      0.07s J0 | MathExpressionTest.testCorrMatrix
   [junit4] OK      0.09s J0 | MathExpressionTest.testTtest
   [junit4] OK      0.07s J0 | MathExpressionTest.testZipFDistribution
   [junit4] OK      0.08s J0 | MathExpressionTest.testArray
   [junit4] OK      0.06s J0 | MathExpressionTest.testLetWithNumericVariables
   [junit4] OK      0.06s J0 | MathExpressionTest.testLog10
   [junit4] OK      0.06s J0 | MathExpressionTest.testMannWhitney
   [junit4] OK      0.07s J0 | MathExpressionTest.testKnnRegress
   [junit4] OK      0.06s J0 | MathExpressionTest.testKnn
   [junit4] OK      0.11s J0 | MathExpressionTest.testConvertEvaluator
   [junit4] OK      0.05s J0 | MathExpressionTest.testNormalizeSum
   [junit4] OK      0.04s J0 | MathExpressionTest.testKmeans
   [junit4] OK      0.05s J0 | MathExpressionTest.testCosineSimilarity
   [junit4] OK      0.04s J0 | MathExpressionTest.testChiSquareDataSet
   [junit4] OK      0.04s J0 | MathExpressionTest.testRtrim
   [junit4] OK      0.05s J0 | MathExpressionTest.testAscend
   [junit4] OK      0.08s J0 | MathExpressionTest.testDescribe
   [junit4] OK      0.06s J0 | MathExpressionTest.testExponentialMovingAverage
   [junit4] OK      0.04s J0 | MathExpressionTest.testAkima
   [junit4] OK      0.05s J0 | MathExpressionTest.testMonteCarlo
   [junit4] OK      0.14s J0 | MathExpressionTest.testReverse
   [junit4] OK      0.05s J0 | MathExpressionTest.testTimeDifferencingDefinedLag
   [junit4] OK      0.05s J0 | MathExpressionTest.testDateTime
   [junit4] OK      0.06s J0 | MathExpressionTest.testFuzzyKmeans
   [junit4] OK      0.05s J0 | MathExpressionTest.testTimeDifferencingDefaultLag
   [junit4] OK      0.04s J0 | MathExpressionTest.testUniformIntegerDistribution
   [junit4] OK      0.04s J0 | MathExpressionTest.testOutliers
   [junit4] OK      0.04s J0 | MathExpressionTest.testNatural
   [junit4] OK      0.07s J0 | MathExpressionTest.testLatlonFunctions
   [junit4] OK      0.24s J0 | MathExpressionTest.testWeibullDistribution
   [junit4] OK      0.11s J0 | MathExpressionTest.testMemsetTimeSeries
   [junit4] OK      0.05s J0 | MathExpressionTest.testGtestDataSet
   [junit4] OK      0.11s J0 | MathExpressionTest.testBinomialDistribution
   [junit4] OK      0.06s J0 | MathExpressionTest.testMean
   [junit4] OK      0.05s J0 | MathExpressionTest.testLoess
   [junit4] OK      0.04s J0 | MathExpressionTest.testIsNullSelect
   [junit4] OK      0.04s J0 | MathExpressionTest.testFreqTable
   [junit4] OK      0.05s J0 | MathExpressionTest.testEbeMultiply
   [junit4] OK      0.04s J0 | MathExpressionTest.testMatrix
   [junit4] OK      0.05s J0 | MathExpressionTest.testSelectWithSequentialEvaluators
   [junit4] OK      0.05s J0 | MathExpressionTest.testMonteCarloWithVariables
   [junit4] OK      0.06s J0 | MathExpressionTest.testPairSort
   [junit4] OK      0.08s J0 | MathExpressionTest.testLength
   [junit4] OK      0.05s J0 | MathExpressionTest.testStandardize
   [junit4] OK      0.04s J0 | MathExpressionTest.testDistance
   [junit4] OK      0.07s J0 | MathExpressionTest.testValueAt
   [junit4] OK      0.07s J0 | MathExpressionTest.testPercentile
   [junit4] OK      0.07s J0 | MathExpressionTest.testPrimes
   [junit4] OK      0.06s J0 | MathExpressionTest.testProbabilityRange
   [junit4] OK      0.06s J0 | MathExpressionTest.testMatches
   [junit4] OK      0.06s J0 | MathExpressionTest.testSplitTrim
   [junit4] OK      0.07s J0 | MathExpressionTest.testPow
   [junit4] OK      0.08s J0 | MathExpressionTest.testHarmonicFit
   [junit4] OK      0.07s J0 | MathExpressionTest.testNotNullHaving
   [junit4] OK      0.10s J0 | MathExpressionTest.testPoissonDistribution
   [junit4] OK      0.06s J0 | MathExpressionTest.testIntegrate
   [junit4] OK      0.24s J0 | MathExpressionTest.testGammaDistribution
   [junit4] OK      0.05s J0 | MathExpressionTest.testNestedDoubleTimeDifference
   [junit4] OK      0.19s J0 | MathExpressionTest.testLogNormalDistribution
   [junit4] OK      0.06s J0 | MathExpressionTest.testCumulativeProbability
   [junit4] OK      0.14s J0 | MathExpressionTest.testScale
   [junit4] Completed [5/5] on J0 in 15.51s, 132 tests
   [junit4]
   [junit4] JVM J0:     1.72 ..   133.12 =   131.40s
   [junit4] JVM J1:     2.09 ..   118.41 =   116.32s
   [junit4] Execution time total: 2 minutes 13 seconds
   [junit4] Tests summary: 5 suites, 660 tests
   [junit4] Could not remove temporary path: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0 (java.nio.file.DirectoryNotEmptyException: Remaining files: [C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp])
   [junit4] Could not remove temporary path: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1 (java.nio.file.DirectoryNotEmptyException: Remaining files: [C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp])
     [echo] 5 slowest tests:
[junit4:tophints] 133.01s | org.apache.solr.client.solrj.impl.CloudHttp2SolrClientTest
[junit4:tophints] 105.05s | org.apache.solr.client.solrj.io.stream.StreamDecoratorTest
[junit4:tophints]  91.54s | org.apache.solr.common.cloud.TestCollectionStateWatchers
[junit4:tophints]  90.40s | org.apache.solr.client.solrj.impl.CloudSolrClientTest
[junit4:tophints]  55.32s | org.apache.solr.client.solrj.io.sql.JdbcTest

-check-totals:
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass (file:/C:/Users/jenkins/.ivy2/cache/org.codehaus.groovy/groovy-all/jars/groovy-all-2.4.16.jar) to method java.lang.Object.finalize()
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.reflection.CachedClass
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

test-nocompile:

BUILD SUCCESSFUL
Total time: 2 minutes 17 seconds
[repro] Failures:
[repro]   0/5 failed: org.apache.solr.client.solrj.io.stream.MathExpressionTest
[repro]   5/5 failed: org.apache.solr.handler.admin.TestApiFramework
[repro]   5/5 failed: org.apache.solr.security.BasicAuthIntegrationTest
[repro] Exiting with code 1

C:\Users\jenkins\workspace\Lucene-Solr-master-Windows>IF EXIST lucene\build move /y lucene\build lucene\build.repro
        1 dir(s) moved.

C:\Users\jenkins\workspace\Lucene-Solr-master-Windows>IF EXIST solr\build move /y solr\build solr\build.repro
        1 dir(s) moved.

C:\Users\jenkins\workspace\Lucene-Solr-master-Windows>IF EXIST lucene\build.orig move /y lucene\build.orig lucene\build
        1 dir(s) moved.

C:\Users\jenkins\workspace\Lucene-Solr-master-Windows>IF EXIST solr\build.orig move /y solr\build.orig solr\build
        1 dir(s) moved.

C:\Users\jenkins\workspace\Lucene-Solr-master-Windows>exit 0
Archiving artifacts
Setting ANT_1_8_2_HOME=C:\Users\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=C:\Users\jenkins\tools\hudson.tasks.Ant_AntInstallation\ANT_1.8.2
No credentials specified
Setting ANT_1_8_2_HOME=C:\Users\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=C:\Users\jenkins\workspace\Lucene-Solr-master-Windows
[WARNINGS] Computing warning deltas based on reference build #8106
Recording test results
Setting ANT_1_8_2_HOME=C:\Users\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=C:\Users\jenkins\tools\hudson.tasks.Ant_AntInstallation\ANT_1.8.2
Setting ANT_1_8_2_HOME=C:\Users\jenkins\tools\hudson.tasks.Ant_AntInstallation\ANT_1.8.2
Setting ANT_1_8_2_HOME=C:\Users\jenkins\tools\hudson.tasks.Ant_AntInstallation\ANT_1.8.2
Setting ANT_1_8_2_HOME=C:\Users\jenkins\tools\hudson.tasks.Ant_AntInstallation\ANT_1.8.2
Setting ANT_1_8_2_HOME=C:\Users\jenkins\tools\hudson.tasks.Ant_AntInstallation\ANT_1.8.2
Setting ANT_1_8_2_HOME=C:\Users\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-Windows (64bit/jdk-13-rc) - Build # 8108 - Still Unstable!

Policeman Jenkins Server-2
Build: https://jenkins.thetaphi.de/job/Lucene-Solr-master-Windows/8108/
Java: 64bit/jdk-13-rc -XX:+UseCompressedOops -XX:+UseG1GC

14 tests failed.
FAILED:  org.apache.solr.ltr.store.rest.TestModelManagerPersistence.testWrapperModelPersistence

Error Message:
An established connection was aborted by the software in your host machine

Stack Trace:
javax.net.ssl.SSLException: An established connection was aborted by the software in your host machine
        at __randomizedtesting.SeedInfo.seed([38D8E1F2E28CB2A:76E7FDC191D4B26F]:0)
        at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:127)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:324)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:267)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:262)
        at java.base/sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1652)
        at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:1038)
        at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:137)
        at org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:153)
        at org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:282)
        at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:138)
        at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)
        at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)
        at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:163)
        at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:165)
        at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)
        at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
        at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272)
        at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185)
        at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
        at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
        at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
        at org.apache.solr.util.RestTestHarness.getResponse(RestTestHarness.java:215)
        at org.apache.solr.util.RestTestHarness.query(RestTestHarness.java:107)
        at org.apache.solr.util.RestTestBase.assertJQ(RestTestBase.java:226)
        at org.apache.solr.util.RestTestBase.assertJQ(RestTestBase.java:192)
        at org.apache.solr.ltr.store.rest.TestModelManagerPersistence.doWrapperModelPersistenceChecks(TestModelManagerPersistence.java:202)
        at org.apache.solr.ltr.store.rest.TestModelManagerPersistence.testWrapperModelPersistence(TestModelManagerPersistence.java:255)
        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:830)
        Suppressed: java.net.SocketException: An established connection was aborted by the software in your host machine
                at java.base/sun.nio.ch.NioSocketImpl.implWrite(NioSocketImpl.java:421)
                at java.base/sun.nio.ch.NioSocketImpl.write(NioSocketImpl.java:441)
                at java.base/sun.nio.ch.NioSocketImpl$2.write(NioSocketImpl.java:825)
                at java.base/java.net.Socket$SocketOutputStream.write(Socket.java:989)
                at java.base/sun.security.ssl.SSLSocketOutputRecord.encodeAlert(SSLSocketOutputRecord.java:82)
                at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:355)
                ... 64 more
Caused by: java.net.SocketException: An established connection was aborted by the software in your host machine
        at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:326)
        at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:351)
        at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:802)
        at java.base/java.net.Socket$SocketInputStream.read(Socket.java:919)
        at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:450)
        at java.base/sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(SSLSocketInputRecord.java:68)
        at java.base/sun.security.ssl.SSLSocketImpl.readApplicationRecord(SSLSocketImpl.java:1409)
        at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:1022)
        ... 60 more


FAILED:  org.apache.solr.ltr.store.rest.TestModelManagerPersistence.testFeaturePersistence

Error Message:


Stack Trace:
java.lang.AssertionError
        at __randomizedtesting.SeedInfo.seed([38D8E1F2E28CB2A:8AE14C78C31B9F8E]:0)
        at org.junit.Assert.fail(Assert.java:86)
        at org.junit.Assert.assertTrue(Assert.java:41)
        at org.junit.Assert.assertTrue(Assert.java:52)
        at org.apache.solr.ltr.store.rest.TestModelManagerPersistence.testFeaturePersistence(TestModelManagerPersistence.java:96)
        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:830)


FAILED:  org.apache.solr.ltr.store.rest.TestModelManagerPersistence.testFilePersistence

Error Message:
List size mismatch @ models

Stack Trace:
java.lang.RuntimeException: List size mismatch @ models
        at __randomizedtesting.SeedInfo.seed([38D8E1F2E28CB2A:212CEA628B44AD6F]:0)
        at org.apache.solr.util.RestTestBase.assertJQ(RestTestBase.java:248)
        at org.apache.solr.util.RestTestBase.assertJQ(RestTestBase.java:192)
        at org.apache.solr.ltr.store.rest.TestModelManagerPersistence.testFilePersistence(TestModelManagerPersistence.java:138)
        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:830)


FAILED:  org.apache.solr.ltr.store.rest.TestModelManagerPersistence.testInnerCustomClassesPersistence

Error Message:
mismatch: 'model42'!='test-model2' @ models/[0]/name

Stack Trace:
java.lang.RuntimeException: mismatch: 'model42'!='test-model2' @ models/[0]/name
        at __randomizedtesting.SeedInfo.seed([38D8E1F2E28CB2A:2A88A52AE8C4ED46]:0)
        at org.apache.solr.util.RestTestBase.assertJQ(RestTestBase.java:248)
        at org.apache.solr.util.RestTestBase.assertJQ(RestTestBase.java:192)
        at org.apache.solr.ltr.store.rest.TestModelManagerPersistence.testInnerCustomClassesPersistence(TestModelManagerPersistence.java:310)
        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:830)


FAILED:  org.apache.solr.ltr.store.rest.TestModelManagerPersistence.testWrapperModelPersistence

Error Message:
An established connection was aborted by the software in your host machine

Stack Trace:
javax.net.ssl.SSLException: An established connection was aborted by the software in your host machine
        at __randomizedtesting.SeedInfo.seed([38D8E1F2E28CB2A:76E7FDC191D4B26F]:0)
        at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:127)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:324)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:267)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:262)
        at java.base/sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1652)
        at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:1038)
        at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:137)
        at org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:153)
        at org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:282)
        at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:138)
        at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)
        at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)
        at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:163)
        at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:165)
        at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)
        at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
        at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272)
        at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185)
        at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
        at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
        at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
        at org.apache.solr.util.RestTestHarness.getResponse(RestTestHarness.java:215)
        at org.apache.solr.util.RestTestHarness.query(RestTestHarness.java:107)
        at org.apache.solr.util.RestTestBase.assertJQ(RestTestBase.java:226)
        at org.apache.solr.util.RestTestBase.assertJQ(RestTestBase.java:192)
        at org.apache.solr.ltr.store.rest.TestModelManagerPersistence.doWrapperModelPersistenceChecks(TestModelManagerPersistence.java:202)
        at org.apache.solr.ltr.store.rest.TestModelManagerPersistence.testWrapperModelPersistence(TestModelManagerPersistence.java:255)
        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:830)
        Suppressed: java.net.SocketException: An established connection was aborted by the software in your host machine
                at java.base/sun.nio.ch.NioSocketImpl.implWrite(NioSocketImpl.java:421)
                at java.base/sun.nio.ch.NioSocketImpl.write(NioSocketImpl.java:441)
                at java.base/sun.nio.ch.NioSocketImpl$2.write(NioSocketImpl.java:825)
                at java.base/java.net.Socket$SocketOutputStream.write(Socket.java:989)
                at java.base/sun.security.ssl.SSLSocketOutputRecord.encodeAlert(SSLSocketOutputRecord.java:82)
                at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:355)
                ... 64 more
Caused by: java.net.SocketException: An established connection was aborted by the software in your host machine
        at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:326)
        at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:351)
        at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:802)
        at java.base/java.net.Socket$SocketInputStream.read(Socket.java:919)
        at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:450)
        at java.base/sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(SSLSocketInputRecord.java:68)
        at java.base/sun.security.ssl.SSLSocketImpl.readApplicationRecord(SSLSocketImpl.java:1409)
        at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:1022)
        ... 60 more


FAILED:  org.apache.solr.ltr.store.rest.TestModelManagerPersistence.testWrapperModelPersistence

Error Message:
An established connection was aborted by the software in your host machine

Stack Trace:
javax.net.ssl.SSLException: An established connection was aborted by the software in your host machine
        at __randomizedtesting.SeedInfo.seed([38D8E1F2E28CB2A:76E7FDC191D4B26F]:0)
        at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:127)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:324)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:267)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:262)
        at java.base/sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1652)
        at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:1038)
        at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:137)
        at org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:153)
        at org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:282)
        at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:138)
        at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)
        at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)
        at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:163)
        at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:165)
        at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)
        at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
        at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272)
        at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185)
        at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
        at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
        at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
        at org.apache.solr.util.RestTestHarness.getResponse(RestTestHarness.java:215)
        at org.apache.solr.util.RestTestHarness.query(RestTestHarness.java:107)
        at org.apache.solr.util.RestTestBase.assertJQ(RestTestBase.java:226)
        at org.apache.solr.util.RestTestBase.assertJQ(RestTestBase.java:192)
        at org.apache.solr.ltr.store.rest.TestModelManagerPersistence.doWrapperModelPersistenceChecks(TestModelManagerPersistence.java:202)
        at org.apache.solr.ltr.store.rest.TestModelManagerPersistence.testWrapperModelPersistence(TestModelManagerPersistence.java:255)
        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:830)
        Suppressed: java.net.SocketException: An established connection was aborted by the software in your host machine
                at java.base/sun.nio.ch.NioSocketImpl.implWrite(NioSocketImpl.java:421)
                at java.base/sun.nio.ch.NioSocketImpl.write(NioSocketImpl.java:441)
                at java.base/sun.nio.ch.NioSocketImpl$2.write(NioSocketImpl.java:825)
                at java.base/java.net.Socket$SocketOutputStream.write(Socket.java:989)
                at java.base/sun.security.ssl.SSLSocketOutputRecord.encodeAlert(SSLSocketOutputRecord.java:82)
                at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:355)
                ... 64 more
Caused by: java.net.SocketException: An established connection was aborted by the software in your host machine
        at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:326)
        at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:351)
        at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:802)
        at java.base/java.net.Socket$SocketInputStream.read(Socket.java:919)
        at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:450)
        at java.base/sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(SSLSocketInputRecord.java:68)
        at java.base/sun.security.ssl.SSLSocketImpl.readApplicationRecord(SSLSocketImpl.java:1409)
        at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:1022)
        ... 60 more


FAILED:  org.apache.solr.ltr.store.rest.TestModelManagerPersistence.testWrapperModelPersistence

Error Message:
An established connection was aborted by the software in your host machine

Stack Trace:
javax.net.ssl.SSLException: An established connection was aborted by the software in your host machine
        at __randomizedtesting.SeedInfo.seed([38D8E1F2E28CB2A:76E7FDC191D4B26F]:0)
        at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:127)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:324)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:267)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:262)
        at java.base/sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1652)
        at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:1038)
        at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:137)
        at org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:153)
        at org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:282)
        at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:138)
        at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)
        at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)
        at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:163)
        at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:165)
        at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)
        at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
        at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272)
        at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185)
        at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
        at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
        at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
        at org.apache.solr.util.RestTestHarness.getResponse(RestTestHarness.java:215)
        at org.apache.solr.util.RestTestHarness.query(RestTestHarness.java:107)
        at org.apache.solr.util.RestTestBase.assertJQ(RestTestBase.java:226)
        at org.apache.solr.util.RestTestBase.assertJQ(RestTestBase.java:192)
        at org.apache.solr.ltr.store.rest.TestModelManagerPersistence.doWrapperModelPersistenceChecks(TestModelManagerPersistence.java:202)
        at org.apache.solr.ltr.store.rest.TestModelManagerPersistence.testWrapperModelPersistence(TestModelManagerPersistence.java:255)
        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:830)
        Suppressed: java.net.SocketException: An established connection was aborted by the software in your host machine
                at java.base/sun.nio.ch.NioSocketImpl.implWrite(NioSocketImpl.java:421)
                at java.base/sun.nio.ch.NioSocketImpl.write(NioSocketImpl.java:441)
                at java.base/sun.nio.ch.NioSocketImpl$2.write(NioSocketImpl.java:825)
                at java.base/java.net.Socket$SocketOutputStream.write(Socket.java:989)
                at java.base/sun.security.ssl.SSLSocketOutputRecord.encodeAlert(SSLSocketOutputRecord.java:82)
                at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:355)
                ... 64 more
Caused by: java.net.SocketException: An established connection was aborted by the software in your host machine
        at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:326)
        at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:351)
        at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:802)
        at java.base/java.net.Socket$SocketInputStream.read(Socket.java:919)
        at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:450)
        at java.base/sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(SSLSocketInputRecord.java:68)
        at java.base/sun.security.ssl.SSLSocketImpl.readApplicationRecord(SSLSocketImpl.java:1409)
        at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:1022)
        ... 60 more


FAILED:  org.apache.solr.ltr.store.rest.TestModelManagerPersistence.testFeaturePersistence

Error Message:


Stack Trace:
java.lang.AssertionError
        at __randomizedtesting.SeedInfo.seed([38D8E1F2E28CB2A:8AE14C78C31B9F8E]:0)
        at org.junit.Assert.fail(Assert.java:86)
        at org.junit.Assert.assertTrue(Assert.java:41)
        at org.junit.Assert.assertTrue(Assert.java:52)
        at org.apache.solr.ltr.store.rest.TestModelManagerPersistence.testFeaturePersistence(TestModelManagerPersistence.java:96)
        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:830)


FAILED:  org.apache.solr.ltr.store.rest.TestModelManagerPersistence.testFilePersistence

Error Message:
List size mismatch @ models

Stack Trace:
java.lang.RuntimeException: List size mismatch @ models
        at __randomizedtesting.SeedInfo.seed([38D8E1F2E28CB2A:212CEA628B44AD6F]:0)
        at org.apache.solr.util.RestTestBase.assertJQ(RestTestBase.java:248)
        at org.apache.solr.util.RestTestBase.assertJQ(RestTestBase.java:192)
        at org.apache.solr.ltr.store.rest.TestModelManagerPersistence.testFilePersistence(TestModelManagerPersistence.java:138)
        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:830)


FAILED:  org.apache.solr.ltr.store.rest.TestModelManagerPersistence.testInnerCustomClassesPersistence

Error Message:
mismatch: 'model42'!='test-model2' @ models/[0]/name

Stack Trace:
java.lang.RuntimeException: mismatch: 'model42'!='test-model2' @ models/[0]/name
        at __randomizedtesting.SeedInfo.seed([38D8E1F2E28CB2A:2A88A52AE8C4ED46]:0)
        at org.apache.solr.util.RestTestBase.assertJQ(RestTestBase.java:248)
        at org.apache.solr.util.RestTestBase.assertJQ(RestTestBase.java:192)
        at org.apache.solr.ltr.store.rest.TestModelManagerPersistence.testInnerCustomClassesPersistence(TestModelManagerPersistence.java:310)
        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:830)


FAILED:  org.apache.solr.ltr.store.rest.TestModelManagerPersistence.testWrapperModelPersistence

Error Message:
An established connection was aborted by the software in your host machine

Stack Trace:
javax.net.ssl.SSLException: An established connection was aborted by the software in your host machine
        at __randomizedtesting.SeedInfo.seed([38D8E1F2E28CB2A:76E7FDC191D4B26F]:0)
        at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:127)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:324)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:267)
        at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:262)
        at java.base/sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1652)
        at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:1038)
        at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:137)
        at org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:153)
        at org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:282)
        at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:138)
        at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)
        at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)
        at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:163)
        at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:165)
        at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)
        at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
        at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272)
        at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185)
        at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
        at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
        at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
        at org.apache.solr.util.RestTestHarness.getResponse(RestTestHarness.java:215)
        at org.apache.solr.util.RestTestHarness.query(RestTestHarness.java:107)
        at org.apache.solr.util.RestTestBase.assertJQ(RestTestBase.java:226)
        at org.apache.solr.util.RestTestBase.assertJQ(RestTestBase.java:192)
        at org.apache.solr.ltr.store.rest.TestModelManagerPersistence.doWrapperModelPersistenceChecks(TestModelManagerPersistence.java:202)
        at org.apache.solr.ltr.store.rest.TestModelManagerPersistence.testWrapperModelPersistence(TestModelManagerPersistence.java:255)
        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:830)
        Suppressed: java.net.SocketException: An established connection was aborted by the software in your host machine
                at java.base/sun.nio.ch.NioSocketImpl.implWrite(NioSocketImpl.java:421)
                at java.base/sun.nio.ch.NioSocketImpl.write(NioSocketImpl.java:441)
                at java.base/sun.nio.ch.NioSocketImpl$2.write(NioSocketImpl.java:825)
                at java.base/java.net.Socket$SocketOutputStream.write(Socket.java:989)
                at java.base/sun.security.ssl.SSLSocketOutputRecord.encodeAlert(SSLSocketOutputRecord.java:82)
                at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:355)
                ... 64 more
Caused by: java.net.SocketException: An established connection was aborted by the software in your host machine
        at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:326)
        at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:351)
        at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:802)
        at java.base/java.net.Socket$SocketInputStream.read(Socket.java:919)
        at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:450)
        at java.base/sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(SSLSocketInputRecord.java:68)
        at java.base/sun.security.ssl.SSLSocketImpl.readApplicationRecord(SSLSocketImpl.java:1409)
        at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:1022)
        ... 60 more


FAILED:  org.apache.solr.ltr.store.rest.TestModelManagerPersistence.testFeaturePersistence

Error Message:


Stack Trace:
java.lang.AssertionError
        at __randomizedtesting.SeedInfo.seed([38D8E1F2E28CB2A:8AE14C78C31B9F8E]:0)
        at org.junit.Assert.fail(Assert.java:86)
        at org.junit.Assert.assertTrue(Assert.java:41)
        at org.junit.Assert.assertTrue(Assert.java:52)
        at org.apache.solr.ltr.store.rest.TestModelManagerPersistence.testFeaturePersistence(TestModelManagerPersistence.java:96)
        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:830)


FAILED:  org.apache.solr.ltr.store.rest.TestModelManagerPersistence.testFilePersistence

Error Message:
List size mismatch @ models

Stack Trace:
java.lang.RuntimeException: List size mismatch @ models
        at __randomizedtesting.SeedInfo.seed([38D8E1F2E28CB2A:212CEA628B44AD6F]:0)
        at org.apache.solr.util.RestTestBase.assertJQ(RestTestBase.java:248)
        at org.apache.solr.util.RestTestBase.assertJQ(RestTestBase.java:192)
        at org.apache.solr.ltr.store.rest.TestModelManagerPersistence.testFilePersistence(TestModelManagerPersistence.java:138)
        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:830)


FAILED:  org.apache.solr.ltr.store.rest.TestModelManagerPersistence.testInnerCustomClassesPersistence

Error Message:
mismatch: 'model42'!='test-model2' @ models/[0]/name

Stack Trace:
java.lang.RuntimeException: mismatch: 'model42'!='test-model2' @ models/[0]/name
        at __randomizedtesting.SeedInfo.seed([38D8E1F2E28CB2A:2A88A52AE8C4ED46]:0)
        at org.apache.solr.util.RestTestBase.assertJQ(RestTestBase.java:248)
        at org.apache.solr.util.RestTestBase.assertJQ(RestTestBase.java:192)
        at org.apache.solr.ltr.store.rest.TestModelManagerPersistence.testInnerCustomClassesPersistence(TestModelManagerPersistence.java:310)
        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:830)




Build Log:
[...truncated 24134 lines...]
   [junit4] Suite: org.apache.solr.ltr.store.rest.TestModelManagerPersistence
   [junit4]   1> 18:28:06.115 [SUITE-TestModelManagerPersistence-seed#[38D8E1F2E28CB2A]-worker] ERROR org.apache.solr.util.StartupLoggingUtils - Missing Java Option solr.log.dir. Logging may be missing or incomplete.
   [junit4]   2> ????? 25, 2019 2:28:06 ? org.restlet.Application start
   [junit4]   2> INFO: Starting org.apache.solr.rest.SolrSchemaRestApi application
   [junit4]   2> ????? 25, 2019 2:28:06 ? org.restlet.engine.log.LogFilter afterHandle
   [junit4]   2> INFO: 2019-08-25 14:28:06 127.0.0.1 - 127.0.0.1 63954 GET /solr/schema/model-store wt=json&indent=on 200 - 0 6 https://127.0.0.1:63954        Apache-HttpClient/4.5.6 (Java/13) -
   [junit4]   2> ????? 25, 2019 2:28:06 ? org.restlet.engine.log.LogFilter afterHandle
   [junit4]   2> INFO: 2019-08-25 14:28:06 127.0.0.1 - 127.0.0.1 63954 GET /solr/schema/feature-store/testWrapper wt=json&indent=on 200 - 0 0 https://127.0.0.1:63954        Apache-HttpClient/4.5.6 (Java/13) -
   [junit4]   2> ????? 25, 2019 2:28:06 ? org.restlet.engine.log.LogFilter afterHandle
   [junit4]   2> INFO: 2019-08-25 14:28:06 127.0.0.1 - 127.0.0.1 63954 PUT /solr/schema/feature-store wt=json&indent=on 200 - 137 17 https://127.0.0.1:63954        Apache-HttpClient/4.5.6 (Java/13) -
   [junit4]   2> ????? 25, 2019 2:28:06 ? org.restlet.engine.log.LogFilter afterHandle
   [junit4]   2> INFO: 2019-08-25 14:28:06 127.0.0.1 - 127.0.0.1 63954 PUT /solr/schema/feature-store wt=json&indent=on 200 - 116 8 https://127.0.0.1:63954        Apache-HttpClient/4.5.6 (Java/13) -
   [junit4]   2> ????? 25, 2019 2:28:06 ? org.restlet.engine.log.LogFilter afterHandle
   [junit4]   2> INFO: 2019-08-25 14:28:06 127.0.0.1 - 127.0.0.1 63954 PUT /solr/schema/model-store wt=json&indent=on 200 - 171 30 https://127.0.0.1:63954        Apache-HttpClient/4.5.6 (Java/13) -
   [junit4]   2> ????? 25, 2019 2:28:06 ? org.restlet.engine.log.LogFilter afterHandle
   [junit4]   2> INFO: 2019-08-25 14:28:06 127.0.0.1 - 127.0.0.1 63954 GET /solr/schema/model-store wt=json&indent=on 200 - 0 0 https://127.0.0.1:63954        Apache-HttpClient/4.5.6 (Java/13) -
   [junit4]   2> ????? 25, 2019 2:28:06 ? org.restlet.engine.log.LogFilter afterHandle
   [junit4]   2> INFO: 2019-08-25 14:28:06 127.0.0.1 - 127.0.0.1 63954 GET /solr/schema/model-store wt=json&indent=on 200 - 0 8 https://127.0.0.1:63954        Apache-HttpClient/4.5.6 (Java/13) -
   [junit4]   1> 18:28:07.014 [TEST-TestModelManagerPersistence.testWrapperModelPersistence-seed#[38D8E1F2E28CB2A]] ERROR org.apache.solr.util.StartupLoggingUtils - Missing Java Option solr.log.dir. Logging may be missing or incomplete.
   [junit4]   1> 18:28:07.381 [TEST-TestModelManagerPersistence.testWrapperModelPersistence-seed#[38D8E1F2E28CB2A]] ERROR org.apache.solr.util.RestTestBase - REQUEST FAILED: /schema/model-store?wt=json&indent=on
   [junit4]   2> NOTE: reproduce with: ant test  -Dtestcase=TestModelManagerPersistence -Dtests.method=testWrapperModelPersistence -Dtests.seed=38D8E1F2E28CB2A -Dtests.slow=true -Dtests.locale=ar-EH -Dtests.timezone=Etc/GMT+4 -Dtests.asserts=true -Dtests.file.encoding=Cp1252
   [junit4] ERROR   0.77s J1 | TestModelManagerPersistence.testWrapperModelPersistence <<<
   [junit4]    > Throwable #1: javax.net.ssl.SSLException: An established connection was aborted by the software in your host machine
   [junit4]    > at __randomizedtesting.SeedInfo.seed([38D8E1F2E28CB2A:76E7FDC191D4B26F]:0)
   [junit4]    > at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:127)
   [junit4]    > at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:324)
   [junit4]    > at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:267)
   [junit4]    > at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:262)
   [junit4]    > at java.base/sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1652)
   [junit4]    > at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:1038)
   [junit4]    > at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:137)
   [junit4]    > at org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:153)
   [junit4]    > at org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:282)
   [junit4]    > at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:138)
   [junit4]    > at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)
   [junit4]    > at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)
   [junit4]    > at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:163)
   [junit4]    > at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:165)
   [junit4]    > at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)
   [junit4]    > at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
   [junit4]    > at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272)
   [junit4]    > at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185)
   [junit4]    > at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
   [junit4]    > at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
   [junit4]    > at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
   [junit4]    > at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
   [junit4]    > at org.apache.solr.util.RestTestHarness.getResponse(RestTestHarness.java:215)
   [junit4]    > at org.apache.solr.util.RestTestHarness.query(RestTestHarness.java:107)
   [junit4]    > at org.apache.solr.util.RestTestBase.assertJQ(RestTestBase.java:226)
   [junit4]    > at org.apache.solr.util.RestTestBase.assertJQ(RestTestBase.java:192)
   [junit4]    > at org.apache.solr.ltr.store.rest.TestModelManagerPersistence.doWrapperModelPersistenceChecks(TestModelManagerPersistence.java:202)
   [junit4]    > at org.apache.solr.ltr.store.rest.TestModelManagerPersistence.testWrapperModelPersistence(TestModelManagerPersistence.java:255)
   [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:830)
   [junit4]    > Suppressed: java.net.SocketException: An established connection was aborted by the software in your host machine
   [junit4]    > at java.base/sun.nio.ch.NioSocketImpl.implWrite(NioSocketImpl.java:421)
   [junit4]    > at java.base/sun.nio.ch.NioSocketImpl.write(NioSocketImpl.java:441)
   [junit4]    > at java.base/sun.nio.ch.NioSocketImpl$2.write(NioSocketImpl.java:825)
   [junit4]    > at java.base/java.net.Socket$SocketOutputStream.write(Socket.java:989)
   [junit4]    > at java.base/sun.security.ssl.SSLSocketOutputRecord.encodeAlert(SSLSocketOutputRecord.java:82)
   [junit4]    > at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:355)
   [junit4]    > ... 64 more
   [junit4]    > Caused by: java.net.SocketException: An established connection was aborted by the software in your host machine
   [junit4]    > at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:326)
   [junit4]    > at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:351)
   [junit4]    > at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:802)
   [junit4]    > at java.base/java.net.Socket$SocketInputStream.read(Socket.java:919)
   [junit4]    > at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:450)
   [junit4]    > at java.base/sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(SSLSocketInputRecord.java:68)
   [junit4]    > at java.base/sun.security.ssl.SSLSocketImpl.readApplicationRecord(SSLSocketImpl.java:1409)
   [junit4]    > at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:1022)
   [junit4]    > ... 60 more
   [junit4]   2> ????? 25, 2019 2:28:07 ? org.restlet.Application start
   [junit4]   2> INFO: Starting org.apache.solr.rest.SolrSchemaRestApi application
   [junit4]   2> ????? 25, 2019 2:28:07 ? org.restlet.engine.log.LogFilter afterHandle
   [junit4]   2> INFO: 2019-08-25 14:28:07 127.0.0.1 - 127.0.0.1 63954 PUT /solr/schema/feature-store wt=json&indent=on 200 - 111 8 https://127.0.0.1:63954        Apache-HttpClient/4.5.6 (Java/13) -
   [junit4]   2> ????? 25, 2019 2:28:07 ? org.restlet.engine.log.LogFilter afterHandle
   [junit4]   2> INFO: 2019-08-25 14:28:07 127.0.0.1 - 127.0.0.1 63954 GET /solr/schema/feature-store/test wt=json&indent=on 200 - 0 1 https://127.0.0.1:63954        Apache-HttpClient/4.5.6 (Java/13) -
   [junit4]   2> ????? 25, 2019 2:28:07 ? org.restlet.engine.log.LogFilter afterHandle
   [junit4]   2> INFO: 2019-08-25 14:28:07 127.0.0.1 - 127.0.0.1 63954 GET /solr/schema/feature-store/test wt=json&indent=on 200 - 0 1 https://127.0.0.1:63954        Apache-HttpClient/4.5.6 (Java/13) -
   [junit4]   2> ????? 25, 2019 2:28:07 ? org.restlet.engine.log.LogFilter afterHandle
   [junit4]   2> INFO: 2019-08-25 14:28:07 127.0.0.1 - 127.0.0.1 63954 PUT /solr/schema/feature-store wt=json&indent=on 200 - 113 5 https://127.0.0.1:63954        Apache-HttpClient/4.5.6 (Java/13) -
   [junit4]   2> ????? 25, 2019 2:28:07 ? org.restlet.engine.log.LogFilter afterHandle
   [junit4]   2> INFO: 2019-08-25 14:28:07 127.0.0.1 - 127.0.0.1 63954 PUT /solr/schema/feature-store wt=json&indent=on 200 - 112 5 https://127.0.0.1:63954        Apache-HttpClient/4.5.6 (Java/13) -
   [junit4]   2> ????? 25, 2019 2:28:07 ? org.restlet.engine.log.LogFilter afterHandle
   [junit4]   2> INFO: 2019-08-25 14:28:07 127.0.0.1 - 127.0.0.1 63954 PUT /solr/schema/feature-store wt=json&indent=on 200 - 113 4 https://127.0.0.1:63954        Apache-HttpClient/4.5.6 (Java/13) -
   [junit4]   2> ????? 25, 2019 2:28:07 ? org.restlet.engine.log.LogFilter afterHandle
   [junit4]   2> INFO: 2019-08-25 14:28:07 127.0.0.1 - 127.0.0.1 63954 GET /solr/schema/feature-store/test wt=json&indent=on 200 - 0 0 https://127.0.0.1:63954        Apache-HttpClient/4.5.6 (Java/13) -
   [junit4]   2> ????? 25, 2019 2:28:07 ? org.restlet.engine.log.LogFilter afterHandle
   [junit4]   2> INFO: 2019-08-25 14:28:07 127.0.0.1 - 127.0.0.1 63954 GET /solr/schema/feature-store/test wt=json&indent=on 200 - 0 0 https://127.0.0.1:63954        Apache-HttpClient/4.5.6 (Java/13) -
   [junit4]   2> ????? 25, 2019 2:28:07 ? org.restlet.engine.log.LogFilter afterHandle

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

ar-EH -Dtests.timezone=Etc/GMT+4 -Dtests.asserts=true -Dtests.file.encoding=Cp1252
   [junit4] ERROR   1.52s J1 | TestModelManagerPersistence.testWrapperModelPersistence <<<
   [junit4]    > Throwable #1: javax.net.ssl.SSLException: An established connection was aborted by the software in your host machine
   [junit4]    > at __randomizedtesting.SeedInfo.seed([38D8E1F2E28CB2A:76E7FDC191D4B26F]:0)
   [junit4]    > at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:127)
   [junit4]    > at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:324)
   [junit4]    > at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:267)
   [junit4]    > at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:262)
   [junit4]    > at java.base/sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1652)
   [junit4]    > at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:1038)
   [junit4]    > at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:137)
   [junit4]    > at org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:153)
   [junit4]    > at org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:282)
   [junit4]    > at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:138)
   [junit4]    > at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)
   [junit4]    > at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)
   [junit4]    > at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:163)
   [junit4]    > at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:165)
   [junit4]    > at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)
   [junit4]    > at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
   [junit4]    > at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272)
   [junit4]    > at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185)
   [junit4]    > at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
   [junit4]    > at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
   [junit4]    > at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
   [junit4]    > at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
   [junit4]    > at org.apache.solr.util.RestTestHarness.getResponse(RestTestHarness.java:215)
   [junit4]    > at org.apache.solr.util.RestTestHarness.query(RestTestHarness.java:107)
   [junit4]    > at org.apache.solr.util.RestTestBase.assertJQ(RestTestBase.java:226)
   [junit4]    > at org.apache.solr.util.RestTestBase.assertJQ(RestTestBase.java:192)
   [junit4]    > at org.apache.solr.ltr.store.rest.TestModelManagerPersistence.doWrapperModelPersistenceChecks(TestModelManagerPersistence.java:202)
   [junit4]    > at org.apache.solr.ltr.store.rest.TestModelManagerPersistence.testWrapperModelPersistence(TestModelManagerPersistence.java:255)
   [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:830)
   [junit4]    > Suppressed: java.net.SocketException: An established connection was aborted by the software in your host machine
   [junit4]    > at java.base/sun.nio.ch.NioSocketImpl.implWrite(NioSocketImpl.java:421)
   [junit4]    > at java.base/sun.nio.ch.NioSocketImpl.write(NioSocketImpl.java:441)
   [junit4]    > at java.base/sun.nio.ch.NioSocketImpl$2.write(NioSocketImpl.java:825)
   [junit4]    > at java.base/java.net.Socket$SocketOutputStream.write(Socket.java:989)
   [junit4]    > at java.base/sun.security.ssl.SSLSocketOutputRecord.encodeAlert(SSLSocketOutputRecord.java:82)
   [junit4]    > at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:355)
   [junit4]    > ... 64 more
   [junit4]    > Caused by: java.net.SocketException: An established connection was aborted by the software in your host machine
   [junit4]    > at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:326)
   [junit4]    > at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:351)
   [junit4]    > at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:802)
   [junit4]    > at java.base/java.net.Socket$SocketInputStream.read(Socket.java:919)
   [junit4]    > at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:450)
   [junit4]    > at java.base/sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(SSLSocketInputRecord.java:68)
   [junit4]    > at java.base/sun.security.ssl.SSLSocketImpl.readApplicationRecord(SSLSocketImpl.java:1409)
   [junit4]    > at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:1022)
   [junit4]    > ... 60 more
   [junit4] IGNOR/A 0.01s J1 | TestModelManagerPersistence.testFeaturePersistence
   [junit4]    > Assumption #1: Ignored, failures limit reached (5 >= 5).
   [junit4] IGNOR/A 0.01s J1 | TestModelManagerPersistence.testFilePersistence
   [junit4]    > Assumption #1: Ignored, failures limit reached (5 >= 5).
   [junit4] IGNOR/A 0.01s J1 | TestModelManagerPersistence.testInnerCustomClassesPersistence
   [junit4]    > Assumption #1: Ignored, failures limit reached (5 >= 5).
   [junit4]   2> NOTE: leaving temporary files on disk at: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\contrib\solr-ltr\test\J1\temp\solr.ltr.store.rest.TestModelManagerPersistence_38D8E1F2E28CB2A-002
   [junit4]   2> NOTE: test params are: codec=Asserting(Lucene80): {_version_=PostingsFormat(name=LuceneVarGapDocFreqInterval), popularity=TestBloomFilteredLucenePostings(BloomFilteringPostingsFormat(Lucene50(blocksize=128))), description=BlockTreeOrds(blocksize=128), id=TestBloomFilteredLucenePostings(BloomFilteringPostingsFormat(Lucene50(blocksize=128))), text=PostingsFormat(name=LuceneVarGapFixedInterval), title=BlockTreeOrds(blocksize=128)}, docValues:{}, maxPointsInLeafNode=1465, maxMBSortInHeap=6.328414369195032, sim=Asserting(org.apache.lucene.search.similarities.AssertingSimilarity@62ffff2e), locale=ar-EH, timezone=Etc/GMT+4
   [junit4]   2> NOTE: Windows 10 10.0 amd64/Oracle Corporation 13 (64-bit)/cpus=3,threads=1,free=60569328,total=125829120
   [junit4]   2> NOTE: All tests run in this JVM: [TestModelManagerPersistence, TestModelManagerPersistence]
   [junit4] Completed [4/5 (4!)] on J1 in 3.99s, 4 tests, 1 error, 3 skipped <<< FAILURES!

[...truncated 22 lines...]
BUILD FAILED
C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\lucene\common-build.xml:1492: The following error occurred while executing this line:
C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\lucene\common-build.xml:1019: There were test failures: 5 suites, 20 tests, 8 errors, 2 failures, 10 ignored (6 assumptions) [seed: 38D8E1F2E28CB2A]

Total time: 34 seconds

[repro] Setting last failure code to 1

[repro] Failures:
[repro]   4/5 failed: org.apache.solr.ltr.store.rest.TestModelManagerPersistence
[repro] Exiting with code 1

C:\Users\jenkins\workspace\Lucene-Solr-master-Windows>IF EXIST lucene\build move /y lucene\build lucene\build.repro
        1 dir(s) moved.

C:\Users\jenkins\workspace\Lucene-Solr-master-Windows>IF EXIST solr\build move /y solr\build solr\build.repro
        1 dir(s) moved.

C:\Users\jenkins\workspace\Lucene-Solr-master-Windows>IF EXIST lucene\build.orig move /y lucene\build.orig lucene\build
        1 dir(s) moved.

C:\Users\jenkins\workspace\Lucene-Solr-master-Windows>IF EXIST solr\build.orig move /y solr\build.orig solr\build
        1 dir(s) moved.

C:\Users\jenkins\workspace\Lucene-Solr-master-Windows>exit 0
Archiving artifacts
Setting ANT_1_8_2_HOME=C:\Users\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=C:\Users\jenkins\tools\hudson.tasks.Ant_AntInstallation\ANT_1.8.2
No credentials specified
Setting ANT_1_8_2_HOME=C:\Users\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=C:\Users\jenkins\workspace\Lucene-Solr-master-Windows
[WARNINGS] Computing warning deltas based on reference build #8107
Recording test results
Setting ANT_1_8_2_HOME=C:\Users\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=C:\Users\jenkins\tools\hudson.tasks.Ant_AntInstallation\ANT_1.8.2
Setting ANT_1_8_2_HOME=C:\Users\jenkins\tools\hudson.tasks.Ant_AntInstallation\ANT_1.8.2
Setting ANT_1_8_2_HOME=C:\Users\jenkins\tools\hudson.tasks.Ant_AntInstallation\ANT_1.8.2
Setting ANT_1_8_2_HOME=C:\Users\jenkins\tools\hudson.tasks.Ant_AntInstallation\ANT_1.8.2
Setting ANT_1_8_2_HOME=C:\Users\jenkins\tools\hudson.tasks.Ant_AntInstallation\ANT_1.8.2
Setting ANT_1_8_2_HOME=C:\Users\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-Windows (64bit/jdk-11.0.3) - Build # 8109 - Still Unstable!

Policeman Jenkins Server-2
Build: https://jenkins.thetaphi.de/job/Lucene-Solr-master-Windows/8109/
Java: 64bit/jdk-11.0.3 -XX:+UseCompressedOops -XX:+UseParallelGC

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

Error Message:
incorrect value for path /spec[1]/methods[0] in :{   "spec":[     {       "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"]}},     {       "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"]}}}],   "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:<[POS]T> but was:<[GE]T>

Stack Trace:
org.junit.ComparisonFailure: incorrect value for path /spec[1]/methods[0] in :{
  "spec":[
    {
      "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"]}},
    {
      "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"]}}}],
  "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:<[POS]T> but was:<[GE]T>
        at __randomizedtesting.SeedInfo.seed([6A54F378C518C946:7D22395FC3CC257B]: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:566)
        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:834)


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

Error Message:
incorrect value for path /spec[1]/methods[0] in :{   "spec":[     {       "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"]}},     {       "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"]}}}],   "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:<[POS]T> but was:<[GE]T>

Stack Trace:
org.junit.ComparisonFailure: incorrect value for path /spec[1]/methods[0] in :{
  "spec":[
    {
      "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"]}},
    {
      "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"]}}}],
  "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:<[POS]T> but was:<[GE]T>
        at __randomizedtesting.SeedInfo.seed([6A54F378C518C946:7D22395FC3CC257B]: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:566)
        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:834)


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

Error Message:
incorrect value for path /spec[1]/methods[0] in :{   "spec":[     {       "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"]}},     {       "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

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

y.",
   [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]    >   "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:<[POS]T> but was:<[GE]T>
   [junit4]    > at __randomizedtesting.SeedInfo.seed([6A54F378C518C946:7D22395FC3CC257B]: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:566)
   [junit4]    > at java.base/java.lang.Thread.run(Thread.java:834)
   [junit4]   2> 20075 INFO  (TEST-TestApiFramework.testTrailingTemplatePaths-seed#[6A54F378C518C946]) [     ] o.a.s.SolrTestCaseJ4 ###Starting testTrailingTemplatePaths
   [junit4]   2> 20077 INFO  (TEST-TestApiFramework.testTrailingTemplatePaths-seed#[6A54F378C518C946]) [     ] o.a.s.SolrTestCaseJ4 ###Ending testTrailingTemplatePaths
   [junit4] OK      0.01s J0 | TestApiFramework.testTrailingTemplatePaths
   [junit4]   2> NOTE: leaving temporary files on disk at: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-core\test\J0\temp\solr.handler.admin.TestApiFramework_6A54F378C518C946-003
   [junit4]   2> NOTE: test params are: codec=Asserting(Lucene80): {}, docValues:{}, maxPointsInLeafNode=1389, maxMBSortInHeap=6.071361978035154, sim=Asserting(org.apache.lucene.search.similarities.AssertingSimilarity@74d6f9ef), locale=lag-TZ, timezone=America/Jamaica
   [junit4]   2> NOTE: Windows 10 10.0 amd64/AdoptOpenJDK 11.0.3 (64-bit)/cpus=3,threads=1,free=88456992,total=228589568
   [junit4]   2> NOTE: All tests run in this JVM: [TestApiFramework, TestApiFramework, TestApiFramework]
   [junit4] Completed [5/5 (5!)] on J0 in 0.84s, 2 tests, 1 failure <<< FAILURES!
   [junit4]
   [junit4]
   [junit4] Tests with failures [seed: 6A54F378C518C946]:
   [junit4]   - org.apache.solr.handler.admin.TestApiFramework.testFramework
   [junit4]   - org.apache.solr.handler.admin.TestApiFramework.testFramework
   [junit4]   - org.apache.solr.handler.admin.TestApiFramework.testFramework
   [junit4]   - org.apache.solr.handler.admin.TestApiFramework.testFramework
   [junit4]   - org.apache.solr.handler.admin.TestApiFramework.testFramework
   [junit4]
   [junit4]
   [junit4] JVM J0:     1.32 ..    21.40 =    20.08s
   [junit4] JVM J1:     1.21 ..    20.61 =    19.40s
   [junit4] Execution time total: 21 seconds
   [junit4] Tests summary: 5 suites, 10 tests, 5 failures

BUILD FAILED
C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\lucene\common-build.xml:1492: The following error occurred while executing this line:
C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\lucene\common-build.xml:1019: There were test failures: 5 suites, 10 tests, 5 failures [seed: 6A54F378C518C946]

Total time: 24 seconds

[repro] Setting last failure code to 1

[repro] Failures:
[repro]   5/5 failed: org.apache.solr.handler.admin.TestApiFramework
[repro] Exiting with code 1

C:\Users\jenkins\workspace\Lucene-Solr-master-Windows>IF EXIST lucene\build move /y lucene\build lucene\build.repro
        1 dir(s) moved.

C:\Users\jenkins\workspace\Lucene-Solr-master-Windows>IF EXIST solr\build move /y solr\build solr\build.repro
        1 dir(s) moved.

C:\Users\jenkins\workspace\Lucene-Solr-master-Windows>IF EXIST lucene\build.orig move /y lucene\build.orig lucene\build
        1 dir(s) moved.

C:\Users\jenkins\workspace\Lucene-Solr-master-Windows>IF EXIST solr\build.orig move /y solr\build.orig solr\build
        1 dir(s) moved.

C:\Users\jenkins\workspace\Lucene-Solr-master-Windows>exit 0
Archiving artifacts
Setting ANT_1_8_2_HOME=C:\Users\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=C:\Users\jenkins\tools\hudson.tasks.Ant_AntInstallation\ANT_1.8.2
No credentials specified
Setting ANT_1_8_2_HOME=C:\Users\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=0ad8c1f30226adedb3ed64118961e7fbf86d8c98, workspace=C:\Users\jenkins\workspace\Lucene-Solr-master-Windows
[WARNINGS] Computing warning deltas based on reference build #8108
Recording test results
Setting ANT_1_8_2_HOME=C:\Users\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=C:\Users\jenkins\tools\hudson.tasks.Ant_AntInstallation\ANT_1.8.2
Setting ANT_1_8_2_HOME=C:\Users\jenkins\tools\hudson.tasks.Ant_AntInstallation\ANT_1.8.2
Setting ANT_1_8_2_HOME=C:\Users\jenkins\tools\hudson.tasks.Ant_AntInstallation\ANT_1.8.2
Setting ANT_1_8_2_HOME=C:\Users\jenkins\tools\hudson.tasks.Ant_AntInstallation\ANT_1.8.2
Setting ANT_1_8_2_HOME=C:\Users\jenkins\tools\hudson.tasks.Ant_AntInstallation\ANT_1.8.2
Setting ANT_1_8_2_HOME=C:\Users\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-Windows (64bit/jdk-13-rc) - Build # 8110 - Still Unstable!

Policeman Jenkins Server-2
Build: https://jenkins.thetaphi.de/job/Lucene-Solr-master-Windows/8110/
Java: 64bit/jdk-13-rc -XX:+UseCompressedOops -XX:+UseParallelGC

5 tests failed.
FAILED:  junit.framework.TestSuite.org.apache.solr.client.solrj.io.stream.StreamExpressionTest

Error Message:
Could not remove the following files (in the order of attempts):    C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node1\userfiles\directory1\secondLevel2.txt: java.nio.file.FileSystemException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node1\userfiles\directory1\secondLevel2.txt: The process cannot access the file because it is being used by another process.     C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node1\userfiles\directory1: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node1\userfiles\directory1    C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node1\userfiles: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node1\userfiles    C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node1: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node1    C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001    C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001

Stack Trace:
java.io.IOException: Could not remove the following files (in the order of attempts):
   C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node1\userfiles\directory1\secondLevel2.txt: java.nio.file.FileSystemException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node1\userfiles\directory1\secondLevel2.txt: The process cannot access the file because it is being used by another process.

   C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node1\userfiles\directory1: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node1\userfiles\directory1
   C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node1\userfiles: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node1\userfiles
   C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node1: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node1
   C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001
   C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001

        at __randomizedtesting.SeedInfo.seed([6C2E3A38BA2CBE90]:0)
        at org.apache.lucene.util.IOUtils.rm(IOUtils.java:319)
        at org.apache.lucene.util.TestRuleTemporaryFilesCleanup.afterAlways(TestRuleTemporaryFilesCleanup.java:216)
        at com.carrotsearch.randomizedtesting.rules.TestRuleAdapter$1.afterAlways(TestRuleAdapter.java:31)
        at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:43)
        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:830)


FAILED:  junit.framework.TestSuite.org.apache.solr.client.solrj.io.stream.StreamExpressionTest

Error Message:
Could not remove the following files (in the order of attempts):    C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001\node1\userfiles\directory1\secondLevel2.txt: java.nio.file.FileSystemException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001\node1\userfiles\directory1\secondLevel2.txt: The process cannot access the file because it is being used by another process.     C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001\node1\userfiles\directory1: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001\node1\userfiles\directory1    C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001\node1\userfiles: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001\node1\userfiles    C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001\node1: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001\node1    C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001    C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002

Stack Trace:
java.io.IOException: Could not remove the following files (in the order of attempts):
   C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001\node1\userfiles\directory1\secondLevel2.txt: java.nio.file.FileSystemException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001\node1\userfiles\directory1\secondLevel2.txt: The process cannot access the file because it is being used by another process.

   C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001\node1\userfiles\directory1: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001\node1\userfiles\directory1
   C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001\node1\userfiles: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001\node1\userfiles
   C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001\node1: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001\node1
   C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001
   C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002

        at __randomizedtesting.SeedInfo.seed([6C2E3A38BA2CBE90]:0)
        at org.apache.lucene.util.IOUtils.rm(IOUtils.java:319)
        at org.apache.lucene.util.TestRuleTemporaryFilesCleanup.afterAlways(TestRuleTemporaryFilesCleanup.java:216)
        at com.carrotsearch.randomizedtesting.rules.TestRuleAdapter$1.afterAlways(TestRuleAdapter.java:31)
        at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:43)
        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:830)


FAILED:  junit.framework.TestSuite.org.apache.solr.client.solrj.io.stream.StreamExpressionTest

Error Message:
Could not remove the following files (in the order of attempts):    C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001\node1\userfiles\directory1\secondLevel2.txt: java.nio.file.FileSystemException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001\node1\userfiles\directory1\secondLevel2.txt: The process cannot access the file because it is being used by another process.     C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001\node1\userfiles\directory1: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001\node1\userfiles\directory1    C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001\node1\userfiles: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001\node1\userfiles    C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001\node1: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001\node1    C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001    C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002

Stack Trace:
java.io.IOException: Could not remove the following files (in the order of attempts):
   C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001\node1\userfiles\directory1\secondLevel2.txt: java.nio.file.FileSystemException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001\node1\userfiles\directory1\secondLevel2.txt: The process cannot access the file because it is being used by another process.

   C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001\node1\userfiles\directory1: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001\node1\userfiles\directory1
   C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001\node1\userfiles: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001\node1\userfiles
   C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001\node1: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001\node1
   C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002\tempDir-001
   C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J0\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-002

        at __randomizedtesting.SeedInfo.seed([6C2E3A38BA2CBE90]:0)
        at org.apache.lucene.util.IOUtils.rm(IOUtils.java:319)
        at org.apache.lucene.util.TestRuleTemporaryFilesCleanup.afterAlways(TestRuleTemporaryFilesCleanup.java:216)
        at com.carrotsearch.randomizedtesting.rules.TestRuleAdapter$1.afterAlways(TestRuleAdapter.java:31)
        at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:43)
        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:830)


FAILED:  junit.framework.TestSuite.org.apache.solr.client.solrj.io.stream.StreamExpressionTest

Error Message:
Could not remove the following files (in the order of attempts):    C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-003\tempDir-001\node3\userfiles\directory1\secondLevel2.txt: java.nio.file.FileSystemException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-003\tempDir-001\node3\userfiles\directory1\secondLevel2.txt: The process cannot access the file because it is being used by another process.     C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-003\tempDir-001\node3\userfiles\directory1: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-003\tempDir-001\node3\userfiles\directory1    C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-003\tempDir-001\node3\userfiles: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-003\tempDir-001\node3\userfiles    C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-003\tempDir-001\node3: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-003\tempDir-001\node3    C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-003\tempDir-001: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-003\tempDir-001    C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-003: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-003

Stack Trace:
java.io.IOException: Could not remove the following files (in the order of attempts):
   C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-003\tempDir-001\node3\userfiles\directory1\secondLevel2.txt: java.nio.file.FileSystemException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-003\tempDir-001\node3\userfiles\directory1\secondLevel2.txt: The process cannot access the file because it is being used by another process.

   C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-003\tempDir-001\node3\userfiles\directory1: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-003\tempDir-001\node3\userfiles\directory1
   C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-003\tempDir-001\node3\userfiles: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-003\tempDir-001\node3\userfiles
   C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-003\tempDir-001\node3: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-003\tempDir-001\node3
   C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-003\tempDir-001: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-003\tempDir-001
   C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-003: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-003

        at __randomizedtesting.SeedInfo.seed([6C2E3A38BA2CBE90]:0)
        at org.apache.lucene.util.IOUtils.rm(IOUtils.java:319)
        at org.apache.lucene.util.TestRuleTemporaryFilesCleanup.afterAlways(TestRuleTemporaryFilesCleanup.java:216)
        at com.carrotsearch.randomizedtesting.rules.TestRuleAdapter$1.afterAlways(TestRuleAdapter.java:31)
        at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:43)
        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:830)


FAILED:  junit.framework.TestSuite.org.apache.solr.client.solrj.io.stream.StreamExpressionTest

Error Message:
Could not remove the following files (in the order of attempts):    C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node4\userfiles\directory1\secondLevel2.txt: java.nio.file.FileSystemException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node4\userfiles\directory1\secondLevel2.txt: The process cannot access the file because it is being used by another process.     C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node4\userfiles\directory1: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node4\userfiles\directory1    C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node4\userfiles: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node4\userfiles    C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node4: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node4    C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001    C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001

Stack Trace:
java.io.IOException: Could not remove the following files (in the order of attempts):
   C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node4\userfiles\directory1\secondLevel2.txt: java.nio.file.FileSystemException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node4\userfiles\directory1\secondLevel2.txt: The process cannot access the file because it is being used by another process.

   C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node4\userfiles\directory1: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node4\userfiles\directory1
   C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node4\userfiles: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node4\userfiles
   C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node4: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node4
   C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001
   C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001

        at __randomizedtesting.SeedInfo.seed([6C2E3A38BA2CBE90]:0)
        at org.apache.lucene.util.IOUtils.rm(IOUtils.java:319)
        at org.apache.lucene.util.TestRuleTemporaryFilesCleanup.afterAlways(TestRuleTemporaryFilesCleanup.java:216)
        at com.carrotsearch.randomizedtesting.rules.TestRuleAdapter$1.afterAlways(TestRuleAdapter.java:31)
        at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:43)
        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:830)




Build Log:
[...truncated 16757 lines...]
   [junit4] Suite: org.apache.solr.client.solrj.io.stream.StreamExpressionTest
   [junit4]   2> 413765 INFO  (SUITE-StreamExpressionTest-seed#[6C2E3A38BA2CBE90]-worker) [     ] o.a.s.SolrTestCaseJ4 SecureRandom sanity checks: test.solr.allowed.securerandom=null & java.security.egd=file:/dev/./urandom
   [junit4]   2> 413768 INFO  (SUITE-StreamExpressionTest-seed#[6C2E3A38BA2CBE90]-worker) [     ] o.a.s.SolrTestCaseJ4 Created dataDir: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\data-dir-56-001
   [junit4]   2> 413768 WARN  (SUITE-StreamExpressionTest-seed#[6C2E3A38BA2CBE90]-worker) [     ] o.a.s.SolrTestCaseJ4 startTrackingSearchers: numOpens=4 numCloses=4
   [junit4]   2> 413768 INFO  (SUITE-StreamExpressionTest-seed#[6C2E3A38BA2CBE90]-worker) [     ] o.a.s.SolrTestCaseJ4 Using TrieFields (NUMERIC_POINTS_SYSPROP=false) w/NUMERIC_DOCVALUES_SYSPROP=false
   [junit4]   2> 413770 INFO  (SUITE-StreamExpressionTest-seed#[6C2E3A38BA2CBE90]-worker) [     ] o.a.s.SolrTestCaseJ4 Randomized ssl (false) and clientAuth (false) via: @org.apache.solr.SolrTestCaseJ4$SuppressSSL(bugUrl="None")
   [junit4]   2> 413772 INFO  (SUITE-StreamExpressionTest-seed#[6C2E3A38BA2CBE90]-worker) [     ] o.a.s.c.MiniSolrCloudCluster Starting cluster of 4 servers in C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001
   [junit4]   2> 413772 INFO  (SUITE-StreamExpressionTest-seed#[6C2E3A38BA2CBE90]-worker) [     ] o.a.s.c.ZkTestServer STARTING ZK TEST SERVER
   [junit4]   2> 413782 INFO  (ZkTestServer Run Thread) [     ] o.a.s.c.ZkTestServer client port:0.0.0.0/0.0.0.0:0
   [junit4]   2> 413782 INFO  (ZkTestServer Run Thread) [     ] o.a.s.c.ZkTestServer Starting server
   [junit4]   2> 413882 INFO  (SUITE-StreamExpressionTest-seed#[6C2E3A38BA2CBE90]-worker) [     ] o.a.s.c.ZkTestServer start zk server on port:55567
   [junit4]   2> 413882 INFO  (SUITE-StreamExpressionTest-seed#[6C2E3A38BA2CBE90]-worker) [     ] o.a.s.c.ZkTestServer waitForServerUp: 127.0.0.1:55567
   [junit4]   2> 413882 INFO  (SUITE-StreamExpressionTest-seed#[6C2E3A38BA2CBE90]-worker) [     ] o.a.s.c.ZkTestServer parse host and port list: 127.0.0.1:55567
   [junit4]   2> 413882 INFO  (SUITE-StreamExpressionTest-seed#[6C2E3A38BA2CBE90]-worker) [     ] o.a.s.c.ZkTestServer connecting to 127.0.0.1 55567
   [junit4]   2> 413887 INFO  (SUITE-StreamExpressionTest-seed#[6C2E3A38BA2CBE90]-worker) [     ] o.a.s.c.c.ConnectionManager Waiting for client to connect to ZooKeeper
   [junit4]   2> 413907 INFO  (zkConnectionManagerCallback-3068-thread-1) [     ] o.a.s.c.c.ConnectionManager zkClient has connected
   [junit4]   2> 413907 INFO  (SUITE-StreamExpressionTest-seed#[6C2E3A38BA2CBE90]-worker) [     ] o.a.s.c.c.ConnectionManager Client is connected to ZooKeeper
   [junit4]   2> 413918 INFO  (SUITE-StreamExpressionTest-seed#[6C2E3A38BA2CBE90]-worker) [     ] o.a.s.c.c.ConnectionManager Waiting for client to connect to ZooKeeper
   [junit4]   2> 413929 INFO  (zkConnectionManagerCallback-3070-thread-1) [     ] o.a.s.c.c.ConnectionManager zkClient has connected
   [junit4]   2> 413930 INFO  (SUITE-StreamExpressionTest-seed#[6C2E3A38BA2CBE90]-worker) [     ] o.a.s.c.c.ConnectionManager Client is connected to ZooKeeper
   [junit4]   2> 413932 INFO  (SUITE-StreamExpressionTest-seed#[6C2E3A38BA2CBE90]-worker) [     ] o.a.s.c.c.ConnectionManager Waiting for client to connect to ZooKeeper
   [junit4]   2> 413941 INFO  (zkConnectionManagerCallback-3072-thread-1) [     ] o.a.s.c.c.ConnectionManager zkClient has connected
   [junit4]   2> 413943 INFO  (SUITE-StreamExpressionTest-seed#[6C2E3A38BA2CBE90]-worker) [     ] o.a.s.c.c.ConnectionManager Client is connected to ZooKeeper
   [junit4]   2> 414080 WARN  (jetty-launcher-3073-thread-1) [     ] o.e.j.s.AbstractConnector Ignoring deprecated socket close linger time
   [junit4]   2> 414080 WARN  (jetty-launcher-3073-thread-3) [     ] o.e.j.s.AbstractConnector Ignoring deprecated socket close linger time
   [junit4]   2> 414080 INFO  (jetty-launcher-3073-thread-1) [     ] o.a.s.c.s.e.JettySolrRunner Start Jetty (original configured port=0)
   [junit4]   2> 414080 INFO  (jetty-launcher-3073-thread-3) [     ] o.a.s.c.s.e.JettySolrRunner Start Jetty (original configured port=0)
   [junit4]   2> 414080 INFO  (jetty-launcher-3073-thread-1) [     ] o.a.s.c.s.e.JettySolrRunner Trying to start Jetty on port 0 try number 1 ...
   [junit4]   2> 414080 INFO  (jetty-launcher-3073-thread-3) [     ] o.a.s.c.s.e.JettySolrRunner Trying to start Jetty on port 0 try number 1 ...
   [junit4]   2> 414080 INFO  (jetty-launcher-3073-thread-1) [     ] o.e.j.s.Server jetty-9.4.19.v20190610; built: 2019-06-10T16:30:51.723Z; git: afcf563148970e98786327af5e07c261fda175d3; jvm 13+33
   [junit4]   2> 414080 INFO  (jetty-launcher-3073-thread-3) [     ] o.e.j.s.Server jetty-9.4.19.v20190610; built: 2019-06-10T16:30:51.723Z; git: afcf563148970e98786327af5e07c261fda175d3; jvm 13+33
   [junit4]   2> 414081 INFO  (jetty-launcher-3073-thread-3) [     ] o.e.j.s.session DefaultSessionIdManager workerName=node0
   [junit4]   2> 414081 INFO  (jetty-launcher-3073-thread-3) [     ] o.e.j.s.session No SessionScavenger set, using defaults
   [junit4]   2> 414081 INFO  (jetty-launcher-3073-thread-3) [     ] o.e.j.s.session node0 Scavenging every 660000ms
   [junit4]   2> 414081 INFO  (jetty-launcher-3073-thread-1) [     ] o.e.j.s.session DefaultSessionIdManager workerName=node0
   [junit4]   2> 414081 INFO  (jetty-launcher-3073-thread-1) [     ] o.e.j.s.session No SessionScavenger set, using defaults
   [junit4]   2> 414082 INFO  (jetty-launcher-3073-thread-1) [     ] o.e.j.s.session node0 Scavenging every 660000ms
   [junit4]   2> 414082 INFO  (jetty-launcher-3073-thread-1) [     ] o.e.j.s.h.ContextHandler Started o.e.j.s.ServletContextHandler@25e325cc{/solr,null,AVAILABLE}
   [junit4]   2> 414084 INFO  (jetty-launcher-3073-thread-3) [     ] o.e.j.s.h.ContextHandler Started o.e.j.s.ServletContextHandler@591d11da{/solr,null,AVAILABLE}
   [junit4]   2> 414084 WARN  (jetty-launcher-3073-thread-2) [     ] o.e.j.s.AbstractConnector Ignoring deprecated socket close linger time
   [junit4]   2> 414087 WARN  (jetty-launcher-3073-thread-4) [     ] o.e.j.s.AbstractConnector Ignoring deprecated socket close linger time
   [junit4]   2> 414087 INFO  (jetty-launcher-3073-thread-2) [     ] o.a.s.c.s.e.JettySolrRunner Start Jetty (original configured port=0)
   [junit4]   2> 414087 INFO  (jetty-launcher-3073-thread-2) [     ] o.a.s.c.s.e.JettySolrRunner Trying to start Jetty on port 0 try number 1 ...
   [junit4]   2> 414087 INFO  (jetty-launcher-3073-thread-2) [     ] o.e.j.s.Server jetty-9.4.19.v20190610; built: 2019-06-10T16:30:51.723Z; git: afcf563148970e98786327af5e07c261fda175d3; jvm 13+33
   [junit4]   2> 414087 INFO  (jetty-launcher-3073-thread-4) [     ] o.a.s.c.s.e.JettySolrRunner Start Jetty (original configured port=0)
   [junit4]   2> 414087 INFO  (jetty-launcher-3073-thread-4) [     ] o.a.s.c.s.e.JettySolrRunner Trying to start Jetty on port 0 try number 1 ...
   [junit4]   2> 414087 INFO  (jetty-launcher-3073-thread-4) [     ] o.e.j.s.Server jetty-9.4.19.v20190610; built: 2019-06-10T16:30:51.723Z; git: afcf563148970e98786327af5e07c261fda175d3; jvm 13+33
   [junit4]   2> 414089 INFO  (jetty-launcher-3073-thread-4) [     ] o.e.j.s.session DefaultSessionIdManager workerName=node0
   [junit4]   2> 414089 INFO  (jetty-launcher-3073-thread-4) [     ] o.e.j.s.session No SessionScavenger set, using defaults
   [junit4]   2> 414089 INFO  (jetty-launcher-3073-thread-4) [     ] o.e.j.s.session node0 Scavenging every 660000ms
   [junit4]   2> 414089 INFO  (jetty-launcher-3073-thread-2) [     ] o.e.j.s.session DefaultSessionIdManager workerName=node0
   [junit4]   2> 414089 INFO  (jetty-launcher-3073-thread-2) [     ] o.e.j.s.session No SessionScavenger set, using defaults
   [junit4]   2> 414089 INFO  (jetty-launcher-3073-thread-2) [     ] o.e.j.s.session node0 Scavenging every 660000ms
   [junit4]   2> 414089 INFO  (jetty-launcher-3073-thread-2) [     ] o.e.j.s.h.ContextHandler Started o.e.j.s.ServletContextHandler@3e7d6ea7{/solr,null,AVAILABLE}
   [junit4]   2> 414089 INFO  (jetty-launcher-3073-thread-4) [     ] o.e.j.s.h.ContextHandler Started o.e.j.s.ServletContextHandler@7539c87f{/solr,null,AVAILABLE}
   [junit4]   2> 414092 INFO  (jetty-launcher-3073-thread-3) [     ] o.e.j.s.AbstractConnector Started ServerConnector@23d34619{HTTP/1.1,[http/1.1, h2c]}{127.0.0.1:55583}
   [junit4]   2> 414092 INFO  (jetty-launcher-3073-thread-3) [     ] o.e.j.s.Server Started @433433ms
   [junit4]   2> 414092 INFO  (jetty-launcher-3073-thread-3) [     ] o.a.s.c.s.e.JettySolrRunner Jetty properties: {hostContext=/solr, hostPort=55583}
   [junit4]   2> 414092 ERROR (jetty-launcher-3073-thread-3) [     ] o.a.s.u.StartupLoggingUtils Missing Java Option solr.log.dir. Logging may be missing or incomplete.
   [junit4]   2> 414092 INFO  (jetty-launcher-3073-thread-3) [     ] o.a.s.s.SolrDispatchFilter Using logger factory org.apache.logging.slf4j.Log4jLoggerFactory
   [junit4]   2> 414092 INFO  (jetty-launcher-3073-thread-3) [     ] o.a.s.s.SolrDispatchFilter  ___      _       Welcome to Apache Solr™ version 9.0.0
   [junit4]   2> 414093 INFO  (jetty-launcher-3073-thread-3) [     ] o.a.s.s.SolrDispatchFilter / __| ___| |_ _   Starting in cloud mode on port null
   [junit4]   2> 414093 INFO  (jetty-launcher-3073-thread-3) [     ] o.a.s.s.SolrDispatchFilter \__ \/ _ \ | '_|  Install dir: null
   [junit4]   2> 414093 INFO  (jetty-launcher-3073-thread-3) [     ] o.a.s.s.SolrDispatchFilter |___/\___/_|_|    Start time: 2019-08-26T18:07:00.028623800Z
   [junit4]   2> 414094 INFO  (jetty-launcher-3073-thread-1) [     ] o.e.j.s.AbstractConnector Started ServerConnector@7a72d261{HTTP/1.1,[http/1.1, h2c]}{127.0.0.1:55580}
   [junit4]   2> 414094 INFO  (jetty-launcher-3073-thread-1) [     ] o.e.j.s.Server Started @433435ms
   [junit4]   2> 414094 INFO  (jetty-launcher-3073-thread-1) [     ] o.a.s.c.s.e.JettySolrRunner Jetty properties: {hostContext=/solr, hostPort=55580}
   [junit4]   2> 414095 ERROR (jetty-launcher-3073-thread-1) [     ] o.a.s.u.StartupLoggingUtils Missing Java Option solr.log.dir. Logging may be missing or incomplete.
   [junit4]   2> 414095 INFO  (jetty-launcher-3073-thread-1) [     ] o.a.s.s.SolrDispatchFilter Using logger factory org.apache.logging.slf4j.Log4jLoggerFactory
   [junit4]   2> 414095 INFO  (jetty-launcher-3073-thread-1) [     ] o.a.s.s.SolrDispatchFilter  ___      _       Welcome to Apache Solr™ version 9.0.0
   [junit4]   2> 414095 INFO  (jetty-launcher-3073-thread-3) [     ] o.a.s.c.c.ConnectionManager Waiting for client to connect to ZooKeeper
   [junit4]   2> 414095 INFO  (jetty-launcher-3073-thread-1) [     ] o.a.s.s.SolrDispatchFilter / __| ___| |_ _   Starting in cloud mode on port null
   [junit4]   2> 414095 INFO  (jetty-launcher-3073-thread-1) [     ] o.a.s.s.SolrDispatchFilter \__ \/ _ \ | '_|  Install dir: null
   [junit4]   2> 414095 INFO  (jetty-launcher-3073-thread-1) [     ] o.a.s.s.SolrDispatchFilter |___/\___/_|_|    Start time: 2019-08-26T18:07:00.030928300Z
   [junit4]   2> 414098 INFO  (jetty-launcher-3073-thread-1) [     ] o.a.s.c.c.ConnectionManager Waiting for client to connect to ZooKeeper
   [junit4]   2> 414099 INFO  (jetty-launcher-3073-thread-4) [     ] o.e.j.s.AbstractConnector Started ServerConnector@299bbb6b{HTTP/1.1,[http/1.1, h2c]}{127.0.0.1:55586}
   [junit4]   2> 414099 INFO  (jetty-launcher-3073-thread-4) [     ] o.e.j.s.Server Started @433440ms
   [junit4]   2> 414099 INFO  (jetty-launcher-3073-thread-4) [     ] o.a.s.c.s.e.JettySolrRunner Jetty properties: {hostContext=/solr, hostPort=55586}
   [junit4]   2> 414100 INFO  (jetty-launcher-3073-thread-2) [     ] o.e.j.s.AbstractConnector Started ServerConnector@755e042{HTTP/1.1,[http/1.1, h2c]}{127.0.0.1:55587}
   [junit4]   2> 414100 ERROR (jetty-launcher-3073-thread-4) [     ] o.a.s.u.StartupLoggingUtils Missing Java Option solr.log.dir. Logging may be missing or incomplete.
   [junit4]   2> 414100 INFO  (jetty-launcher-3073-thread-4) [     ] o.a.s.s.SolrDispatchFilter Using logger factory org.apache.logging.slf4j.Log4jLoggerFactory
   [junit4]   2> 414100 INFO  (jetty-launcher-3073-thread-2) [     ] o.e.j.s.Server Started @433440ms
   [junit4]   2> 414100 INFO  (jetty-launcher-3073-thread-4) [     ] o.a.s.s.SolrDispatchFilter  ___      _       Welcome to Apache Solr™ version 9.0.0
   [junit4]   2> 414100 INFO  (jetty-launcher-3073-thread-4) [     ] o.a.s.s.SolrDispatchFilter / __| ___| |_ _   Starting in cloud mode on port null
   [junit4]   2> 414100 INFO  (jetty-launcher-3073-thread-4) [     ] o.a.s.s.SolrDispatchFilter \__ \/ _ \ | '_|  Install dir: null
   [junit4]   2> 414100 INFO  (jetty-launcher-3073-thread-2) [     ] o.a.s.c.s.e.JettySolrRunner Jetty properties: {hostContext=/solr, hostPort=55587}
   [junit4]   2> 414100 INFO  (jetty-launcher-3073-thread-4) [     ] o.a.s.s.SolrDispatchFilter |___/\___/_|_|    Start time: 2019-08-26T18:07:00.035231400Z
   [junit4]   2> 414100 ERROR (jetty-launcher-3073-thread-2) [     ] o.a.s.u.StartupLoggingUtils Missing Java Option solr.log.dir. Logging may be missing or incomplete.
   [junit4]   2> 414100 INFO  (jetty-launcher-3073-thread-2) [     ] o.a.s.s.SolrDispatchFilter Using logger factory org.apache.logging.slf4j.Log4jLoggerFactory
   [junit4]   2> 414100 INFO  (jetty-launcher-3073-thread-2) [     ] o.a.s.s.SolrDispatchFilter  ___      _       Welcome to Apache Solr™ version 9.0.0
   [junit4]   2> 414100 INFO  (jetty-launcher-3073-thread-2) [     ] o.a.s.s.SolrDispatchFilter / __| ___| |_ _   Starting in cloud mode on port null
   [junit4]   2> 414100 INFO  (jetty-launcher-3073-thread-2) [     ] o.a.s.s.SolrDispatchFilter \__ \/ _ \ | '_|  Install dir: null
   [junit4]   2> 414101 INFO  (jetty-launcher-3073-thread-2) [     ] o.a.s.s.SolrDispatchFilter |___/\___/_|_|    Start time: 2019-08-26T18:07:00.035231400Z
   [junit4]   2> 414103 INFO  (jetty-launcher-3073-thread-4) [     ] o.a.s.c.c.ConnectionManager Waiting for client to connect to ZooKeeper
   [junit4]   2> 414103 INFO  (jetty-launcher-3073-thread-2) [     ] o.a.s.c.c.ConnectionManager Waiting for client to connect to ZooKeeper
   [junit4]   2> 414113 INFO  (zkConnectionManagerCallback-3077-thread-1) [     ] o.a.s.c.c.ConnectionManager zkClient has connected
   [junit4]   2> 414113 INFO  (jetty-launcher-3073-thread-1) [     ] o.a.s.c.c.ConnectionManager Client is connected to ZooKeeper
   [junit4]   2> 414113 INFO  (zkConnectionManagerCallback-3075-thread-1) [     ] o.a.s.c.c.ConnectionManager zkClient has connected
   [junit4]   2> 414114 INFO  (jetty-launcher-3073-thread-3) [     ] o.a.s.c.c.ConnectionManager Client is connected to ZooKeeper
   [junit4]   2> 414115 INFO  (jetty-launcher-3073-thread-1) [     ] o.a.s.s.SolrDispatchFilter solr.xml found in ZooKeeper. Loading...
   [junit4]   2> 414115 INFO  (jetty-launcher-3073-thread-3) [     ] o.a.s.s.SolrDispatchFilter solr.xml found in ZooKeeper. Loading...
   [junit4]   2> 414123 INFO  (zkConnectionManagerCallback-3079-thread-1) [     ] o.a.s.c.c.ConnectionManager zkClient has connected
   [junit4]   2> 414123 INFO  (jetty-launcher-3073-thread-4) [     ] o.a.s.c.c.ConnectionManager Client is connected to ZooKeeper
   [junit4]   2> 414124 INFO  (zkConnectionManagerCallback-3081-thread-1) [     ] o.a.s.c.c.ConnectionManager zkClient has connected
   [junit4]   2> 414125 INFO  (jetty-launcher-3073-thread-2) [     ] o.a.s.c.c.ConnectionManager Client is connected to ZooKeeper
   [junit4]   2> 414233 INFO  (jetty-launcher-3073-thread-2) [     ] o.a.s.s.SolrDispatchFilter solr.xml found in ZooKeeper. Loading...
   [junit4]   2> 414233 INFO  (jetty-launcher-3073-thread-4) [     ] o.a.s.s.SolrDispatchFilter solr.xml found in ZooKeeper. Loading...
   [junit4]   2> 414313 INFO  (jetty-launcher-3073-thread-1) [     ] o.a.s.h.c.HttpShardHandlerFactory Host whitelist initialized: WhitelistHostChecker [whitelistHosts=null, whitelistHostCheckingEnabled=true]
   [junit4]   2> 414315 WARN  (jetty-launcher-3073-thread-1) [     ] o.e.j.u.s.S.config Trusting all certificates configured for Client@4482140d[provider=null,keyStore=null,trustStore=null]
   [junit4]   2> 414316 WARN  (jetty-launcher-3073-thread-1) [     ] o.e.j.u.s.S.config No Client EndPointIdentificationAlgorithm configured for Client@4482140d[provider=null,keyStore=null,trustStore=null]
   [junit4]   2> 414322 WARN  (jetty-launcher-3073-thread-1) [     ] o.e.j.u.s.S.config Trusting all certificates configured for Client@68851a07[provider=null,keyStore=null,trustStore=null]
   [junit4]   2> 414322 WARN  (jetty-launcher-3073-thread-1) [     ] o.e.j.u.s.S.config No Client EndPointIdentificationAlgorithm configured for Client@68851a07[provider=null,keyStore=null,trustStore=null]
   [junit4]   2> 414324 INFO  (jetty-launcher-3073-thread-1) [     ] o.a.s.c.ZkContainer Zookeeper client=127.0.0.1:55567/solr
   [junit4]   2> 414325 INFO  (jetty-launcher-3073-thread-1) [     ] o.a.s.c.c.ConnectionManager Waiting for client to connect to ZooKeeper
   [junit4]   2> 414329 INFO  (zkConnectionManagerCallback-3088-thread-1) [     ] o.a.s.c.c.ConnectionManager zkClient has connected
   [junit4]   2> 414329 INFO  (jetty-launcher-3073-thread-1) [     ] o.a.s.c.c.ConnectionManager Client is connected to ZooKeeper
   [junit4]   2> 414398 INFO  (jetty-launcher-3073-thread-3) [     ] o.a.s.h.c.HttpShardHandlerFactory Host whitelist initialized: WhitelistHostChecker [whitelistHosts=null, whitelistHostCheckingEnabled=true]
   [junit4]   2> 414399 WARN  (jetty-launcher-3073-thread-3) [     ] o.e.j.u.s.S.config Trusting all certificates configured for Client@402423c4[provider=null,keyStore=null,trustStore=null]
   [junit4]   2> 414399 WARN  (jetty-launcher-3073-thread-3) [     ] o.e.j.u.s.S.config No Client EndPointIdentificationAlgorithm configured for Client@402423c4[provider=null,keyStore=null,trustStore=null]
   [junit4]   2> 414403 WARN  (jetty-launcher-3073-thread-3) [     ] o.e.j.u.s.S.config Trusting all certificates configured for Client@2d94ed70[provider=null,keyStore=null,trustStore=null]
   [junit4]   2> 414403 WARN  (jetty-launcher-3073-thread-3) [     ] o.e.j.u.s.S.config No Client EndPointIdentificationAlgorithm configured for Client@2d94ed70[provider=null,keyStore=null,trustStore=null]
   [junit4]   2> 414403 INFO  (jetty-launcher-3073-thread-3) [     ] o.a.s.c.ZkContainer Zookeeper client=127.0.0.1:55567/solr
   [junit4]   2> 414408 INFO  (jetty-launcher-3073-thread-3) [     ] o.a.s.c.c.ConnectionManager Waiting for client to connect to ZooKeeper
   [junit4]   2> 414433 INFO  (zkConnectionManagerCallback-3096-thread-1) [     ] o.a.s.c.c.ConnectionManager zkClient has connected
   [junit4]   2> 414433 INFO  (jetty-launcher-3073-thread-3) [     ] o.a.s.c.c.ConnectionManager Client is connected to ZooKeeper
   [junit4]   2> 414476 INFO  (jetty-launcher-3073-thread-4) [     ] o.a.s.h.c.HttpShardHandlerFactory Host whitelist initialized: WhitelistHostChecker [whitelistHosts=null, whitelistHostCheckingEnabled=true]
   [junit4]   2> 414478 WARN  (jetty-launcher-3073-thread-4) [     ] o.e.j.u.s.S.config Trusting all certificates configured for Client@456a70a0[provider=null,keyStore=null,trustStore=null]
   [junit4]   2> 414478 WARN  (jetty-launcher-3073-thread-4) [     ] o.e.j.u.s.S.config No Client EndPointIdentificationAlgorithm configured for Client@456a70a0[provider=null,keyStore=null,trustStore=null]
   [junit4]   2> 414484 WARN  (jetty-launcher-3073-thread-4) [     ] o.e.j.u.s.S.config Trusting all certificates configured for Client@26d64c8e[provider=null,keyStore=null,trustStore=null]
   [junit4]   2> 414484 WARN  (jetty-launcher-3073-thread-4) [     ] o.e.j.u.s.S.config No Client EndPointIdentificationAlgorithm configured for Client@26d64c8e[provider=null,keyStore=null,trustStore=null]
   [junit4]   2> 414484 INFO  (jetty-launcher-3073-thread-4) [     ] o.a.s.c.ZkContainer Zookeeper client=127.0.0.1:55567/solr
   [junit4]   2> 414487 INFO  (jetty-launcher-3073-thread-4) [     ] o.a.s.c.c.ConnectionManager Waiting for client to connect to ZooKeeper
   [junit4]   2> 414496 INFO  (zkConnectionManagerCallback-3103-thread-1) [     ] o.a.s.c.c.ConnectionManager zkClient has connected
   [junit4]   2> 414497 INFO  (jetty-launcher-3073-thread-4) [     ] o.a.s.c.c.ConnectionManager Client is connected to ZooKeeper
   [junit4]   2> 414572 INFO  (jetty-launcher-3073-thread-1) [n:127.0.0.1:55580_solr     ] o.a.s.c.c.ConnectionManager Waiting for client to connect to ZooKeeper
   [junit4]   2> 414583 INFO  (zkConnectionManagerCallback-3105-thread-1) [     ] o.a.s.c.c.ConnectionManager zkClient has connected
   [junit4]   2> 414583 INFO  (jetty-launcher-3073-thread-1) [n:127.0.0.1:55580_solr     ] o.a.s.c.c.ConnectionManager Client is connected to ZooKeeper
   [junit4]   2> 414685 INFO  (jetty-launcher-3073-thread-3) [n:127.0.0.1:55583_solr     ] o.a.s.c.c.ConnectionManager Waiting for client to connect to ZooKeeper
   [junit4]   2> 414696 INFO  (zkConnectionManagerCallback-3107-thread-1) [     ] o.a.s.c.c.ConnectionManager zkClient has connected
   [junit4]   2> 414696 INFO  (jetty-launcher-3073-thread-3) [n:127.0.0.1:55583_solr     ] o.a.s.c.c.ConnectionManager Client is connected to ZooKeeper
   [junit4]   2> 414798 INFO  (jetty-launcher-3073-thread-4) [n:127.0.0.1:55586_solr     ] o.a.s.c.c.ConnectionManager Waiting for client to connect to ZooKeeper
   [junit4]   2> 414817 WARN  (jetty-launcher-3073-thread-1) [n:127.0.0.1:55580_solr     ] o.a.s.c.ZkController The _default configset could not be uploaded. Please provide 'solr.default.confdir' parameter that points to a configset intended to be the default. Current 'solr.default.confdir' value: null
   [junit4]   2> 414817 WARN  (jetty-launcher-3073-thread-3) [n:127.0.0.1:55583_solr     ] o.a.s.c.ZkController The _default configset could not be uploaded. Please provide 'solr.default.confdir' parameter that points to a configset intended to be the default. Current 'solr.default.confdir' value: null
   [junit4]   2> 414825 INFO  (jetty-launcher-3073-thread-3) [n:127.0.0.1:55583_solr     ] o.a.s.c.OverseerElectionContext I am going to be the leader 127.0.0.1:55583_solr
   [junit4]   2> 414826 INFO  (zkConnectionManagerCallback-3109-thread-1) [     ] o.a.s.c.c.ConnectionManager zkClient has connected
   [junit4]   2> 414826 INFO  (jetty-launcher-3073-thread-4) [n:127.0.0.1:55586_solr     ] o.a.s.c.c.ConnectionManager Client is connected to ZooKeeper
   [junit4]   2> 414826 INFO  (jetty-launcher-3073-thread-3) [n:127.0.0.1:55583_solr     ] o.a.s.c.Overseer Overseer (id=72120592227958795-127.0.0.1:55583_solr-n_0000000000) starting
   [junit4]   2> 414830 INFO  (jetty-launcher-3073-thread-1) [n:127.0.0.1:55580_solr     ] o.a.s.c.ZkController Register node as live in ZooKeeper:/live_nodes/127.0.0.1:55580_solr
   [junit4]   2> 414835 WARN  (jetty-launcher-3073-thread-4) [n:127.0.0.1:55586_solr     ] o.a.s.c.ZkController The _default configset could not be uploaded. Please provide 'solr.default.confdir' parameter that points to a configset intended to be the default. Current 'solr.default.confdir' value: null
   [junit4]   2> 414836 INFO  (jetty-launcher-3073-thread-1) [n:127.0.0.1:55580_solr     ] o.a.s.c.c.ConnectionManager Waiting for client to connect to ZooKeeper
   [junit4]   2> 414836 INFO  (zkCallback-3106-thread-1) [     ] o.a.s.c.c.ZkStateReader Updated live nodes from ZooKeeper... (0) -> (1)
   [junit4]   2> 414836 INFO  (jetty-launcher-3073-thread-3) [n:127.0.0.1:55583_solr     ] o.a.s.c.c.ConnectionManager Waiting for client to connect to ZooKeeper
   [junit4]   2> 414836 INFO  (jetty-launcher-3073-thread-4) [n:127.0.0.1:55586_solr     ] o.a.s.c.c.ZkStateReader Updated live nodes from ZooKeeper... (0) -> (1)
   [junit4]   2> 414836 INFO  (zkCallback-3104-thread-1) [     ] o.a.s.c.c.ZkStateReader Updated live nodes from ZooKeeper... (0) -> (1)
   [junit4]   2> 414843 INFO  (jetty-launcher-3073-thread-4) [n:127.0.0.1:55586_solr     ] o.a.s.c.ZkController Publish node=127.0.0.1:55586_solr as DOWN
   [junit4]   2> 414844 INFO  (jetty-launcher-3073-thread-4) [n:127.0.0.1:55586_solr     ] o.a.s.c.TransientSolrCoreCacheDefault Allocating transient cache for 2147483647 transient cores
   [junit4]   2> 414844 INFO  (jetty-launcher-3073-thread-4) [n:127.0.0.1:55586_solr     ] o.a.s.c.ZkController Register node as live in ZooKeeper:/live_nodes/127.0.0.1:55586_solr
   [junit4]   2> 414846 INFO  (zkCallback-3104-thread-1) [     ] o.a.s.c.c.ZkStateReader Updated live nodes from ZooKeeper... (1) -> (2)
   [junit4]   2> 414846 INFO  (zkCallback-3106-thread-1) [     ] o.a.s.c.c.ZkStateReader Updated live nodes from ZooKeeper... (1) -> (2)
   [junit4]   2> 414848 INFO  (jetty-launcher-3073-thread-4) [n:127.0.0.1:55586_solr     ] o.a.s.c.c.ConnectionManager Waiting for client to connect to ZooKeeper
   [junit4]   2> 414856 INFO  (zkCallback-3108-thread-1) [     ] o.a.s.c.c.ZkStateReader Updated live nodes from ZooKeeper... (1) -> (2)
   [junit4]   2> 414858 INFO  (zkConnectionManagerCallback-3120-thread-1) [     ] o.a.s.c.c.ConnectionManager zkClient has connected
   [junit4]   2> 414858 INFO  (jetty-launcher-3073-thread-1) [n:127.0.0.1:55580_solr     ] o.a.s.c.c.ConnectionManager Client is connected to ZooKeeper
   [junit4]   2> 414862 INFO  (zkConnectionManagerCallback-3125-thread-1) [     ] o.a.s.c.c.ConnectionManager zkClient has connected
   [junit4]   2> 414862 INFO  (jetty-launcher-3073-thread-3) [n:127.0.0.1:55583_solr     ] o.a.s.c.c.ConnectionManager Client is connected to ZooKeeper
   [junit4]   2> 414863 INFO  (jetty-launcher-3073-thread-1) [n:127.0.0.1:55580_solr     ] o.a.s.c.c.ZkStateReader Updated live nodes from ZooKeeper... (0) -> (2)
   [junit4]   2> 414865 INFO  (zkConnectionManagerCallback-3130-thread-1) [     ] o.a.s.c.c.ConnectionManager zkClient has connected
   [junit4]   2> 414865 INFO  (jetty-launcher-3073-thread-3) [n:127.0.0.1:55583_solr     ] o.a.s.c.c.ZkStateReader Updated live nodes from ZooKeeper... (0) -> (2)
   [junit4]   2> 414865 INFO  (jetty-launcher-3073-thread-4) [n:127.0.0.1:55586_solr     ] o.a.s.c.c.ConnectionManager Client is connected to ZooKeeper
   [junit4]   2> 414865 INFO  (jetty-launcher-3073-thread-1) [n:127.0.0.1:55580_solr     ] o.a.s.c.s.i.ZkClientClusterStateProvider Cluster at 127.0.0.1:55567/solr ready
   [junit4]   2> 414865 INFO  (jetty-launcher-3073-thread-1) [n:127.0.0.1:55580_solr     ] o.a.s.c.PackageManager clusterprops.json changed , version -1
   [junit4]   2> 414870 INFO  (jetty-launcher-3073-thread-3) [n:127.0.0.1:55583_solr     ] o.a.s.c.s.i.ZkClientClusterStateProvider Cluster at 127.0.0.1:55567/solr ready
   [junit4]   2> 414870 INFO  (jetty-launcher-3073-thread-4) [n:127.0.0.1:55586_solr     ] o.a.s.c.c.ZkStateReader Updated live nodes from ZooKeeper... (0) -> (2)
   [junit4]   2> 414870 INFO  (jetty-launcher-3073-thread-3) [n:127.0.0.1:55583_solr     ] o.a.s.c.ZkController Publish node=127.0.0.1:55583_solr as DOWN
   [junit4]   2> 414877 INFO  (jetty-launcher-3073-thread-3) [n:127.0.0.1:55583_solr     ] o.a.s.c.TransientSolrCoreCacheDefault Allocating transient cache for 2147483647 transient cores
   [junit4]   2> 414877 INFO  (jetty-launcher-3073-thread-3) [n:127.0.0.1:55583_solr     ] o.a.s.c.ZkController Register node as live in ZooKeeper:/live_nodes/127.0.0.1:55583_solr
   [junit4]   2> 414878 INFO  (jetty-launcher-3073-thread-4) [n:127.0.0.1:55586_solr     ] o.a.s.c.s.i.ZkClientClusterStateProvider Cluster at 127.0.0.1:55567/solr ready
   [junit4]   2> 414879 INFO  (jetty-launcher-3073-thread-4) [n:127.0.0.1:55586_solr     ] o.a.s.c.PackageManager clusterprops.json changed , version -1
   [junit4]   2> 414919 INFO  (zkCallback-3106-thread-1) [     ] o.a.s.c.c.ZkStateReader Updated live nodes from ZooKeeper... (2) -> (3)
   [junit4]   2> 414919 INFO  (zkCallback-3108-thread-1) [     ] o.a.s.c.c.ZkStateReader Updated live nodes from ZooKeeper... (2) -> (3)
   [junit4]   2> 414919 INFO  (zkCallback-3104-thread-1) [     ] o.a.s.c.c.ZkStateReader Updated live nodes from ZooKeeper... (2) -> (3)
   [junit4]   2> 414926 INFO  (jetty-launcher-3073-thread-3) [n:127.0.0.1:55583_solr     ] o.a.s.c.PackageManager clusterprops.json changed , version -1
   [junit4]   2> 414938 INFO  (jetty-launcher-3073-thread-1) [n:127.0.0.1:55580_solr     ] o.a.s.h.a.MetricsHistoryHandler No .system collection, keeping metrics history in memory.
   [junit4]   2> 414984 INFO  (jetty-launcher-3073-thread-1) [n:127.0.0.1:55580_solr     ] o.a.s.m.r.SolrJmxReporter JMX monitoring for 'solr_55580.solr.node' (registry 'solr.node') enabled at server: com.sun.jmx.mbeanserver.JmxMBeanServer@d8e92fe
   [junit4]   2> 415033 INFO  (jetty-launcher-3073-thread-4) [n:127.0.0.1:55586_solr     ] o.a.s.h.a.MetricsHistoryHandler No .system collection, keeping metrics history in memory.
   [junit4]   2> 415058 INFO  (jetty-launcher-3073-thread-1) [n:127.0.0.1:55580_solr     ] o.a.s.m.r.SolrJmxReporter JMX monitoring for 'solr_55580.solr.jvm' (registry 'solr.jvm') enabled at server: com.sun.jmx.mbeanserver.JmxMBeanServer@d8e92fe
   [junit4]   2> 415058 INFO  (jetty-launcher-3073-thread-1) [n:127.0.0.1:55580_solr     ] o.a.s.m.r.SolrJmxReporter JMX monitoring for 'solr_55580.solr.jetty' (registry 'solr.jetty') enabled at server: com.sun.jmx.mbeanserver.JmxMBeanServer@d8e92fe
   [junit4]   2> 415062 INFO  (jetty-launcher-3073-thread-1) [n:127.0.0.1:55580_solr     ] o.a.s.c.CorePropertiesLocator Found 0 core definitions underneath C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node1\.
   [junit4]   2> 415064 INFO  (OverseerStateUpdate-72120592227958795-127.0.0.1:55583_solr-n_0000000000) [n:127.0.0.1:55583_solr     ] o.a.s.c.Overseer Starting to work on the main queue : 127.0.0.1:55583_solr
   [junit4]   2> 415067 INFO  (zkCallback-3124-thread-1) [     ] o.a.s.c.c.ZkStateReader Updated live nodes from ZooKeeper... (2) -> (3)
   [junit4]   2> 415067 INFO  (zkCallback-3119-thread-1) [     ] o.a.s.c.c.ZkStateReader Updated live nodes from ZooKeeper... (2) -> (3)
   [junit4]   2> 415067 INFO  (zkCallback-3129-thread-1) [     ] o.a.s.c.c.ZkStateReader Updated live nodes from ZooKeeper... (2) -> (3)
   [junit4]   2> 415075 INFO  (jetty-launcher-3073-thread-3) [n:127.0.0.1:55583_solr     ] o.a.s.h.a.MetricsHistoryHandler No .system collection, keeping metrics history in memory.
   [junit4]   2> 415175 INFO  (jetty-launcher-3073-thread-3) [n:127.0.0.1:55583_solr     ] o.a.s.m.r.SolrJmxReporter JMX monitoring for 'solr_55583.solr.node' (registry 'solr.node') enabled at server: com.sun.jmx.mbeanserver.JmxMBeanServer@d8e92fe
   [junit4]   2> 415191 INFO  (jetty-launcher-3073-thread-4) [n:127.0.0.1:55586_solr     ] o.a.s.m.r.SolrJmxReporter JMX monitoring for 'solr_55586.solr.node' (registry 'solr.node') enabled at server: com.sun.jmx.mbeanserver.JmxMBeanServer@d8e92fe
   [junit4]   2> 415206 INFO  (jetty-launcher-3073-thread-4) [n:127.0.0.1:55586_solr     ] o.a.s.m.r.SolrJmxReporter JMX monitoring for 'solr_55586.solr.jvm' (registry 'solr.jvm') enabled at server: com.sun.jmx.mbeanserver.JmxMBeanServer@d8e92fe
   [junit4]   2> 415206 INFO  (jetty-launcher-3073-thread-4) [n:127.0.0.1:55586_solr     ] o.a.s.m.r.SolrJmxReporter JMX monitoring for 'solr_55586.solr.jetty' (registry 'solr.jetty') enabled at server: com.sun.jmx.mbeanserver.JmxMBeanServer@d8e92fe
   [junit4]   2> 415208 INFO  (jetty-launcher-3073-thread-4) [n:127.0.0.1:55586_solr     ] o.a.s.c.CorePropertiesLocator Found 0 core definitions underneath C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node4\.
   [junit4]   2> 415212 INFO  (jetty-launcher-3073-thread-3) [n:127.0.0.1:55583_solr     ] o.a.s.m.r.SolrJmxReporter JMX monitoring for 'solr_55583.solr.jvm' (registry 'solr.jvm') enabled at server: com.sun.jmx.mbeanserver.JmxMBeanServer@d8e92fe
   [junit4]   2> 415212 INFO  (jetty-launcher-3073-thread-3) [n:127.0.0.1:55583_solr     ] o.a.s.m.r.SolrJmxReporter JMX monitoring for 'solr_55583.solr.jetty' (registry 'solr.jetty') enabled at server: com.sun.jmx.mbeanserver.JmxMBeanServer@d8e92fe
   [junit4]   2> 415217 INFO  (jetty-launcher-3073-thread-3) [n:127.0.0.1:55583_solr     ] o.a.s.c.CorePropertiesLocator Found 0 core definitions underneath C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node2\.
   [junit4]   2> 415228 INFO  (jetty-launcher-3073-thread-2) [     ] o.a.s.h.c.HttpShardHandlerFactory Host whitelist initialized: WhitelistHostChecker [whitelistHosts=null, whitelistHostCheckingEnabled=true]
   [junit4]   2> 415243 WARN  (jetty-launcher-3073-thread-2) [     ] o.e.j.u.s.S.config Trusting all certificates configured for Client@23cf623c[provider=null,keyStore=null,trustStore=null]
   [junit4]   2> 415243 WARN  (jetty-launcher-3073-thread-2) [     ] o.e.j.u.s.S.config No Client EndPointIdentificationAlgorithm configured for Client@23cf623c[provider=null,keyStore=null,trustStore=null]
   [junit4]   2> 415252 WARN  (jetty-launcher-3073-thread-2) [     ] o.e.j.u.s.S.config Trusting all certificates configured for Client@5d269407[provider=null,keyStore=null,trustStore=null]
   [junit4]   2> 415252 WARN  (jetty-launcher-3073-thread-2) [     ] o.e.j.u.s.S.config No Client EndPointIdentificationAlgorithm configured for Client@5d269407[provider=null,keyStore=null,trustStore=null]
   [junit4]   2> 415253 INFO  (jetty-launcher-3073-thread-2) [     ] o.a.s.c.ZkContainer Zookeeper client=127.0.0.1:55567/solr
   [junit4]   2> 415255 INFO  (jetty-launcher-3073-thread-2) [     ] o.a.s.c.c.ConnectionManager Waiting for client to connect to ZooKeeper
   [junit4]   2> 415261 INFO  (zkConnectionManagerCallback-3139-thread-1) [     ] o.a.s.c.c.ConnectionManager zkClient has connected
   [junit4]   2> 415261 INFO  (jetty-launcher-3073-thread-2) [     ] o.a.s.c.c.ConnectionManager Client is connected to ZooKeeper
   [junit4]   2> 415373 INFO  (jetty-launcher-3073-thread-2) [n:127.0.0.1:55587_solr     ] o.a.s.c.c.ConnectionManager Waiting for client to connect to ZooKeeper
   [junit4]   2> 415376 INFO  (zkConnectionManagerCallback-3141-thread-1) [     ] o.a.s.c.c.ConnectionManager zkClient has connected
   [junit4]   2> 415376 INFO  (jetty-launcher-3073-thread-2) [n:127.0.0.1:55587_solr     ] o.a.s.c.c.ConnectionManager Client is connected to ZooKeeper
   [junit4]   2> 415383 WARN  (jetty-launcher-3073-thread-2) [n:127.0.0.1:55587_solr     ] o.a.s.c.ZkController The _default configset could not be uploaded. Please provide 'solr.default.confdir' parameter that points to a configset intended to be the default. Current 'solr.default.confdir' value: null
   [junit4]   2> 415387 INFO  (jetty-launcher-3073-thread-2) [n:127.0.0.1:55587_solr     ] o.a.s.c.c.ZkStateReader Updated live nodes from ZooKeeper... (0) -> (3)
   [junit4]   2> 415392 INFO  (jetty-launcher-3073-thread-2) [n:127.0.0.1:55587_solr     ] o.a.s.c.ZkController Publish node=127.0.0.1:55587_solr as DOWN
   [junit4]   2> 415393 INFO  (jetty-launcher-3073-thread-2) [n:127.0.0.1:55587_solr     ] o.a.s.c.TransientSolrCoreCacheDefault Allocating transient cache for 2147483647 transient cores
   [junit4]   2> 415393 INFO  (jetty-launcher-3073-thread-2) [n:127.0.0.1:55587_solr     ] o.a.s.c.ZkController Register node as live in ZooKeeper:/live_nodes/127.0.0.1:55587_solr
   [junit4]   2> 415397 INFO  (zkCallback-3124-thread-1) [     ] o.a.s.c.c.ZkStateReader Updated live nodes from ZooKeeper... (3) -> (4)
   [junit4]   2> 415397 INFO  (zkCallback-3129-thread-1) [     ] o.a.s.c.c.ZkStateReader Updated live nodes from ZooKeeper... (3) -> (4)
   [junit4]   2> 415397 INFO  (zkCallback-3106-thread-1) [     ] o.a.s.c.c.ZkStateReader Updated live nodes from ZooKeeper... (3) -> (4)
   [junit4]   2> 415397 INFO  (zkCallback-3104-thread-1) [     ] o.a.s.c.c.ZkStateReader Updated live nodes from ZooKeeper... (3) -> (4)
   [junit4]   2> 415397 INFO  (zkCallback-3108-thread-1) [     ] o.a.s.c.c.ZkStateReader Updated live nodes from ZooKeeper... (3) -> (4)
   [junit4]   2> 415397 INFO  (zkCallback-3119-thread-1) [     ] o.a.s.c.c.ZkStateReader Updated live nodes from ZooKeeper... (3) -> (4)
   [junit4]   2> 415398 INFO  (zkCallback-3140-thread-1) [     ] o.a.s.c.c.ZkStateReader Updated live nodes from ZooKeeper... (3) -> (4)
   [junit4]   2> 415400 INFO  (jetty-launcher-3073-thread-2) [n:127.0.0.1:55587_solr     ] o.a.s.c.c.ConnectionManager Waiting for client to connect to ZooKeeper
   [junit4]   2> 415403 INFO  (zkConnectionManagerCallback-3148-thread-1) [     ] o.a.s.c.c.ConnectionManager zkClient has connected
   [junit4]   2> 415403 INFO  (jetty-launcher-3073-thread-2) [n:127.0.0.1:55587_solr     ] o.a.s.c.c.ConnectionManager Client is connected to ZooKeeper
   [junit4]   2> 415405 INFO  (jetty-launcher-3073-thread-2) [n:127.0.0.1:55587_solr     ] o.a.s.c.c.ZkStateReader Updated live nodes from ZooKeeper... (0) -> (4)
   [junit4]   2> 415406 INFO  (jetty-launcher-3073-thread-2) [n:127.0.0.1:55587_solr     ] o.a.s.c.s.i.ZkClientClusterStateProvider Cluster at 127.0.0.1:55567/solr ready
   [junit4]   2> 415406 INFO  (jetty-launcher-3073-thread-2) [n:127.0.0.1:55587_solr     ] o.a.s.c.PackageManager clusterprops.json changed , version -1
   [junit4]   2> 415441 INFO  (jetty-launcher-3073-thread-2) [n:127.0.0.1:55587_solr     ] o.a.s.h.a.MetricsHistoryHandler No .system collection, keeping metrics history in memory.
   [junit4]   2> 415466 INFO  (jetty-launcher-3073-thread-2) [n:127.0.0.1:55587_solr     ] o.a.s.m.r.SolrJmxReporter JMX monitoring for 'solr_55587.solr.node' (registry 'solr.node') enabled at server: com.sun.jmx.mbeanserver.JmxMBeanServer@d8e92fe
   [junit4]   2> 415478 INFO  (jetty-launcher-3073-thread-2) [n:127.0.0.1:55587_solr     ] o.a.s.m.r.SolrJmxReporter JMX monitoring for 'solr_55587.solr.jvm' (registry 'solr.jvm') enabled at server: com.sun.jmx.mbeanserver.JmxMBeanServer@d8e92fe
   [junit4]   2> 415478 INFO  (jetty-launcher-3073-thread-2) [n:127.0.0.1:55587_solr     ] o.a.s.m.r.SolrJmxReporter JMX monitoring for 'solr_55587.solr.jetty' (registry 'solr.jetty') enabled at server: com.sun.jmx.mbeanserver.JmxMBeanServer@d8e92fe
   [junit4]   2> 415479 INFO  (jetty-launcher-3073-thread-2) [n:127.0.0.1:55587_solr     ] o.a.s.c.CorePropertiesLocator Found 0 core definitions underneath C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node3\.
   [junit4]   2> 415526 INFO  (SUITE-StreamExpressionTest-seed#[6C2E3A38BA2CBE90]-worker) [     ] o.a.s.c.MiniSolrCloudCluster waitForAllNodes: numServers=4
   [junit4]   2> 415527 INFO  (SUITE-StreamExpressionTest-seed#[6C2E3A38BA2CBE90]-worker) [     ] o.a.s.c.c.ConnectionManager Waiting for client to connect to ZooKeeper
   [junit4]   2> 415530 INFO  (zkConnectionManagerCallback-3154-thread-1) [     ] o.a.s.c.c.ConnectionManager zkClient has connected
   [junit4]   2> 415530 INFO  (SUITE-StreamExpressionTest-seed#[6C2E3A38BA2CBE90]-worker) [     ] o.a.s.c.c.ConnectionManager Client is connected to ZooKeeper
   [junit4]   2> 415532 INFO  (SUITE-StreamExpressionTest-seed#[6C2E3A38BA2CBE90]-worker) [     ] o.a.s.c.c.ZkStateReader Updated live nodes from ZooKeeper... (0) -> (4)
   [junit4]   2> 415533 INFO  (SUITE-StreamExpressionTest-seed#[6C2E3A38BA2CBE90]-worker) [     ] o.a.s.c.s.i.ZkClientClusterStateProvider Cluster at 127.0.0.1:55567/solr ready
   [junit4]   2> 415545 INFO  (qtp1958027911-6338) [n:127.0.0.1:55580_solr     ] o.a.s.h.a.CollectionsHandler Invoked Collection Action :create with params collection.configName=conf&name=collection1_collection&nrtReplicas=1&action=CREATE&numShards=2&wt=javabin&version=2 and sendToOCPQueue=true
   [junit4]   2> 415550 INFO  (OverseerThreadFactory-1551-thread-1-processing-n:127.0.0.1:55583_solr) [n:127.0.0.1:55583_solr     ] o.a.s.c.a.c.CreateCollectionCmd Create collection collection1_collection
   [junit4]   2> 415670 INFO  (OverseerStateUpdate-72120592227958795-127.0.0.1:55583_solr-n_0000000000) [n:127.0.0.1:55583_solr     ] o.a.s.c.o.SliceMutator createReplica() {
   [junit4]   2>   "operation":"ADDREPLICA",
   [junit4]   2>   "collection":"collection1_collection",
   [junit4]   2>   "shard":"shard1",
   [junit4]   2>   "core":"collection1_collection_shard1_replica_n1",
   [junit4]   2>   "state":"down",
   [junit4]   2>   "base_url":"http://127.0.0.1:55586/solr",
   [junit4]   2>   "type":"NRT",
   [junit4]   2>   "waitForFinalState":"false"}
   [junit4]   2> 415673 INFO  (OverseerStateUpdate-72120592227958795-127.0.0.1:55583_solr-n_0000000000) [n:127.0.0.1:55583_solr     ] o.a.s.c.o.SliceMutator createReplica() {
   [junit4]   2>   "operation":"ADDREPLICA",
   [junit4]   2>   "collection":"collection1_collection",
   [junit4]   2>   "shard":"shard2",
   [junit4]   2>   "core":"collection1_collection_shard2_replica_n2",
   [junit4]   2>   "state":"down",
   [junit4]   2>   "base_url":"http://127.0.0.1:55580/solr",
   [junit4]   2>   "type":"NRT",
   [junit4]   2>   "waitForFinalState":"false"}
   [junit4]   2> 415898 INFO  (qtp660361712-6354) [n:127.0.0.1:55586_solr    x:collection1_collection_shard1_replica_n1 ] o.a.s.h.a.CoreAdminOperation core create command qt=/admin/cores&coreNodeName=core_node3&collection.configName=conf&newCollection=true&name=collection1_collection_shard1_replica_n1&action=CREATE&numShards=2&collection=collection1_collection&shard=shard1&wt=javabin&version=2&replicaType=NRT
   [junit4]   2> 415909 INFO  (qtp1958027911-6339) [n:127.0.0.1:55580_solr    x:collection1_collection_shard2_replica_n2 ] o.a.s.h.a.CoreAdminOperation core create command qt=/admin/cores&coreNodeName=core_node4&collection.configName=conf&newCollection=true&name=collection1_collection_shard2_replica_n2&action=CREATE&numShards=2&collection=collection1_collection&shard=shard2&wt=javabin&version=2&replicaType=NRT
   [junit4]   2> 415909 INFO  (qtp1958027911-6339) [n:127.0.0.1:55580_solr    x:collection1_collection_shard2_replica_n2 ] o.a.s.c.TransientSolrCoreCacheDefault Allocating transient cache for 2147483647 transient cores
   [junit4]   2> 417024 INFO  (qtp660361712-6354) [n:127.0.0.1:55586_solr c:collection1_collection s:shard1 r:core_node3 x:collection1_collection_shard1_replica_n1 ] o.a.s.c.SolrConfig Using Lucene MatchVersion: 9.0.0
   [junit4]   2> 417044 INFO  (qtp660361712-6354) [n:127.0.0.1:55586_solr c:collection1_collection s:shard1 r:core_node3 x:collection1_collection_shard1_replica_n1 ] o.a.s.s.IndexSchema [collection1_collection_shard1_replica_n1] Schema name=test
   [junit4]   2> 417098 INFO  (qtp1958027911-6339) [n:127.0.0.1:55580_solr c:collection1_collection s:shard2 r:core_node4 x:collection1_collection_shard2_replica_n2 ] o.a.s.c.SolrConfig Using Lucene MatchVersion: 9.0.0
   [junit4]   2> 417109 INFO  (qtp1958027911-6339) [n:127.0.0.1:55580_solr c:collection1_collection s:shard2 r:core_node4 x:collection1_collection_shard2_replica_n2 ] o.a.s.s.IndexSchema [collection1_collection_shard2_replica_n2] Schema name=test
   [junit4]   2> 417149 WARN  (qtp660361712-6354) [n:127.0.0.1:55586_solr c:collection1_collection s:shard1 r:core_node3 x:collection1_collection_shard1_replica_n1 ] o.a.s.s.IndexSchema Field lowerfilt1and2 is not multivalued and destination for multiple copyFields (2)
   [junit4]   2> 417149 WARN  (qtp660361712-6354) [n:127.0.0.1:55586_solr c:collection1_collection s:shard1 r:core_node3 x:collection1_collection_shard1_replica_n1 ] o.a.s.s.IndexSchema Field text is not multivalued and destination for multiple copyFields (3)
   [junit4]   2> 417149 INFO  (qtp660361712-6354) [n:127.0.0.1:55586_solr c:collection1_collection s:shard1 r:core_node3 x:collection1_collection_shard1_replica_n1 ] o.a.s.s.IndexSchema Loaded schema test/1.6 with uniqueid field id
   [junit4]   2> 417150 INFO  (qtp660361712-6354) [n:127.0.0.1:55586_solr c:collection1_collection s:shard1 r:core_node3 x:collection1_collection_shard1_replica_n1 ] o.a.s.c.CoreContainer Creating SolrCore 'collection1_collection_shard1_replica_n1' using configuration from collection collection1_collection, trusted=true
   [junit4]   2> 417150 INFO  (qtp660361712-6354) [n:127.0.0.1:55586_solr c:collection1_collection s:shard1 r:core_node3 x:collection1_collection_shard1_replica_n1 ] o.a.s.m.r.SolrJmxReporter JMX monitoring for 'solr_55586.solr.core.collection1_collection.shard1.replica_n1' (registry 'solr.core.collection1_collection.shard1.replica_n1') enabled at server: com.sun.jmx.mbeanserver.JmxMBeanServer@d8e92fe
   [junit4]   2> 417150 INFO  (qtp660361712-6354) [n:127.0.0.1:55586_solr c:collection1_collection s:shard1 r:core_node3 x:collection1_collection_shard1_replica_n1 ] o.a.s.c.SolrCore [[collection1_collection_shard1_replica_n1] ] Opening new SolrCore at [C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node4\collection1_collection_shard1_replica_n1], dataDir=[C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node4\.\collection1_collection_shard1_replica_n1\data\]
   [junit4]   2> 417195 WARN  (qtp1958027911-6339) [n:127.0.0.1:55580_solr c:collection1_collection s:shard2 r:core_node4 x:collection1_collection_shard2_replica_n2 ] o.a.s.s.IndexSchema Field lowerfilt1and2 is not multivalued and destination for multiple copyFields (2)
   [junit4]   2> 417195 WARN  (qtp1958027911-6339) [n:127.0.0.1:55580_solr c:collection1_collection s:shard2 r:core_node4 x:collection1_collection_shard2_replica_n2 ] o.a.s.s.IndexSchema Field text is not multivalued and destination for multiple copyFields (3)
   [junit4]   2> 417195 INFO  (qtp1958027911-6339) [n:127.0.0.1:55580_solr c:collection1_collection s:shard2 r:core_node4 x:collection1_collection_shard2_replica_n2 ] o.a.s.s.IndexSchema Loaded schema test/1.6 with uniqueid field id
   [junit4]   2> 417195 INFO  (qtp1958027911-6339) [n:127.0.0.1:55580_solr c:collection1_collection s:shard2 r:core_node4 x:collection1_collection_shard2_replica_n2 ] o.a.s.c.CoreContainer Creating SolrCore 'collection1_collection_shard2_replica_n2' using configuration from collection collection1_collection, trusted=true
   [junit4]   2> 417195 INFO  (qtp1958027911-6339) [n:127.0.0.1:55580_solr c:collection1_collection s:shard2 r:core_node4 x:collection1_collection_shard2_replica_n2 ] o.a.s.m.r.SolrJmxReporter JMX monitoring for 'solr_55580.solr.core.collection1_collection.shard2.replica_n2' (registry 'solr.core.collection1_collection.shard2.replica_n2') enabled at server: com.sun.jmx.mbeanserver.JmxMBeanServer@d8e92fe
   [junit4]   2> 417195 INFO  (qtp1958027911-6339) [n:127.0.0.1:55580_solr c:collection1_collection s:shard2 r:core_node4 x:collection1_collection_shard2_replica_n2 ] o.a.s.c.SolrCore [[collection1_collection_shard2_replica_n2] ] Opening new SolrCore at [C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node1\collection1_collection_shard2_replica_n2], dataDir=[C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-001\tempDir-001\node1\.\collection1_collection_shard2_replica_n2\data\]
   [junit4]   2> 417312 INFO  (qtp660361712-6354) [n:127.0.0.1:55586_solr c:collection1_collection s:shard1 r:core_node3 x:collection1_collection_shard1_replica_n1 ] o.a.s.u.UpdateHandler Using UpdateLog implementation: org.apache.solr.update.UpdateLog
   [junit4]   2> 417312 INFO  (qtp660361712-6354) [n:127.0.0.1:55586_solr c:collection1_collection s:shard1 r:core_node3 x:collection1_collection_shard1_replica_n1 ] o.a.s.u.UpdateLog Initializing UpdateLog: dataDir= defaultSyncLevel=FLUSH numRecordsToKeep=100 maxNumLogsToKeep=10 numVersionBuckets=65536
   [junit4]   2> 417316 INFO  (qtp660361712-6354) [n:127.0.0.1:55586_solr c:collection1_collection s:shard1 r:core_node3 x:collection1_collection_shard1_replica_n1 ] o.a.s.u.CommitTracker Hard AutoCommit: disabled
   [junit4]   2> 417316 INFO  (qtp660361712-6354) [n:127.0.0.1:55586_solr c:collection1_collection s:shard1 r:core_node3 x:collection1_collection_shard1_replica_n1 ] o.a.s.u.CommitTracker Soft AutoCommit: disabled
   [junit4]   2> 417322 INFO  (qtp660361712-6354) [n:127.0.0.1:55586_solr c:collection1_collection s:shard1 r:core_node3 x:collection1_collection_shard1_replica_n1 ] o.a.s.s.SolrIndexSearcher Opening [Searcher@15bc444c[collection1_collection_shard1_replica_n1] main]
   [junit4]   2> 417329 INFO  (qtp660361712-6354) [n:127.0.0.1:55586_solr c:collection1_collection s:shard1 r:core_node3 x:collection1_collection_shard1_replica_n1 ] o.a.s.r.ManagedResourceStorage Configured ZooKeeperStorageIO with znodeBase: /configs/conf
   [junit4]   2> 417330 INFO  (qtp660361712-6354) [n:127.0.0.1:55586_solr c:collection1_collection s:shard1 r:core_node3 x:collection1_collection_shard1_replica_n1 ] o.a.s.r.ManagedResourceStorage Loaded null at path _rest_managed.json using ZooKeeperStorageIO:path=/configs/conf
   [junit4]   2> 417331 INFO  (qtp660361712-6354) [n:127.0.0.1:55586_solr c:collection1_collection s:shard1 r:core_node3 x:collection1_collection_shard1_replica_n1 ] o.a.s.h.ReplicationHandler Commits will be reserved for 10000ms.
   [junit4]   2> 417331 INFO  (qtp660361712-6354) [n:127.0.0.1:55586_solr c:collection1_collection s:shard1 r:core_node3 x:collection1_collection_shard1_replica_n1 ] o.a.s.u.UpdateLog Could not find max version in index or recent updates, using new clock 1642953780248969216
   [junit4]   2> 417348 INFO  (searcherExecutor-1561-thread-1-processing-n:127.0.0.1:55586_solr x:collection1_collection_shard1_replica_n1 c:collection1_collection s:shard1 r:core_node3) [n:127.0.0.1:55586_solr c:collection1_collection s:shard1 r:core_node3 x:collection1_collection_shard1_replica_n1 ] o.a.s.c.SolrCore [collection1_collection_shard1_replica_n1] Registered new searcher Searcher@15bc444c[collection1_collection_shard1_replica_n1] main{ExitableDirectoryReader(UninvertingDirectoryReader())}
   [junit4]   2> 417370 INFO  (qtp660361712-6354) [n:127.0.0.1:55586_solr c:collection1_collection s:shard1 r:core_node3 x:collection1_collection_shard1_replica_n1 ] o.a.s.c.ZkShardTerms Successful update of terms at /collections/collection1_collection/terms/shard1 to Terms{values={core_node3=0}, version=0}
   [junit4]   2> 417370 INFO  (qtp660361712-6354) [n:127.0.0.1:55586_solr c:collection1_collection s:shard1 r:core_node3 x:collection1_collection_shard1_replica_n1 ] o.a.s.c.ShardLeaderElectionContextBase make sure parent is created /collections/collection1_collection/leaders/shard1
   [junit4]   2> 417421 INFO  (qtp660361712-6354) [n:127.0.0.1:55586_solr c:collection1_collection s:shard1 r:core_node3 x:collection1_collection_shard1_replica_n1 ] o.a.s.c.ShardLeaderElectionContext Enough replicas found to continue.
   [junit4]   2> 417421 INFO  (qtp660361712-6354) [n:127.0.0.1:55586_solr c:collection1_collection s:shard1 r:core_node3 x:collection1_collection_shard1_replica_n1 ] o.a.s.c.ShardLeaderElectionContext I may be the new leader - try and sync
   [junit4]   2> 417421 INFO  (qtp660361712-6354) [n:127.0.0.1:55586_solr c:collection1_collection s:shard1 r:core_node3 x:collection1_collection_shard1_replica_n1 ] o.a.s.c.SyncStrategy Sync replicas to http://127.0.0.1:55586/solr/collection1_collection_shard1_replica_n1/
   [junit4]   2> 417438 INFO  (qtp660361712-6354) [n:127.0.0.1:55586_solr c:collection1_collection s:shard1 r:core_node3 x:collection1_collection_shard1_replica_n1 ] o.a.s.c.SyncStrategy Sync Success - now sync replicas to me
   [junit4]   2> 417439 INFO  (qtp660361712-6354) [n:127.0.0.1:55586_solr c:collection1_collection s:shard1 r:core_node3 x:collection1_collection_shard1_replica_n1 ] o.a.s.c.SyncStrategy http://127.0.0.1:55586/solr/collection1_collection_shard1_replica_n1/ has no replicas
   [junit4]   2> 417439 INFO  (qtp660361712-6354) [n:127.0.0.1:55586_solr c:collection1_collection s:shard1 r:core_node3 x:collection1_collection_shard1_replica_n1 ] o.a.s.c.ShardLeaderElectionContextBase Creating leader registration node /collections/collection1_collection/leaders/shard1/leader after winning as /collections/collection1_collection/leader_elect/shard1/election/72120592227958796-core_node3-n_0000000000
   [junit4]   2> 417443 INFO  (qtp1958027911-6339) [n:127.0.0.1:55580_solr c:collection1_collection s:shard2 r:core_node4 x:collection1_collection_shard2_replica_n2 ] o.a.s.u.UpdateHandler Using UpdateLog implementation: org.apache.solr.update.UpdateLog
   [junit4]   2> 417443 INFO  (qtp1958027911-6339) [n:127.0.0.1:55580_solr c:collection1_collection s:shard2 r:core_node4 x:collection1_collection_shard2_replica_n2 ] o.a.s.u.UpdateLog Initializing UpdateLog: dataDir= defaultSyncLevel=FLUSH numRecordsToKeep=100 maxNumLogsToKeep=10 numVersionBuckets=65536
   [junit4]   2> 417449 INFO  (qtp660361712-6354) [n:127.0.0.1:55586_solr c:collection1_collection s:shard1 r:core_node3 x:collection1_collection_shard1_replica_n1 ] o.a.s.c.ShardLeaderElectionContext I am the new leader: http://127.0.0.1:55586/solr/collection1_collection_shard1_replica_n1/ shard1
   [junit4]   2> 417450 INFO  (qtp1958027911-6339) [n:127.0.0.1:55580_solr c:collection1_collection s:shard2 r:core_node4 x:collection1_collection_shard2_replica_n2 ] o.a.s.u.CommitTracker Hard AutoCommit: disabled
   [junit4]   2> 417450 INFO  (qtp1958027911-6339) [n:127.0.0.1:55580_solr c:collection1_collection s:shard2 r:core_node4 x:collection1_collection_shard2_replica_n2 ] o.a.s.u.CommitTracker Soft AutoCommit: disabled
   [junit4]   2> 417451 INFO  (qtp1958027911-6339) [n:127.0.0.1:55580_solr c:collection1_collection s:shard2 r:core_node4 x:collection1_collection_shard2_replica_n2 ] o.a.s.s.SolrIndexSearcher Opening [Searcher@3b384f20[collection1_collection_shard2_replica_n2] main]
   [junit4]   2> 417457 INFO  (qtp1958027911-6339) [n:127.0.0.1:55580_solr c:collection1_collection s:shard2 r:core_node4 x:collection1_collection_shard2_replica_n2 ] o.a.s.r.ManagedResourceStorage Configured ZooKeeperStorageIO with znodeBase: /configs/conf
   [junit4]   2> 417457 INFO  (qtp1958027911-6339) [n:127.0.0.1:55580_solr c:collection1_collection s:shard2 r:core_node4 x:collection1_collection_shard2_replica_n2 ] o.a.s.r.ManagedResourceStorage Loaded null at path _rest_managed.json using ZooKeeperStorageIO:path=/configs/conf
   [junit4]   2> 417457 INFO  (qtp1958027911-6339) [n:127.0.0.1:55580_solr c:collection1_collection s:shard2 r:core_node4 x:collection1_collection_shard2_replica_n2 ] o.a.s.h.ReplicationHandler Commits will be reserved for 10000ms.
   [junit4]   2> 417457 INFO  (qtp1958027911-6339) [n:127.0.0.1:55580_solr c:collection1_collection s:shard2 r:core_node4 x:collection1_collection_shard2_replica_n2 ] o.a.s.u.UpdateLog Could not find max version in index or recent updates, using new clock 1642953780381089792
   [junit4]   2> 417462 INFO  (searcherExecutor-1562-thread-1-processing-n:127.0.0.1:55580_solr x:collection1_collection_shard2_replica_n2 c:collection1_collection s:shard2 r:core_node4) [n:127.0.0.1:55580_solr c:collection1_collection s:shard2 r:core_node4 x:collection1_collection_shard2_replica_n2 ] o.a.s.c.SolrCore [collection1_collection_shard2_replica_n2] Registered new searcher Searcher@3b384f20[collection1_collection_shard2_replica_n2] main{ExitableDirectoryReader(UninvertingDirectoryReader())}
   [junit4]   2> 417485 INFO  (qtp1958027911-6339) [n:127.0.0.1:55580_solr c:collection1_collection s:shard2 r:core_node4 x:collection1_collection_shard2_replica_n2 ] o.a.s.c.ZkShardTerms Successful update of terms at /collections/collection1_collection/terms/shard2 to Terms{values={core_node4=0}, version=0}
   [junit4]   2> 417495 INFO  (qtp1958027911-6339) [n:127.0.0.1:55580_solr c:collection1_collection

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

s/shard2
   [junit4]   2> 2 /solr/collections/collection2/collectionprops.json
   [junit4]   2> 2 /solr/collections/filestream_collection/terms/shard1
   [junit4]   2>
   [junit4]   2> Maximum concurrent data watches above limit:
   [junit4]   2>
   [junit4]   2> 45 /solr/clusterstate.json
   [junit4]   2> 25 /solr/collections/collection1_collection/state.json
   [junit4]   2> 16 /solr/collections/collection2/state.json
   [junit4]   2> 15 /solr/collections/filestream_collection/state.json
   [junit4]   2> 9 /solr/aliases.json
   [junit4]   2> 3 /solr/overseer_elect/election/72120688053452814-127.0.0.1:51346_solr-n_0000000000
   [junit4]   2>
   [junit4]   2> Maximum concurrent children watches above limit:
   [junit4]   2>
   [junit4]   2> 83 /solr/collections
   [junit4]   2> 73 /solr/live_nodes
   [junit4]   2> 41 /solr/overseer/queue
   [junit4]   2> 18 /solr/overseer/collection-queue-work
   [junit4]   2>
   [junit4]   2> 76902 INFO  (SUITE-StreamExpressionTest-seed#[6C2E3A38BA2CBE90]-worker) [     ] o.a.s.c.ZkTestServer waitForServerDown: 127.0.0.1:51324
   [junit4]   2> 76902 INFO  (SUITE-StreamExpressionTest-seed#[6C2E3A38BA2CBE90]-worker) [     ] o.a.s.c.ZkTestServer parse host and port list: 127.0.0.1:51324
   [junit4]   2> 76902 INFO  (SUITE-StreamExpressionTest-seed#[6C2E3A38BA2CBE90]-worker) [     ] o.a.s.c.ZkTestServer connecting to 127.0.0.1 51324
   [junit4]   2> 78817 INFO  (SUITE-StreamExpressionTest-seed#[6C2E3A38BA2CBE90]-worker) [     ] o.a.s.SolrTestCaseJ4 ------------------------------------------------------- Done waiting for tracked resources to be released
   [junit4]   2> NOTE: test params are: codec=Asserting(Lucene80): {i_multi=PostingsFormat(name=LuceneVarGapDocFreqInterval), diseases_s=PostingsFormat(name=LuceneVarGapDocFreqInterval), multiDefault=Lucene50(blocksize=128), price_f=Lucene50(blocksize=128), intDefault=PostingsFormat(name=LuceneVarGapFixedInterval), a_f=Lucene50(blocksize=128), a_i=PostingsFormat(name=LuceneVarGapDocFreqInterval), test_dt=PostingsFormat(name=LuceneVarGapDocFreqInterval), symptoms_s=PostingsFormat(name=LuceneVarGapFixedInterval), test_t=PostingsFormat(name=LuceneFixedGap), level1_s=PostingsFormat(name=LuceneVarGapDocFreqInterval), s_multi=PostingsFormat(name=LuceneFixedGap), level2_s=PostingsFormat(name=LuceneVarGapFixedInterval), a_s=PostingsFormat(name=LuceneFixedGap), _version_=PostingsFormat(name=LuceneVarGapFixedInterval), a_t=PostingsFormat(name=LuceneVarGapFixedInterval), id=PostingsFormat(name=LuceneVarGapDocFreqInterval), text=PostingsFormat(name=LuceneFixedGap), cases_i=PostingsFormat(name=LuceneFixedGap), timestamp=PostingsFormat(name=LuceneVarGapFixedInterval)}, docValues:{i_multi=DocValuesFormat(name=Lucene80), diseases_s=DocValuesFormat(name=Lucene80), multiDefault=DocValuesFormat(name=Asserting), price_f=DocValuesFormat(name=Asserting), intDefault=DocValuesFormat(name=Lucene80), a_f=DocValuesFormat(name=Asserting), a_i=DocValuesFormat(name=Lucene80), test_dt=DocValuesFormat(name=Lucene80), symptoms_s=DocValuesFormat(name=Lucene80), level1_s=DocValuesFormat(name=Lucene80), s_multi=DocValuesFormat(name=Direct), level2_s=DocValuesFormat(name=Lucene80), a_s=DocValuesFormat(name=Direct), _version_=DocValuesFormat(name=Lucene80), id=DocValuesFormat(name=Lucene80), cases_i=DocValuesFormat(name=Direct), timestamp=DocValuesFormat(name=Lucene80)}, maxPointsInLeafNode=1760, maxMBSortInHeap=7.401875019590349, sim=Asserting(org.apache.lucene.search.similarities.AssertingSimilarity@654817d1), locale=en-ZM, timezone=Brazil/West
   [junit4]   2> NOTE: Windows 10 10.0 amd64/Oracle Corporation 13 (64-bit)/cpus=3,threads=1,free=129820904,total=272105472
   [junit4]   2> NOTE: All tests run in this JVM: [StreamExpressionTest, StreamExpressionTest, StreamExpressionTest]
   [junit4]   2> NOTE: reproduce with: ant test  -Dtestcase=StreamExpressionTest -Dtests.seed=6C2E3A38BA2CBE90 -Dtests.slow=true -Dtests.badapples=true -Dtests.locale=en-ZM -Dtests.timezone=Brazil/West -Dtests.asserts=true -Dtests.file.encoding=UTF-8
   [junit4] ERROR   0.00s J1 | StreamExpressionTest (suite) <<<
   [junit4]    > Throwable #1: java.io.IOException: Could not remove the following files (in the order of attempts):
   [junit4]    >    C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-003\tempDir-001\node3\userfiles\directory1\secondLevel2.txt: java.nio.file.FileSystemException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-003\tempDir-001\node3\userfiles\directory1\secondLevel2.txt: The process cannot access the file because it is being used by another process.
   [junit4]    >    C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-003\tempDir-001\node3\userfiles\directory1: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-003\tempDir-001\node3\userfiles\directory1
   [junit4]    >    C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-003\tempDir-001\node3\userfiles: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-003\tempDir-001\node3\userfiles
   [junit4]    >    C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-003\tempDir-001\node3: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-003\tempDir-001\node3
   [junit4]    >    C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-003\tempDir-001: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-003\tempDir-001
   [junit4]    >    C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-003: java.nio.file.DirectoryNotEmptyException: C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\solr\build\solr-solrj\test\J1\temp\solr.client.solrj.io.stream.StreamExpressionTest_6C2E3A38BA2CBE90-003
   [junit4]    > at __randomizedtesting.SeedInfo.seed([6C2E3A38BA2CBE90]:0)
   [junit4]    > at org.apache.lucene.util.IOUtils.rm(IOUtils.java:319)
   [junit4]    > at java.base/java.lang.Thread.run(Thread.java:830)
   [junit4] Completed [5/5 (5!)] on J1 in 15.57s, 27 tests, 1 error, 4 skipped <<< FAILURES!

[...truncated 14 lines...]
BUILD FAILED
C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\lucene\common-build.xml:1492: The following error occurred while executing this line:
C:\Users\jenkins\workspace\Lucene-Solr-master-Windows\lucene\common-build.xml:1019: There were test failures: 5 suites, 135 tests, 5 suite-level errors, 20 ignored (20 assumptions) [seed: 6C2E3A38BA2CBE90]

Total time: 1 minute 21 seconds

[repro] Setting last failure code to 1

[repro] Failures:
[repro]   5/5 failed: org.apache.solr.client.solrj.io.stream.StreamExpressionTest
[repro] Exiting with code 1

C:\Users\jenkins\workspace\Lucene-Solr-master-Windows>IF EXIST lucene\build move /y lucene\build lucene\build.repro
        1 dir(s) moved.

C:\Users\jenkins\workspace\Lucene-Solr-master-Windows>IF EXIST solr\build move /y solr\build solr\build.repro
        1 dir(s) moved.

C:\Users\jenkins\workspace\Lucene-Solr-master-Windows>IF EXIST lucene\build.orig move /y lucene\build.orig lucene\build
        1 dir(s) moved.

C:\Users\jenkins\workspace\Lucene-Solr-master-Windows>IF EXIST solr\build.orig move /y solr\build.orig solr\build
        1 dir(s) moved.

C:\Users\jenkins\workspace\Lucene-Solr-master-Windows>exit 0
Archiving artifacts
Setting ANT_1_8_2_HOME=C:\Users\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=C:\Users\jenkins\tools\hudson.tasks.Ant_AntInstallation\ANT_1.8.2
No credentials specified
Setting ANT_1_8_2_HOME=C:\Users\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=ff1e2fa6583724429bda7e469c622703a97408fa, workspace=C:\Users\jenkins\workspace\Lucene-Solr-master-Windows
[WARNINGS] Computing warning deltas based on reference build #8109
Recording test results
Setting ANT_1_8_2_HOME=C:\Users\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=C:\Users\jenkins\tools\hudson.tasks.Ant_AntInstallation\ANT_1.8.2
Setting ANT_1_8_2_HOME=C:\Users\jenkins\tools\hudson.tasks.Ant_AntInstallation\ANT_1.8.2
Setting ANT_1_8_2_HOME=C:\Users\jenkins\tools\hudson.tasks.Ant_AntInstallation\ANT_1.8.2
Setting ANT_1_8_2_HOME=C:\Users\jenkins\tools\hudson.tasks.Ant_AntInstallation\ANT_1.8.2
Setting ANT_1_8_2_HOME=C:\Users\jenkins\tools\hudson.tasks.Ant_AntInstallation\ANT_1.8.2
Setting ANT_1_8_2_HOME=C:\Users\jenkins\tools\hudson.tasks.Ant_AntInstallation\ANT_1.8.2


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