diff --git a/src/Connections/Elasticsearch.Net.Connection.HttpClient/Elasticsearch.Net.Connection.HttpClient.csproj b/src/Connections/Elasticsearch.Net.Connection.HttpClient/Elasticsearch.Net.Connection.HttpClient.csproj index 7dfbe58a14a..ac009575f9f 100644 --- a/src/Connections/Elasticsearch.Net.Connection.HttpClient/Elasticsearch.Net.Connection.HttpClient.csproj +++ b/src/Connections/Elasticsearch.Net.Connection.HttpClient/Elasticsearch.Net.Connection.HttpClient.csproj @@ -74,4 +74,4 @@ --> - \ No newline at end of file + diff --git a/src/Elasticsearch.Net/Connection/HttpConnection.cs b/src/Elasticsearch.Net/Connection/HttpConnection.cs index 1d6fbe935db..07dd84c062f 100644 --- a/src/Elasticsearch.Net/Connection/HttpConnection.cs +++ b/src/Elasticsearch.Net/Connection/HttpConnection.cs @@ -1,365 +1,378 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.IO.Compression; -using System.Linq; -using System.Net; -using System.Runtime.InteropServices; -using System.Security.Cryptography; -using System.Text; -using System.Threading; -using System.Threading.Tasks; -using Elasticsearch.Net.Connection.Configuration; -using Elasticsearch.Net.Providers; -using PurifyNet; - -namespace Elasticsearch.Net.Connection -{ - public class HttpConnection : IConnection - { - const int BUFFER_SIZE = 1024; - - protected IConnectionConfigurationValues ConnectionSettings { get; set; } - private readonly Semaphore _resourceLock; - private readonly bool _enableTrace; - - static HttpConnection() - { - ServicePointManager.UseNagleAlgorithm = false; - ServicePointManager.Expect100Continue = false; - ServicePointManager.DefaultConnectionLimit = 10000; - } - - public HttpConnection(IConnectionConfigurationValues settings) - { - if (settings == null) - throw new ArgumentNullException("settings"); - - this.ConnectionSettings = settings; - if (settings.MaximumAsyncConnections > 0) - { - var semaphore = Math.Max(1, settings.MaximumAsyncConnections); - this._resourceLock = new Semaphore(semaphore, semaphore); - } - this._enableTrace = settings.TraceEnabled; - } - - public virtual ElasticsearchResponse GetSync(Uri uri, IRequestConfiguration requestSpecificConfig = null) - { - return this.HeaderOnlyRequest(uri, "GET", requestSpecificConfig); - } - public virtual ElasticsearchResponse HeadSync(Uri uri, IRequestConfiguration requestSpecificConfig = null) - { - return this.HeaderOnlyRequest(uri, "HEAD", requestSpecificConfig); - } - - public virtual ElasticsearchResponse PostSync(Uri uri, byte[] data, IRequestConfiguration requestSpecificConfig = null) - { - return this.BodyRequest(uri, data, "POST", requestSpecificConfig); - } - public virtual ElasticsearchResponse PutSync(Uri uri, byte[] data, IRequestConfiguration requestSpecificConfig = null) - { - return this.BodyRequest(uri, data, "PUT", requestSpecificConfig); - } - public virtual ElasticsearchResponse DeleteSync(Uri uri, IRequestConfiguration requestSpecificConfig = null) - { - return this.HeaderOnlyRequest(uri, "DELETE", requestSpecificConfig); - } - public virtual ElasticsearchResponse DeleteSync(Uri uri, byte[] data, IRequestConfiguration requestSpecificConfig = null) - { - return this.BodyRequest(uri, data, "DELETE", requestSpecificConfig); - } - - - private ElasticsearchResponse HeaderOnlyRequest(Uri uri, string method, IRequestConfiguration requestSpecificConfig) - { - var r = this.CreateHttpWebRequest(uri, method, null, requestSpecificConfig); - return this.DoSynchronousRequest(r, requestSpecificConfig: requestSpecificConfig); - } - - private ElasticsearchResponse BodyRequest(Uri uri, byte[] data, string method, IRequestConfiguration requestSpecificConfig) - { - var r = this.CreateHttpWebRequest(uri, method, data, requestSpecificConfig); - return this.DoSynchronousRequest(r, data, requestSpecificConfig); - } - - public virtual Task> Get(Uri uri, IRequestConfiguration requestSpecificConfig = null) - { - var r = this.CreateHttpWebRequest(uri, "GET", null, requestSpecificConfig); - return this.DoAsyncRequest(r, requestSpecificConfig: requestSpecificConfig); - } - public virtual Task> Head(Uri uri, IRequestConfiguration requestSpecificConfig = null) - { - var r = this.CreateHttpWebRequest(uri, "HEAD", null, requestSpecificConfig); - return this.DoAsyncRequest(r, requestSpecificConfig: requestSpecificConfig); - } - public virtual Task> Post(Uri uri, byte[] data, IRequestConfiguration requestSpecificConfig = null) - { - var r = this.CreateHttpWebRequest(uri, "POST", data, requestSpecificConfig); - return this.DoAsyncRequest(r, data, requestSpecificConfig: requestSpecificConfig); - } - - public virtual Task> Put(Uri uri, byte[] data, IRequestConfiguration requestSpecificConfig = null) - { - var r = this.CreateHttpWebRequest(uri, "PUT", data, requestSpecificConfig); - return this.DoAsyncRequest(r, data, requestSpecificConfig: requestSpecificConfig); - } - - public virtual Task> Delete(Uri uri, byte[] data, IRequestConfiguration requestSpecificConfig = null) - { - var r = this.CreateHttpWebRequest(uri, "DELETE", data, requestSpecificConfig); - return this.DoAsyncRequest(r, data, requestSpecificConfig: requestSpecificConfig); - } - public virtual Task> Delete(Uri uri, IRequestConfiguration requestSpecificConfig = null) - { - var r = this.CreateHttpWebRequest(uri, "DELETE", null, requestSpecificConfig); - return this.DoAsyncRequest(r, requestSpecificConfig: requestSpecificConfig); - } - - private static void ThreadTimeoutCallback(object state, bool timedOut) - { - if (timedOut) - { - HttpWebRequest request = state as HttpWebRequest; - if (request != null) - { - request.Abort(); - } - } - } - - - protected virtual HttpWebRequest CreateHttpWebRequest(Uri uri, string method, byte[] data, IRequestConfiguration requestSpecificConfig) - { - var myReq = this.CreateWebRequest(uri, method, data, requestSpecificConfig); - this.SetBasicAuthorizationIfNeeded(myReq); - this.SetProxyIfNeeded(myReq); - return myReq; - } - - private void SetProxyIfNeeded(HttpWebRequest myReq) - { - if (!string.IsNullOrEmpty(this.ConnectionSettings.ProxyAddress)) - { - var proxy = new WebProxy(); - var uri = new Uri(this.ConnectionSettings.ProxyAddress); - var credentials = new NetworkCredential(this.ConnectionSettings.ProxyUsername, this.ConnectionSettings.ProxyPassword); - proxy.Address = uri; - proxy.Credentials = credentials; - myReq.Proxy = proxy; - } - if(!this.ConnectionSettings.AutomaticProxyDetection) - { - myReq.Proxy = null; - } - } - - private void SetBasicAuthorizationIfNeeded(HttpWebRequest myReq) - { - //TODO figure out a way to cache this; - - //if (this._ConnectionSettings.UriSpecifiedBasicAuth) - //{ - myReq.Headers["Authorization"] = - "Basic " + Convert.ToBase64String(Encoding.UTF8.GetBytes(myReq.RequestUri.UserInfo)); - //} - } - - protected virtual HttpWebRequest CreateWebRequest(Uri uri, string method, byte[] data, IRequestConfiguration requestSpecificConfig) - { - //TODO append global querystring - //var url = this._CreateUriString(path); - - var myReq = (HttpWebRequest)WebRequest.Create(uri); - myReq.Accept = "application/json"; - myReq.ContentType = "application/json"; - if (this.ConnectionSettings.EnableCompressedResponses) - { - myReq.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate; - myReq.Headers.Add("Accept-Encoding", "gzip,deflate"); - } - if (requestSpecificConfig != null && !string.IsNullOrWhiteSpace(requestSpecificConfig.ContentType)) - { - myReq.Accept = requestSpecificConfig.ContentType; - myReq.ContentType = requestSpecificConfig.ContentType; - } - var timeout = GetRequestTimeout(requestSpecificConfig); - myReq.Timeout = timeout; - myReq.ReadWriteTimeout = timeout; - myReq.Method = method; - - //WebRequest won't send Content-Length: 0 for empty bodies - //which goes against RFC's and might break i.e IIS when used as a proxy. - //see: https://github.com/elasticsearch/elasticsearch-net/issues/562 - var m = method.ToLowerInvariant(); - if (m != "head" && m != "get" && (data == null || data.Length == 0)) - myReq.ContentLength = 0; - - return myReq; - } - - protected virtual ElasticsearchResponse DoSynchronousRequest(HttpWebRequest request, byte[] data = null, IRequestConfiguration requestSpecificConfig = null) - { - var path = request.RequestUri.ToString(); - var method = request.Method; - - if (data != null) - { - using (var r = request.GetRequestStream()) - { - r.Write(data, 0, data.Length); - } - } - try - { - //http://msdn.microsoft.com/en-us/library/system.net.httpwebresponse.getresponsestream.aspx - //Either the stream or the response object needs to be closed but not both although it won't - //throw any errors if both are closed atleast one of them has to be Closed. - //Since we expose the stream we let closing the stream determining when to close the connection - var response = (HttpWebResponse)request.GetResponse(); - var responseStream = response.GetResponseStream(); - return WebToElasticsearchResponse(data, responseStream, response, method, path); - } - catch (WebException webException) - { - return HandleWebException(data, webException, method, path); - } - } - - private ElasticsearchResponse HandleWebException(byte[] data, WebException webException, string method, string path) - { - ElasticsearchResponse cs = null; - var httpEx = webException.Response as HttpWebResponse; - if (httpEx != null) - { - cs = WebToElasticsearchResponse(data, httpEx.GetResponseStream(), httpEx, method, path); - return cs; - } - cs = ElasticsearchResponse.CreateError(this.ConnectionSettings, webException, method, path, data); - return cs; - } - - private ElasticsearchResponse WebToElasticsearchResponse(byte[] data, Stream responseStream, HttpWebResponse response, string method, string path) - { - ElasticsearchResponse cs = ElasticsearchResponse.Create(this.ConnectionSettings, (int)response.StatusCode, method, path, data); - cs.Response = responseStream; - return cs; - } - - protected virtual Task> DoAsyncRequest(HttpWebRequest request, byte[] data = null, IRequestConfiguration requestSpecificConfig = null) - { - var tcs = new TaskCompletionSource>(); - if (this.ConnectionSettings.MaximumAsyncConnections <= 0 - || this._resourceLock == null) - return this.CreateIterateTask(request, data, requestSpecificConfig, tcs); - - var timeout = GetRequestTimeout(requestSpecificConfig); - var path = request.RequestUri.ToString(); - var method = request.Method; - if (!this._resourceLock.WaitOne(timeout)) - { - var m = "Could not start the operation before the timeout of " + timeout + - "ms completed while waiting for the semaphore"; - var cs = ElasticsearchResponse.CreateError(this.ConnectionSettings, new TimeoutException(m), method, path, data); - tcs.SetResult(cs); - return tcs.Task; - } - try - { - return this.CreateIterateTask(request, data, requestSpecificConfig, tcs); - } - finally - { - this._resourceLock.Release(); - } - } - - private Task> CreateIterateTask(HttpWebRequest request, byte[] data, IRequestConfiguration requestSpecificConfig, TaskCompletionSource> tcs) - { - this.Iterate(request, data, this._AsyncSteps(request, tcs, data, requestSpecificConfig), tcs); - return tcs.Task; - } - - private IEnumerable _AsyncSteps(HttpWebRequest request, TaskCompletionSource> tcs, byte[] data, IRequestConfiguration requestSpecificConfig) - { - var timeout = GetRequestTimeout(requestSpecificConfig); - - if (data != null) - { - var getRequestStream = Task.Factory.FromAsync(request.BeginGetRequestStream, request.EndGetRequestStream, null); - ThreadPool.RegisterWaitForSingleObject((getRequestStream as IAsyncResult).AsyncWaitHandle, ThreadTimeoutCallback, request, timeout, true); - yield return getRequestStream; - - var requestStream = getRequestStream.Result; - try - { - var writeToRequestStream = Task.Factory.FromAsync(requestStream.BeginWrite, requestStream.EndWrite, data, 0, data.Length, null); - yield return writeToRequestStream; - } - finally - { - requestStream.Close(); - } - } - - // Get the response - var getResponse = Task.Factory.FromAsync(request.BeginGetResponse, request.EndGetResponse, null); - ThreadPool.RegisterWaitForSingleObject((getResponse as IAsyncResult).AsyncWaitHandle, ThreadTimeoutCallback, request, timeout, true); - yield return getResponse; - - var path = request.RequestUri.ToString(); - var method = request.Method; - - //http://msdn.microsoft.com/en-us/library/system.net.httpwebresponse.getresponsestream.aspx - //Either the stream or the response object needs to be closed but not both (although it won't) - //throw any errors if both are closed atleast one of them has to be Closed. - //Since we expose the stream we let closing the stream determining when to close the connection - var response = (HttpWebResponse)getResponse.Result; - var responseStream = response.GetResponseStream(); - var cs = ElasticsearchResponse.Create(this.ConnectionSettings, (int)response.StatusCode, method, path, data); - cs.Response = responseStream; - tcs.TrySetResult(cs); - } - - private void Iterate(HttpWebRequest request, byte[] data, IEnumerable asyncIterator, TaskCompletionSource> tcs) - { - var enumerator = asyncIterator.GetEnumerator(); - Action recursiveBody = null; - recursiveBody = completedTask => - { - if (completedTask != null && completedTask.IsFaulted) - { - //none of the individual steps in _AsyncSteps run in parallel for 1 request - //as this would be impossible we can assume Aggregate Exception.InnerException - var exception = completedTask.Exception.InnerException; - - //cleanly exit from exceptions in stages if the exception is a webexception - if (exception is WebException) - { - var path = request.RequestUri.ToString(); - var method = request.Method; - var response = this.HandleWebException(data, exception as WebException, method, path); - tcs.SetResult(response); - } - else - tcs.TrySetException(exception); - enumerator.Dispose(); - } - else if (enumerator.MoveNext()) - { - enumerator.Current.ContinueWith(recursiveBody, TaskContinuationOptions.ExecuteSynchronously); - } - else enumerator.Dispose(); - }; - recursiveBody(null); - } - - private int GetRequestTimeout(IRequestConfiguration requestConfiguration) - { - if (requestConfiguration != null && requestConfiguration.ConnectTimeout.HasValue) - return requestConfiguration.RequestTimeout.Value; - - return this.ConnectionSettings.Timeout; - } - } -} +using System; +using System.Collections.Generic; +using System.IO; +using System.IO.Compression; +using System.Linq; +using System.Net; +using System.Runtime.InteropServices; +using System.Security.Cryptography; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using Elasticsearch.Net.Connection.Configuration; +using Elasticsearch.Net.Providers; +using PurifyNet; + +namespace Elasticsearch.Net.Connection +{ + public class HttpConnection : IConnection + { + const int BUFFER_SIZE = 1024; + + protected IConnectionConfigurationValues ConnectionSettings { get; set; } + private readonly Semaphore _resourceLock; + private readonly bool _enableTrace; + + static HttpConnection() + { + ServicePointManager.UseNagleAlgorithm = false; + ServicePointManager.Expect100Continue = false; + ServicePointManager.DefaultConnectionLimit = 10000; + //ServicePointManager.SetTcpKeepAlive(true, 2000, 2000); + + //WebException's GetResponse is limitted to 65kb by default. + //Elasticsearch can be alot more chatty then that when dumping exceptions + //On error responses, so lets up the ante. + + //Not available under mono + if (Type.GetType ("Mono.Runtime") == null) + HttpWebRequest.DefaultMaximumErrorResponseLength = -1; + } + + public HttpConnection(IConnectionConfigurationValues settings) + { + if (settings == null) + throw new ArgumentNullException("settings"); + + this.ConnectionSettings = settings; + if (settings.MaximumAsyncConnections > 0) + { + var semaphore = Math.Max(1, settings.MaximumAsyncConnections); + this._resourceLock = new Semaphore(semaphore, semaphore); + } + this._enableTrace = settings.TraceEnabled; + } + + public virtual ElasticsearchResponse GetSync(Uri uri, IRequestConfiguration requestSpecificConfig = null) + { + return this.HeaderOnlyRequest(uri, "GET", requestSpecificConfig); + } + public virtual ElasticsearchResponse HeadSync(Uri uri, IRequestConfiguration requestSpecificConfig = null) + { + return this.HeaderOnlyRequest(uri, "HEAD", requestSpecificConfig); + } + + public virtual ElasticsearchResponse PostSync(Uri uri, byte[] data, IRequestConfiguration requestSpecificConfig = null) + { + return this.BodyRequest(uri, data, "POST", requestSpecificConfig); + } + public virtual ElasticsearchResponse PutSync(Uri uri, byte[] data, IRequestConfiguration requestSpecificConfig = null) + { + return this.BodyRequest(uri, data, "PUT", requestSpecificConfig); + } + public virtual ElasticsearchResponse DeleteSync(Uri uri, IRequestConfiguration requestSpecificConfig = null) + { + return this.HeaderOnlyRequest(uri, "DELETE", requestSpecificConfig); + } + public virtual ElasticsearchResponse DeleteSync(Uri uri, byte[] data, IRequestConfiguration requestSpecificConfig = null) + { + return this.BodyRequest(uri, data, "DELETE", requestSpecificConfig); + } + + + private ElasticsearchResponse HeaderOnlyRequest(Uri uri, string method, IRequestConfiguration requestSpecificConfig) + { + var r = this.CreateHttpWebRequest(uri, method, null, requestSpecificConfig); + return this.DoSynchronousRequest(r, requestSpecificConfig: requestSpecificConfig); + } + + private ElasticsearchResponse BodyRequest(Uri uri, byte[] data, string method, IRequestConfiguration requestSpecificConfig) + { + var r = this.CreateHttpWebRequest(uri, method, data, requestSpecificConfig); + return this.DoSynchronousRequest(r, data, requestSpecificConfig); + } + + public virtual Task> Get(Uri uri, IRequestConfiguration requestSpecificConfig = null) + { + var r = this.CreateHttpWebRequest(uri, "GET", null, requestSpecificConfig); + return this.DoAsyncRequest(r, requestSpecificConfig: requestSpecificConfig); + } + public virtual Task> Head(Uri uri, IRequestConfiguration requestSpecificConfig = null) + { + var r = this.CreateHttpWebRequest(uri, "HEAD", null, requestSpecificConfig); + return this.DoAsyncRequest(r, requestSpecificConfig: requestSpecificConfig); + } + public virtual Task> Post(Uri uri, byte[] data, IRequestConfiguration requestSpecificConfig = null) + { + var r = this.CreateHttpWebRequest(uri, "POST", data, requestSpecificConfig); + return this.DoAsyncRequest(r, data, requestSpecificConfig: requestSpecificConfig); + } + + public virtual Task> Put(Uri uri, byte[] data, IRequestConfiguration requestSpecificConfig = null) + { + var r = this.CreateHttpWebRequest(uri, "PUT", data, requestSpecificConfig); + return this.DoAsyncRequest(r, data, requestSpecificConfig: requestSpecificConfig); + } + + public virtual Task> Delete(Uri uri, byte[] data, IRequestConfiguration requestSpecificConfig = null) + { + var r = this.CreateHttpWebRequest(uri, "DELETE", data, requestSpecificConfig); + return this.DoAsyncRequest(r, data, requestSpecificConfig: requestSpecificConfig); + } + public virtual Task> Delete(Uri uri, IRequestConfiguration requestSpecificConfig = null) + { + var r = this.CreateHttpWebRequest(uri, "DELETE", null, requestSpecificConfig); + return this.DoAsyncRequest(r, requestSpecificConfig: requestSpecificConfig); + } + + private static void ThreadTimeoutCallback(object state, bool timedOut) + { + if (timedOut) + { + HttpWebRequest request = state as HttpWebRequest; + if (request != null) + { + request.Abort(); + } + } + } + + + protected virtual HttpWebRequest CreateHttpWebRequest(Uri uri, string method, byte[] data, IRequestConfiguration requestSpecificConfig) + { + var myReq = this.CreateWebRequest(uri, method, data, requestSpecificConfig); + this.SetBasicAuthorizationIfNeeded(myReq); + this.SetProxyIfNeeded(myReq); + return myReq; + } + + private void SetProxyIfNeeded(HttpWebRequest myReq) + { + if (!string.IsNullOrEmpty(this.ConnectionSettings.ProxyAddress)) + { + var proxy = new WebProxy(); + var uri = new Uri(this.ConnectionSettings.ProxyAddress); + var credentials = new NetworkCredential(this.ConnectionSettings.ProxyUsername, this.ConnectionSettings.ProxyPassword); + proxy.Address = uri; + proxy.Credentials = credentials; + myReq.Proxy = proxy; + } + if(!this.ConnectionSettings.AutomaticProxyDetection) + { + myReq.Proxy = null; + } + } + + private void SetBasicAuthorizationIfNeeded(HttpWebRequest myReq) + { + //TODO figure out a way to cache this; + + //if (this._ConnectionSettings.UriSpecifiedBasicAuth) + //{ + myReq.Headers["Authorization"] = + "Basic " + Convert.ToBase64String(Encoding.UTF8.GetBytes(myReq.RequestUri.UserInfo)); + //} + } + + protected virtual HttpWebRequest CreateWebRequest(Uri uri, string method, byte[] data, IRequestConfiguration requestSpecificConfig) + { + //TODO append global querystring + //var url = this._CreateUriString(path); + + var myReq = (HttpWebRequest)WebRequest.Create(uri); + myReq.Accept = "application/json"; + myReq.ContentType = "application/json"; + myReq.MaximumResponseHeadersLength = -1; + //myReq.AllowWriteStreamBuffering = false; + if (this.ConnectionSettings.EnableCompressedResponses) + { + myReq.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate; + myReq.Headers.Add("Accept-Encoding", "gzip,deflate"); + } + if (requestSpecificConfig != null && !string.IsNullOrWhiteSpace(requestSpecificConfig.ContentType)) + { + myReq.Accept = requestSpecificConfig.ContentType; + myReq.ContentType = requestSpecificConfig.ContentType; + } + var timeout = GetRequestTimeout(requestSpecificConfig); + myReq.Timeout = timeout; + myReq.ReadWriteTimeout = timeout; + myReq.Method = method; + + //WebRequest won't send Content-Length: 0 for empty bodies + //which goes against RFC's and might break i.e IIS when used as a proxy. + //see: https://github.com/elasticsearch/elasticsearch-net/issues/562 + var m = method.ToLowerInvariant(); + if (m != "head" && m != "get" && (data == null || data.Length == 0)) + myReq.ContentLength = 0; + + return myReq; + } + + protected virtual ElasticsearchResponse DoSynchronousRequest(HttpWebRequest request, byte[] data = null, IRequestConfiguration requestSpecificConfig = null) + { + var path = request.RequestUri.ToString(); + var method = request.Method; + + if (data != null) + { + using (var r = request.GetRequestStream()) + { + r.Write(data, 0, data.Length); + } + } + try + { + //http://msdn.microsoft.com/en-us/library/system.net.httpwebresponse.getresponsestream.aspx + //Either the stream or the response object needs to be closed but not both although it won't + //throw any errors if both are closed atleast one of them has to be Closed. + //Since we expose the stream we let closing the stream determining when to close the connection + var response = (HttpWebResponse)request.GetResponse(); + var responseStream = response.GetResponseStream(); + return WebToElasticsearchResponse(data, responseStream, response, method, path); + } + catch (WebException webException) + { + return HandleWebException(data, webException, method, path); + } + } + + private ElasticsearchResponse HandleWebException(byte[] data, WebException webException, string method, string path) + { + ElasticsearchResponse cs = null; + var httpEx = webException.Response as HttpWebResponse; + if (httpEx != null) + { + //StreamReader ms = new StreamReader(httpEx.GetResponseStream()); + //var response = ms.ReadToEnd(); + cs = WebToElasticsearchResponse(data, httpEx.GetResponseStream(), httpEx, method, path); + return cs; + } + cs = ElasticsearchResponse.CreateError(this.ConnectionSettings, webException, method, path, data); + return cs; + } + + private ElasticsearchResponse WebToElasticsearchResponse(byte[] data, Stream responseStream, HttpWebResponse response, string method, string path) + { + ElasticsearchResponse cs = ElasticsearchResponse.Create(this.ConnectionSettings, (int)response.StatusCode, method, path, data); + cs.Response = responseStream; + return cs; + } + + protected virtual Task> DoAsyncRequest(HttpWebRequest request, byte[] data = null, IRequestConfiguration requestSpecificConfig = null) + { + var tcs = new TaskCompletionSource>(); + if (this.ConnectionSettings.MaximumAsyncConnections <= 0 + || this._resourceLock == null) + return this.CreateIterateTask(request, data, requestSpecificConfig, tcs); + + var timeout = GetRequestTimeout(requestSpecificConfig); + var path = request.RequestUri.ToString(); + var method = request.Method; + if (!this._resourceLock.WaitOne(timeout)) + { + var m = "Could not start the operation before the timeout of " + timeout + + "ms completed while waiting for the semaphore"; + var cs = ElasticsearchResponse.CreateError(this.ConnectionSettings, new TimeoutException(m), method, path, data); + tcs.SetResult(cs); + return tcs.Task; + } + try + { + return this.CreateIterateTask(request, data, requestSpecificConfig, tcs); + } + finally + { + this._resourceLock.Release(); + } + } + + private Task> CreateIterateTask(HttpWebRequest request, byte[] data, IRequestConfiguration requestSpecificConfig, TaskCompletionSource> tcs) + { + this.Iterate(request, data, this._AsyncSteps(request, tcs, data, requestSpecificConfig), tcs); + return tcs.Task; + } + + private IEnumerable _AsyncSteps(HttpWebRequest request, TaskCompletionSource> tcs, byte[] data, IRequestConfiguration requestSpecificConfig) + { + var timeout = GetRequestTimeout(requestSpecificConfig); + + if (data != null) + { + var getRequestStream = Task.Factory.FromAsync(request.BeginGetRequestStream, request.EndGetRequestStream, null); + ThreadPool.RegisterWaitForSingleObject((getRequestStream as IAsyncResult).AsyncWaitHandle, ThreadTimeoutCallback, request, timeout, true); + yield return getRequestStream; + + var requestStream = getRequestStream.Result; + try + { + var writeToRequestStream = Task.Factory.FromAsync(requestStream.BeginWrite, requestStream.EndWrite, data, 0, data.Length, null); + yield return writeToRequestStream; + } + finally + { + requestStream.Close(); + } + } + + // Get the response + var getResponse = Task.Factory.FromAsync(request.BeginGetResponse, request.EndGetResponse, null); + ThreadPool.RegisterWaitForSingleObject((getResponse as IAsyncResult).AsyncWaitHandle, ThreadTimeoutCallback, request, timeout, true); + yield return getResponse; + + var path = request.RequestUri.ToString(); + var method = request.Method; + + //http://msdn.microsoft.com/en-us/library/system.net.httpwebresponse.getresponsestream.aspx + //Either the stream or the response object needs to be closed but not both (although it won't) + //throw any errors if both are closed atleast one of them has to be Closed. + //Since we expose the stream we let closing the stream determining when to close the connection + var response = (HttpWebResponse)getResponse.Result; + var responseStream = response.GetResponseStream(); + var cs = ElasticsearchResponse.Create(this.ConnectionSettings, (int)response.StatusCode, method, path, data); + cs.Response = responseStream; + tcs.TrySetResult(cs); + } + + private void Iterate(HttpWebRequest request, byte[] data, IEnumerable asyncIterator, TaskCompletionSource> tcs) + { + var enumerator = asyncIterator.GetEnumerator(); + Action recursiveBody = null; + recursiveBody = completedTask => + { + if (completedTask != null && completedTask.IsFaulted) + { + //none of the individual steps in _AsyncSteps run in parallel for 1 request + //as this would be impossible we can assume Aggregate Exception.InnerException + var exception = completedTask.Exception.InnerException; + + //cleanly exit from exceptions in stages if the exception is a webexception + if (exception is WebException) + { + var path = request.RequestUri.ToString(); + var method = request.Method; + var response = this.HandleWebException(data, exception as WebException, method, path); + tcs.SetResult(response); + } + else + tcs.TrySetException(exception); + enumerator.Dispose(); + } + else if (enumerator.MoveNext()) + { + enumerator.Current.ContinueWith(recursiveBody, TaskContinuationOptions.ExecuteSynchronously); + } + else enumerator.Dispose(); + }; + recursiveBody(null); + } + + private int GetRequestTimeout(IRequestConfiguration requestConfiguration) + { + if (requestConfiguration != null && requestConfiguration.ConnectTimeout.HasValue) + return requestConfiguration.RequestTimeout.Value; + + return this.ConnectionSettings.Timeout; + } + } +} diff --git a/src/Elasticsearch.Net/Connection/InMemoryConnection.cs b/src/Elasticsearch.Net/Connection/InMemoryConnection.cs index f35f4f29c74..759d8ac3370 100644 --- a/src/Elasticsearch.Net/Connection/InMemoryConnection.cs +++ b/src/Elasticsearch.Net/Connection/InMemoryConnection.cs @@ -11,6 +11,8 @@ namespace Elasticsearch.Net.Connection public class InMemoryConnection : HttpConnection { private byte[] _fixedResultBytes = Encoding.UTF8.GetBytes("{ \"USING NEST IN MEMORY CONNECTION\" : null }"); + private int _statusCode; + public InMemoryConnection() : base(new ConnectionConfiguration()) { @@ -19,13 +21,14 @@ public InMemoryConnection() public InMemoryConnection(IConnectionConfigurationValues settings) : base(settings) { - + _statusCode = 200; } - public InMemoryConnection(IConnectionConfigurationValues settings, string fixedResult) + public InMemoryConnection(IConnectionConfigurationValues settings, string fixedResult, int statusCode = 200) : this(settings) { _fixedResultBytes = Encoding.UTF8.GetBytes(fixedResult); + _statusCode = statusCode; } protected override ElasticsearchResponse DoSynchronousRequest(HttpWebRequest request, byte[] data = null, IRequestConfiguration requestSpecificConfig = null) @@ -38,7 +41,7 @@ private ElasticsearchResponse ReturnConnectionStatus(HttpWebRequest requ var method = request.Method; var path = request.RequestUri.ToString(); - var cs = ElasticsearchResponse.Create(this.ConnectionSettings, 200, method, path, data); + var cs = ElasticsearchResponse.Create(this.ConnectionSettings, _statusCode, method, path, data); cs.Response = new MemoryStream(_fixedResultBytes); if (this.ConnectionSettings.ConnectionStatusHandler != null) this.ConnectionSettings.ConnectionStatusHandler(cs); diff --git a/src/Elasticsearch.Net/Connection/RequestState/ITransportRequestState.cs b/src/Elasticsearch.Net/Connection/RequestState/ITransportRequestState.cs index efafec2319f..df949982be4 100644 --- a/src/Elasticsearch.Net/Connection/RequestState/ITransportRequestState.cs +++ b/src/Elasticsearch.Net/Connection/RequestState/ITransportRequestState.cs @@ -15,6 +15,7 @@ internal interface ITransportRequestState int? Seed { get; set; } Uri CurrentNode { get; set; } List RequestMetrics { get; set; } + List SeenExceptions { get; } Func ResponseCreationOverride { get; set; } } } \ No newline at end of file diff --git a/src/Elasticsearch.Net/Connection/RequestState/TransportRequestState.cs b/src/Elasticsearch.Net/Connection/RequestState/TransportRequestState.cs index 09ef860c3bc..2c62c87c728 100644 --- a/src/Elasticsearch.Net/Connection/RequestState/TransportRequestState.cs +++ b/src/Elasticsearch.Net/Connection/RequestState/TransportRequestState.cs @@ -46,6 +46,7 @@ public IRequestConfiguration RequestConfiguration public int Sniffs { get; set; } public List SeenNodes { get; private set; } + public List SeenExceptions { get; private set; } public List RequestMetrics { get; set; } public Uri CurrentNode @@ -76,6 +77,7 @@ public TransportRequestState( { this.StartedOn = DateTime.UtcNow; this.SeenNodes = new List(); + this.SeenExceptions = new List(); this.ClientSettings = settings; this.RequestParameters = requestParameters; this._traceEnabled = settings.TraceEnabled; @@ -125,6 +127,12 @@ public Uri CreatePathOnCurrentNode(string path = null) public void SetResult(ElasticsearchResponse result) { + if (result == null) + { + if (!_traceEnabled) return; + this._stopwatch.Stop(); + return; + } result.NumberOfRetries = this.Retried; if (this.ClientSettings.MetricsEnabled) result.Metrics = new CallMetrics diff --git a/src/Elasticsearch.Net/Connection/Transport.cs b/src/Elasticsearch.Net/Connection/Transport.cs index ec4ee253396..449d748dd60 100644 --- a/src/Elasticsearch.Net/Connection/Transport.cs +++ b/src/Elasticsearch.Net/Connection/Transport.cs @@ -6,6 +6,7 @@ using System.Net; using System.Security.Cryptography; using System.Security.Cryptography.X509Certificates; +using System.Text.RegularExpressions; using System.Threading; using System.Threading.Tasks; using Elasticsearch.Net.Connection.Configuration; @@ -67,17 +68,28 @@ private bool Ping(ITransportRequestState requestState) ConnectTimeout = pingTimeout, RequestTimeout = pingTimeout }; + try + { + ElasticsearchResponse response; + using (var rq = requestState.InitiateRequest(RequestType.Ping)) + { + response = this.Connection.HeadSync(requestState.CreatePathOnCurrentNode(""), requestOverrides); + rq.Finish(response.Success, response.HttpStatusCode); + } + if (!response.HttpStatusCode.HasValue || response.HttpStatusCode.Value == -1) + throw new Exception("ping returned no status code"); + if (response.Response == null) + return response.Success; + - ElasticsearchResponse response; - using (var rq = requestState.InitiateRequest(RequestType.Ping)) + using (response.Response) + return response.Success; + + } + catch (Exception e) { - response = this.Connection.HeadSync(requestState.CreatePathOnCurrentNode(""), requestOverrides); - rq.Finish(response.Success, response.HttpStatusCode); + throw new PingException(requestState.CurrentNode, e); } - if (response.Response == null) - return response.Success; - using (response.Response) - return response.Success; } private Task PingAsync(ITransportRequestState requestState) @@ -89,15 +101,34 @@ private Task PingAsync(ITransportRequestState requestState) RequestTimeout = pingTimeout }; var rq = requestState.InitiateRequest(RequestType.Ping); - return this.Connection.Head(requestState.CreatePathOnCurrentNode(""), requestOverrides) - .ContinueWith(t => - { - rq.Finish(t.Result.Success, t.Result.HttpStatusCode); - rq.Dispose(); - var response = t.Result; - using (response.Response) - return response.Success; - }); + try + { + return this.Connection.Head(requestState.CreatePathOnCurrentNode(""), requestOverrides) + .ContinueWith(t => + { + if (t.IsFaulted) + { + rq.Finish(false, null); + rq.Dispose(); + throw new PingException(requestState.CurrentNode, t.Exception); + } + rq.Finish(t.Result.Success, t.Result.HttpStatusCode); + rq.Dispose(); + var response = t.Result; + if (!response.HttpStatusCode.HasValue || response.HttpStatusCode.Value == -1) + throw new PingException(requestState.CurrentNode, t.Exception); + + using (response.Response) + return response.Success; + }); + } + catch (Exception e) + { + var tcs = new TaskCompletionSource(); + var pingException = new PingException(requestState.CurrentNode, e); + tcs.SetException(pingException); + return tcs.Task; + } } private IList Sniff(ITransportRequestState ownerState = null) @@ -111,30 +142,37 @@ private IList Sniff(ITransportRequestState ownerState = null) }; var requestParameters = new RequestParameters { RequestConfiguration = requestOverrides }; - - var path = "_nodes/_all/clear?timeout=" + pingTimeout; - ElasticsearchResponse response; - using (var requestState = new TransportRequestState(this.Settings, requestParameters, "GET", path)) + try { - response = this.DoRequest(requestState); - //inform the owing request state of the requests the sniffs did. - if (requestState.RequestMetrics != null && ownerState != null) + var path = "_nodes/_all/clear?timeout=" + pingTimeout; + ElasticsearchResponse response; + using (var requestState = new TransportRequestState(this.Settings, requestParameters, "GET", path)) { - foreach (var r in requestState.RequestMetrics.Where(p => p.RequestType == RequestType.ElasticsearchCall)) - r.RequestType = RequestType.Sniff; + response = this.DoRequest(requestState); + //inform the owing request state of the requests the sniffs did. + if (requestState.RequestMetrics != null && ownerState != null) + { + foreach (var r in requestState.RequestMetrics.Where(p => p.RequestType == RequestType.ElasticsearchCall)) + r.RequestType = RequestType.Sniff; - if (ownerState.RequestMetrics == null) ownerState.RequestMetrics = new List(); - ownerState.RequestMetrics.AddRange(requestState.RequestMetrics); - } - if (response.Response == null) return null; - using (response.Response) - { - return Sniffer.FromStream(response, response.Response, this.Serializer); + if (ownerState.RequestMetrics == null) ownerState.RequestMetrics = new List(); + ownerState.RequestMetrics.AddRange(requestState.RequestMetrics); + } + if (response.Response == null) return null; + + using (response.Response) + { + return Sniffer.FromStream(response, response.Response, this.Serializer); + } } } + catch (MaxRetryException e) + { + throw new MaxRetryException(new SniffException(e)); + } } private void SniffClusterState(ITransportRequestState requestState = null) @@ -312,16 +350,21 @@ private ElasticsearchResponse DoRequest(TransportRequestState requestSt return typedResponse; } } + catch (MaxRetryException) + { + throw; + } catch (ElasticsearchServerException) { throw; } catch (Exception e) { + requestState.SeenExceptions.Add(e); if (maxRetries == 0 && retried == 0) throw; seenError = true; - return RetryRequest(requestState, e); + return RetryRequest(requestState); } finally { @@ -332,16 +375,15 @@ private ElasticsearchResponse DoRequest(TransportRequestState requestSt return RetryRequest(requestState); } - private ElasticsearchResponse RetryRequest(TransportRequestState requestState, Exception e = null) + private ElasticsearchResponse RetryRequest(TransportRequestState requestState) { var maxRetries = this.GetMaximumRetries(requestState.RequestConfiguration); - var exceptionMessage = CreateMaxRetryExceptionMessage(requestState, e); this._connectionPool.MarkDead(requestState.CurrentNode, this.ConfigurationValues.DeadTimeout, this.ConfigurationValues.MaxDeadTimeout); SniffOnConnectionFailure(requestState); - if (requestState.Retried >= maxRetries) throw new MaxRetryException(exceptionMessage, e); + ThrowMaxRetryExceptionWhenNeeded(requestState, maxRetries); return this.DoRequest(requestState); } @@ -380,16 +422,19 @@ public Task> DoRequestAsync(string method, string pa { var tcs = new TaskCompletionSource>(); if (t.Exception != null) + { tcs.SetException(t.Exception.Flatten()); + requestState.SetResult(null); + } else { tcs.SetResult(t.Result); + requestState.SetResult(t.Result); } - requestState.SetResult(t.Result); - return tcs.Task; - }).Unwrap(); + }).Unwrap() + ; } } @@ -403,14 +448,15 @@ private Task> DoRequestAsync(TransportRequestState { + if (t.IsFaulted) + { + requestState.SeenExceptions.Add(t.Exception.InnerException); + return this.RetryRequestAsync(requestState); + } if (t.IsCompleted) { - if (!t.Result) - return this.RetryRequestAsync(requestState, t.Exception); return this.FinishOrRetryRequestAsync(requestState); } - if (t.IsFaulted) - return this.RetryRequestAsync(requestState, t.Exception); return null; }).Unwrap(); } @@ -432,7 +478,8 @@ private Task> FinishOrRetryRequestAsync(TransportReq { rq.Dispose(); if (maxRetries == 0 && retried == 0) throw t.Exception; - return this.RetryRequestAsync(requestState, t.Exception); + requestState.SeenExceptions.Add(t.Exception); + return this.RetryRequestAsync(requestState); } if (t.Result.SuccessOrKnownError @@ -462,21 +509,32 @@ private Task> FinishOrRetryRequestAsync(TransportReq }).Unwrap(); } - private Task> RetryRequestAsync(TransportRequestState requestState, Exception e = null) + private Task> RetryRequestAsync(TransportRequestState requestState) { var maxRetries = this.GetMaximumRetries(requestState.RequestConfiguration); - var exceptionMessage = CreateMaxRetryExceptionMessage(requestState, e); this._connectionPool.MarkDead(requestState.CurrentNode, this.ConfigurationValues.DeadTimeout, this.ConfigurationValues.MaxDeadTimeout); this.SniffOnConnectionFailure(requestState); - if (requestState.Retried >= maxRetries) - throw new MaxRetryException(exceptionMessage, e); + ThrowMaxRetryExceptionWhenNeeded(requestState, maxRetries); return this.DoRequestAsync(requestState); } + private static void ThrowMaxRetryExceptionWhenNeeded(TransportRequestState requestState, int maxRetries) + { + if (requestState.Retried < maxRetries) return; + var innerExceptions = requestState.SeenExceptions.Where(e => e != null).ToList(); + var innerException = !innerExceptions.HasAny() + ? null + : (innerExceptions.Count() == 1) + ? innerExceptions.First() + : new AggregateException(requestState.SeenExceptions); + var exceptionMessage = CreateMaxRetryExceptionMessage(requestState, innerException); + throw new MaxRetryException(exceptionMessage, innerException); + } + private static string CreateMaxRetryExceptionMessage(TransportRequestState requestState, Exception e) { string innerException = null; @@ -490,10 +548,10 @@ private static string CreateMaxRetryExceptionMessage(TransportRequestState var innerExceptions = aggregate.InnerExceptions .Select(ae => MaxRetryInnerMessage.F(ae.GetType().Name, ae.Message, ae.StackTrace)) .ToList(); - innerException = string.Join("\r\n", innerExceptions); + innerException = "\r\n" + string.Join("\r\n", innerExceptions); } else - innerException = MaxRetryInnerMessage.F(e.GetType().Name, e.Message, e.StackTrace); + innerException = "\r\n" + MaxRetryInnerMessage.F(e.GetType().Name, e.Message, e.StackTrace); } var exceptionMessage = MaxRetryExceptionMessage .F(requestState.Method, requestState.Path, requestState.Retried, innerException); @@ -505,18 +563,29 @@ private Task> CallIntoConnectionAsync(Transport var uri = requestState.CreatePathOnCurrentNode(); var postData = requestState.PostData; var requestConfiguration = requestState.RequestConfiguration; - switch (requestState.Method.ToLowerInvariant()) + var method = requestState.Method.ToLowerInvariant(); + try { - case "head": return this.Connection.Head(uri, requestConfiguration); - case "get": return this.Connection.Get(uri, requestConfiguration); - case "post": return this.Connection.Post(uri, postData, requestConfiguration); - case "put": return this.Connection.Put(uri, postData, requestConfiguration); - case "delete": - return postData == null || postData.Length == 0 - ? this.Connection.Delete(uri, requestConfiguration) - : this.Connection.Delete(uri, postData, requestConfiguration); + switch (method) + { + case "head": return this.Connection.Head(uri, requestConfiguration); + case "get": return this.Connection.Get(uri, requestConfiguration); + case "post": return this.Connection.Post(uri, postData, requestConfiguration); + case "put": return this.Connection.Put(uri, postData, requestConfiguration); + case "delete": + return postData == null || postData.Length == 0 + ? this.Connection.Delete(uri, requestConfiguration) + : this.Connection.Delete(uri, postData, requestConfiguration); + default: + throw new Exception("Unknown HTTP method " + requestState.Method); + } + } + catch (Exception e) + { + var tcs = new TaskCompletionSource>(); + tcs.SetException(e); + return tcs.Task; } - throw new Exception("Unknown HTTP method " + requestState.Method); } private Task Iterate(IEnumerable asyncIterator, MemoryStream memoryStream) @@ -555,6 +624,10 @@ private ElasticsearchServerError ThrowOrGetErrorFromStreamResponse( if (IsValidResponse(requestState, streamResponse)) return null; + if (((streamResponse.HttpStatusCode.HasValue && streamResponse.HttpStatusCode.Value <= 0) + || !streamResponse.HttpStatusCode.HasValue) && streamResponse.OriginalException != null) + throw streamResponse.OriginalException; + ElasticsearchServerError error = null; var type = typeof(T); @@ -577,8 +650,12 @@ private ElasticsearchServerError ThrowOrGetErrorFromStreamResponse( var e = this.Serializer.Deserialize(ms); error = ElasticsearchServerError.Create(e); } - catch { } + catch (Exception e) + { + var raw = ms.ToArray().Utf8String(); + } ms.Position = 0; + streamResponse.Response.Close(); streamResponse.Response = ms; } else @@ -593,9 +670,12 @@ private ElasticsearchServerError ThrowOrGetErrorFromStreamResponse( private static bool IsValidResponse(ITransportRequestState requestState, IElasticsearchResponse streamResponse) { - return (streamResponse.Success || requestState.RequestConfiguration != null) && - (streamResponse.Success || requestState.RequestConfiguration == null || - requestState.RequestConfiguration.AllowedStatusCodes.Any(i => i == streamResponse.HttpStatusCode)); + return streamResponse.Success || + (!streamResponse.Success + && requestState.RequestConfiguration != null + && requestState.RequestConfiguration.AllowedStatusCodes.HasAny(i => i == streamResponse.HttpStatusCode) + ); + } private bool TypeOfResponseCopiesDirectly() diff --git a/src/Elasticsearch.Net/ConnectionPool/StaticConnectionPool.cs b/src/Elasticsearch.Net/ConnectionPool/StaticConnectionPool.cs index a962877152b..3bb04ac2889 100644 --- a/src/Elasticsearch.Net/ConnectionPool/StaticConnectionPool.cs +++ b/src/Elasticsearch.Net/ConnectionPool/StaticConnectionPool.cs @@ -14,6 +14,7 @@ public class StaticConnectionPool : IConnectionPool protected IDictionary UriLookup; protected IList NodeUris; protected int Current = -1; + private Random _random; public int MaxRetries { get { return NodeUris.Count - 1; } } @@ -24,6 +25,7 @@ public StaticConnectionPool( bool randomizeOnStartup = true, IDateTimeProvider dateTimeProvider = null) { + _random = new Random(1337); _dateTimeProvider = dateTimeProvider ?? new DateTimeProvider(); var rnd = new Random(); uris.ThrowIfEmpty("uris"); diff --git a/src/Elasticsearch.Net/Elasticsearch.Net.csproj b/src/Elasticsearch.Net/Elasticsearch.Net.csproj index 55f2d78f6fe..5ba1c33fda7 100644 --- a/src/Elasticsearch.Net/Elasticsearch.Net.csproj +++ b/src/Elasticsearch.Net/Elasticsearch.Net.csproj @@ -128,4 +128,4 @@ --> - \ No newline at end of file + diff --git a/src/Elasticsearch.Net/Exceptions/MaxRetryException.cs b/src/Elasticsearch.Net/Exceptions/MaxRetryException.cs index 8f76b7d3f0d..e37dee4cda1 100644 --- a/src/Elasticsearch.Net/Exceptions/MaxRetryException.cs +++ b/src/Elasticsearch.Net/Exceptions/MaxRetryException.cs @@ -12,15 +12,35 @@ namespace Elasticsearch.Net.Exceptions public class MaxRetryException : Exception { - public MaxRetryException(string message) : base(message) + public MaxRetryException(string message) : base(message) { } + + public MaxRetryException(string message, Exception innerException) : base(message, innerException) { } + public MaxRetryException(Exception innerException) : base(innerException.Message, innerException) { } + } + + /// + /// Thrown when a sniff operation itself caused a maxrety exception + /// + public class SniffException : Exception + { + + public SniffException(MaxRetryException innerException) + : base("Sniffing known nodes in the cluster caused a maxretry exception of its own", innerException) { + } + } + + /// + /// Thrown when a ping operation itself caused a maxrety exception + /// + public class PingException : Exception + { - public MaxRetryException(string message, Exception innerException) : base(message, innerException) + public PingException(Uri baseURi, Exception innerException) + : base("Pinging {0} caused an exception".F(baseURi.ToString()), innerException) { } } - - } diff --git a/src/Elasticsearch.userprefs b/src/Elasticsearch.userprefs new file mode 100644 index 00000000000..e398ba610fe --- /dev/null +++ b/src/Elasticsearch.userprefs @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Nest/ElasticClient.cs b/src/Nest/ElasticClient.cs index 87b567d9732..9b1ab34077d 100644 --- a/src/Nest/ElasticClient.cs +++ b/src/Nest/ElasticClient.cs @@ -5,6 +5,7 @@ using System.Threading.Tasks; using Elasticsearch.Net; using Elasticsearch.Net.Connection; +using Elasticsearch.Net.Exceptions; namespace Nest { @@ -134,7 +135,21 @@ D descriptor { var pathInfo = descriptor.ToPathInfo(this._connectionSettings); return dispatch(pathInfo, descriptor) - .ContinueWith(r => ResultsSelector(r.Result, descriptor)); + .ContinueWith(r => + { + if (r.IsFaulted && r.Exception != null) + { + var mr = r.Exception.InnerException as MaxRetryException; + if (mr != null) + throw mr; + + var ae = r.Exception.Flatten(); + if (ae.InnerException != null) + throw ae.InnerException; + throw ae; + } + return ResultsSelector(r.Result, descriptor); + }); } diff --git a/src/Nest/Nest.csproj b/src/Nest/Nest.csproj index dd16d4d946e..a93bf7ee31a 100644 --- a/src/Nest/Nest.csproj +++ b/src/Nest/Nest.csproj @@ -885,7 +885,7 @@ - + @@ -896,4 +896,4 @@ --> - \ No newline at end of file + diff --git a/src/Tests/Elasticsearch.Net.Integration.Yaml/scroll/11_clear.yaml.cs b/src/Tests/Elasticsearch.Net.Integration.Yaml/scroll/11_clear.yaml.cs index cc53dc011dd..850ccccc2dc 100644 --- a/src/Tests/Elasticsearch.Net.Integration.Yaml/scroll/11_clear.yaml.cs +++ b/src/Tests/Elasticsearch.Net.Integration.Yaml/scroll/11_clear.yaml.cs @@ -1,59 +1,59 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using NUnit.Framework; - - -namespace Elasticsearch.Net.Integration.Yaml.Scroll2 -{ - public partial class Scroll2YamlTests - { - - - [NCrunch.Framework.ExclusivelyUses("ElasticsearchYamlTests")] - public class ClearScroll1Tests : YamlTestsBase - { - [Test] - public void ClearScroll1Test() - { - - //do indices.create - this.Do(()=> _client.IndicesCreate("test_scroll", null)); - - //do index - _body = new { - foo= "bar" - }; - this.Do(()=> _client.Index("test_scroll", "test", "42", _body)); - - //do indices.refresh - this.Do(()=> _client.IndicesRefreshForAll()); - - //do search - _body = new { - query= new { - match_all= new {} - } - }; - this.Do(()=> _client.Search("test_scroll", _body, nv=>nv - .AddQueryString("search_type", @"scan") - .AddQueryString("scroll", @"1m") - )); - - //set scroll_id1 = _response._scroll_id; - var scroll_id1 = _response._scroll_id; - - //do clear_scroll - this.Do(()=> _client.ClearScroll((string)scroll_id1, null)); - - //do scroll - this.Do(()=> _client.ScrollGet((string)scroll_id1), shouldCatch: @"missing"); - - //do clear_scroll - this.Do(()=> _client.ClearScroll((string)scroll_id1, null), shouldCatch: @"missing"); - - } - } - } -} - +using System; +using System.Collections.Generic; +using System.Linq; +using NUnit.Framework; + + +namespace Elasticsearch.Net.Integration.Yaml.Scroll2 +{ + public partial class Scroll2YamlTests + { + + + [NCrunch.Framework.ExclusivelyUses("ElasticsearchYamlTests")] + public class ClearScroll1Tests : YamlTestsBase + { + [Test] + public void ClearScroll1Test() + { + + //do indices.create + this.Do(()=> _client.IndicesCreate("test_scroll", null)); + + //do index + _body = new { + foo= "bar" + }; + this.Do(()=> _client.Index("test_scroll", "test", "42", _body)); + + //do indices.refresh + this.Do(()=> _client.IndicesRefreshForAll()); + + //do search + _body = new { + query= new { + match_all= new {} + } + }; + this.Do(()=> _client.Search("test_scroll", _body, nv=>nv + .AddQueryString("search_type", @"scan") + .AddQueryString("scroll", @"1m") + )); + + //set scroll_id1 = _response._scroll_id; + var scroll_id1 = _response._scroll_id; + + //do clear_scroll + this.Do(()=> _client.ClearScroll((string)scroll_id1, new {})); + + //do scroll + this.Do(()=> _client.ScrollGet((string)scroll_id1), shouldCatch: @"missing"); + + //do clear_scroll + this.Do(()=> _client.ClearScroll((string)scroll_id1, new {}), shouldCatch: @"missing"); + + } + } + } +} + diff --git a/src/Tests/Elasticsearch.Net.Tests.Unit/Connection/RetryTests.cs b/src/Tests/Elasticsearch.Net.Tests.Unit/Connection/RetryTests.cs index 0c30aa386ca..f0036c3e328 100644 --- a/src/Tests/Elasticsearch.Net.Tests.Unit/Connection/RetryTests.cs +++ b/src/Tests/Elasticsearch.Net.Tests.Unit/Connection/RetryTests.cs @@ -22,7 +22,7 @@ public class RetryTests .MaximumRetries(_retries); [Test] - public void ThrowsOutOfNodesException_AndRetriesTheSpecifiedTimes() + public void ThrowsMaxRetryException_AndRetriesTheSpecifiedTimes() { using (var fake = new AutoFake(callsDoNothing: true)) { @@ -41,9 +41,30 @@ public void ThrowsOutOfNodesException_AndRetriesTheSpecifiedTimes() } } + + [Test] + public void ThrowsMaxRetryException_AndRetriesTheSpecifiedTimes_HardIConnectionException_Async() + { + using (var fake = new AutoFake(callsDoNothing: true)) + { + fake.Provide(_connectionConfig); + FakeCalls.ProvideDefaultTransport(fake); + var getCall = FakeCalls.GetCall(fake); + + //return a started task that throws + getCall.Throws(); + + var client = fake.Resolve(); + + client.Settings.MaxRetries.Should().Be(_retries); + + Assert.Throws(async () => await client.InfoAsync()); + getCall.MustHaveHappened(Repeated.Exactly.Times(_retries + 1)); + } + } [Test] - public void ThrowsOutOfNodesException_AndRetriesTheSpecifiedTimes_Async() + public void ThrowsMaxRetryException_AndRetriesTheSpecifiedTimes_Async() { using (var fake = new AutoFake(callsDoNothing: true)) { @@ -179,6 +200,6 @@ public void ShouldRetryOn503_Async() getCall.MustHaveHappened(Repeated.Exactly.Times(_retries + 1)); } } - + } } diff --git a/src/Tests/Elasticsearch.Net.Tests.Unit/Connection/SniffingConnectionPoolTests.cs b/src/Tests/Elasticsearch.Net.Tests.Unit/Connection/SniffingConnectionPoolTests.cs index 53815d64ad4..7d5d610ffc7 100644 --- a/src/Tests/Elasticsearch.Net.Tests.Unit/Connection/SniffingConnectionPoolTests.cs +++ b/src/Tests/Elasticsearch.Net.Tests.Unit/Connection/SniffingConnectionPoolTests.cs @@ -335,5 +335,103 @@ public void HostsReturnedBySniffAreVisited() seenNodes[6].Port.Should().Be(9201); } } + + [Test] + public void ShouldRetryOnSniffConnectionException_Async() + { + using (var fake = new AutoFake(callsDoNothing: true)) + { + var uris = new[] + { + new Uri("http://localhost:9200"), + new Uri("http://localhost:9201"), + new Uri("http://localhost:9202") + }; + var connectionPool = new SniffingConnectionPool(uris, randomizeOnStartup: false); + var config = new ConnectionConfiguration(connectionPool) + .SniffOnConnectionFault(); + + fake.Provide(config); + + var pingAsyncCall = FakeCalls.PingAtConnectionLevelAsync(fake); + pingAsyncCall.Returns(FakeResponse.OkAsync(config)); + + //sniffing is always synchronous and in turn will issue synchronous pings + var pingCall = FakeCalls.PingAtConnectionLevel(fake); + pingCall.Returns(FakeResponse.Ok(config)); + + var sniffCall = FakeCalls.Sniff(fake); + var seenPorts = new List(); + sniffCall.ReturnsLazily((Uri u, IRequestConfiguration c) => + { + seenPorts.Add(u.Port); + throw new Exception("Something bad happened"); + }); + + var getCall = FakeCalls.GetCall(fake); + getCall.Returns(FakeResponse.BadAsync(config)); + + FakeCalls.ProvideDefaultTransport(fake); + + var client = fake.Resolve(); + + var e = Assert.Throws(async () => await client.NodesHotThreadsAsync("nodex")); + + //all nodes must be tried to sniff for more information + sniffCall.MustHaveHappened(Repeated.Exactly.Times(uris.Count())); + //make sure we only saw one call to hot threads (the one that failed initially) + getCall.MustHaveHappened(Repeated.Exactly.Once); + + //make sure the sniffs actually happened on all the individual nodes + seenPorts.ShouldAllBeEquivalentTo(uris.Select(u=>u.Port)); + e.InnerException.Message.Should().Contain("Sniffing known nodes"); + } + } + + [Test] + public void ShouldRetryOnSniffConnectionException() + { + using (var fake = new AutoFake(callsDoNothing: true)) + { + var uris = new[] + { + new Uri("http://localhost:9200"), + new Uri("http://localhost:9201") + }; + var connectionPool = new SniffingConnectionPool(uris, randomizeOnStartup: false); + var config = new ConnectionConfiguration(connectionPool) + .SniffOnConnectionFault(); + + fake.Provide(config); + FakeCalls.ProvideDefaultTransport(fake); + + var pingCall = FakeCalls.PingAtConnectionLevel(fake); + pingCall.Returns(FakeResponse.Ok(config)); + + var sniffCall = FakeCalls.Sniff(fake); + var seenPorts = new List(); + sniffCall.ReturnsLazily((Uri u, IRequestConfiguration c) => + { + seenPorts.Add(u.Port); + throw new Exception("Something bad happened"); + }); + + var getCall = FakeCalls.GetSyncCall(fake); + getCall.Returns(FakeResponse.Bad(config)); + + var client = fake.Resolve(); + + var e = Assert.Throws(() => client.Info()); + sniffCall.MustHaveHappened(Repeated.Exactly.Times(uris.Count())); + getCall.MustHaveHappened(Repeated.Exactly.Once); + + //make sure that if a ping throws an exception it wont + //keep retrying to ping the same node but failover to the next + seenPorts.ShouldAllBeEquivalentTo(uris.Select(u=>u.Port)); + + var sniffException = e.InnerException as SniffException; + sniffException.Should().NotBeNull(); + } + } } } \ No newline at end of file diff --git a/src/Tests/Elasticsearch.Net.Tests.Unit/Connection/StaticConnectionPoolRetryTests.cs b/src/Tests/Elasticsearch.Net.Tests.Unit/Connection/StaticConnectionPoolRetryTests.cs index 6468e48ee8d..849516ba7c8 100644 --- a/src/Tests/Elasticsearch.Net.Tests.Unit/Connection/StaticConnectionPoolRetryTests.cs +++ b/src/Tests/Elasticsearch.Net.Tests.Unit/Connection/StaticConnectionPoolRetryTests.cs @@ -2,6 +2,8 @@ using System.Collections.Generic; using System.IO; using System.Linq; +using System.Runtime.InteropServices; +using System.Threading.Tasks; using Autofac; using Autofac.Extras.FakeItEasy; using Elasticsearch.Net.Connection; @@ -372,5 +374,79 @@ public void IfAllButOneConnectionDiesSubsequentRequestsMustUseTheOneAliveConnect markLastAlive.MustHaveHappened(Repeated.Exactly.Times(4)); } } + + [Test] + public void ShouldRetryOnPingConnectionException_Async() + { + using (var fake = new AutoFake(callsDoNothing: true)) + { + var connectionPool = new StaticConnectionPool(_uris, randomizeOnStartup: false); + var config = new ConnectionConfiguration(connectionPool); + + fake.Provide(config); + FakeCalls.ProvideDefaultTransport(fake); + + var pingCall = FakeCalls.PingAtConnectionLevelAsync(fake); + var seenPorts = new List(); + pingCall.ReturnsLazily((Uri u, IRequestConfiguration c) => + { + seenPorts.Add(u.Port); + throw new Exception("Something bad happened"); + }); + + var getCall = FakeCalls.GetCall(fake); + getCall.Returns(FakeResponse.OkAsync(config)); + + var client = fake.Resolve(); + + var e = Assert.Throws(async () => await client.InfoAsync()); + pingCall.MustHaveHappened(Repeated.Exactly.Times(_retries + 1)); + getCall.MustNotHaveHappened(); + + //make sure that if a ping throws an exception it wont + //keep retrying to ping the same node but failover to the next + seenPorts.ShouldAllBeEquivalentTo(_uris.Select(u=>u.Port)); + var ae = e.InnerException as AggregateException; + ae = ae.Flatten(); + ae.InnerException.Message.Should().Contain("Pinging"); + } + } + + [Test] + public void ShouldRetryOnPingConnectionException() + { + using (var fake = new AutoFake(callsDoNothing: true)) + { + var connectionPool = new StaticConnectionPool(_uris, randomizeOnStartup: false); + var config = new ConnectionConfiguration(connectionPool); + + fake.Provide(config); + FakeCalls.ProvideDefaultTransport(fake); + + var pingCall = FakeCalls.PingAtConnectionLevel(fake); + var seenPorts = new List(); + pingCall.ReturnsLazily((Uri u, IRequestConfiguration c) => + { + seenPorts.Add(u.Port); + throw new Exception("Something bad happened"); + }); + + var getCall = FakeCalls.GetSyncCall(fake); + getCall.Returns(FakeResponse.Ok(config)); + + var client = fake.Resolve(); + + var e = Assert.Throws(() => client.Info()); + pingCall.MustHaveHappened(Repeated.Exactly.Times(_retries + 1)); + getCall.MustNotHaveHappened(); + + //make sure that if a ping throws an exception it wont + //keep retrying to ping the same node but failover to the next + seenPorts.ShouldAllBeEquivalentTo(_uris.Select(u=>u.Port)); + var aggregateException = e.InnerException as AggregateException; + aggregateException.Should().NotBeNull(); + aggregateException.InnerExceptions.Should().Contain(ex => ex.GetType().Name == "PingException"); + } + } } } diff --git a/src/Tests/Elasticsearch.Net.Tests.Unit/Stubs/FakeCalls.cs b/src/Tests/Elasticsearch.Net.Tests.Unit/Stubs/FakeCalls.cs index 71a60c6df92..56e41135618 100644 --- a/src/Tests/Elasticsearch.Net.Tests.Unit/Stubs/FakeCalls.cs +++ b/src/Tests/Elasticsearch.Net.Tests.Unit/Stubs/FakeCalls.cs @@ -74,23 +74,6 @@ private static Expression> IsRoot() { return u=>u.AbsolutePath == "/" || u.AbsolutePath == ""; } - public static IReturnValueConfiguration>> SniffAsync( - AutoFake fake, - IConnectionConfigurationValues configurationValues = null, - IList nodes = null - ) - { - var sniffCall = A.CallTo(() => fake.Resolve().Get( - A.That.Matches(IsSniffUrl()), - A._)); - if (nodes == null) return sniffCall; - var stream = SniffResponse(nodes); - var response = FakeResponse.Ok(configurationValues, "GET", "/_nodes/_all/clear", stream); - sniffCall.Returns(Task.FromResult(response)); - return sniffCall; - } - - public static ITransport ProvideDefaultTransport(AutoFake fake, IDateTimeProvider dateTimeProvider = null) { diff --git a/src/Tests/Nest.Tests.Integration/ConnectionTests.cs b/src/Tests/Nest.Tests.Integration/ConnectionTests.cs index 2d3d5734ff5..e76b11bebe3 100644 --- a/src/Tests/Nest.Tests.Integration/ConnectionTests.cs +++ b/src/Tests/Nest.Tests.Integration/ConnectionTests.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Net; using Elasticsearch.Net; using NUnit.Framework; @@ -24,7 +25,7 @@ public void TestConnectSuccess() Assert.True(rootNodeInfo.ConnectionStatus.Success); } [Test] - public void construct_client_with_null_or_empy_settings() + public void Construct_Client_With_NullOrEmpty_Settings() { Assert.Throws(() => { @@ -36,7 +37,7 @@ public void construct_client_with_null_or_empy_settings() }); } [Test] - public void construct_client_with_invalid_hostname() + public void Construct_Client_With_Invalid_Hostname() { Assert.Throws(() => { @@ -45,13 +46,13 @@ public void construct_client_with_invalid_hostname() } [Test] - public void connect_to_unknown_hostname() + public void Connect_To_Unknown_Hostname() { IRootInfoResponse result = null; //this test will fail if fiddler is enabled since the proxy //will report a statuscode of 502 instead of -1 - Assert.DoesNotThrow(() => + Assert.Throws(() => { var settings = new ConnectionSettings(new Uri("http://youdontownthis.domain.do.you"), "index"); var client = new ElasticClient(settings); diff --git a/src/Tests/Nest.Tests.Integration/ElasticsearchConfiguration.cs b/src/Tests/Nest.Tests.Integration/ElasticsearchConfiguration.cs index fde5553f2e7..71fb9bb9fd0 100644 --- a/src/Tests/Nest.Tests.Integration/ElasticsearchConfiguration.cs +++ b/src/Tests/Nest.Tests.Integration/ElasticsearchConfiguration.cs @@ -29,7 +29,7 @@ public static Version CurrentVersion public static Uri CreateBaseUri(int? port = null) { var host = Host; - if (port == null && Process.GetProcessesByName("fiddler").HasAny()) + if (port != 9500 && Process.GetProcessesByName("fiddler").HasAny()) host = "ipv4.fiddler"; var uri = new UriBuilder("http", host, port.GetValueOrDefault(9200)).Uri; diff --git a/src/Tests/Nest.Tests.Integration/Exceptions/ElasticsearchExceptionTests.cs b/src/Tests/Nest.Tests.Integration/Exceptions/ElasticsearchExceptionTests.cs new file mode 100644 index 00000000000..85ba60e69e6 --- /dev/null +++ b/src/Tests/Nest.Tests.Integration/Exceptions/ElasticsearchExceptionTests.cs @@ -0,0 +1,216 @@ +using System; +using System.Net; +using System.Runtime.Remoting.Channels; +using Elasticsearch.Net; +using Elasticsearch.Net.ConnectionPool; +using Elasticsearch.Net.Exceptions; +using FluentAssertions; +using Nest.Tests.MockData.Domain; +using NUnit.Framework; + +namespace Nest.Tests.Integration.Exceptions +{ + [TestFixture] + public class ElasticsearchExceptionTests + { + [Test] + public void ConnectionException_WithClientThatDoesNotThrow_StillThrows() + { + var uri = ElasticsearchConfiguration.CreateBaseUri(9492); + var client = new ElasticClient(new ConnectionSettings(uri).SetTimeout(500)); + var e = Assert.Throws(() => client.RootNodeInfo()); + } + + [Test] + public void ConnectionException_WithThrowingClient() + { + var uri = ElasticsearchConfiguration.CreateBaseUri(9494); + var client = new ElasticClient(new ConnectionSettings(uri) + .SetTimeout(500) + .ThrowOnElasticsearchServerExceptions()); + var e = Assert.Throws(() => client.RootNodeInfo()); + } + + [Test] + public void ConnectionException_WithClientThatDoesNotThrow_StillThrows_Async() + { + var uri = ElasticsearchConfiguration.CreateBaseUri(9492); + var client = new ElasticClient(new ConnectionSettings(uri).SetTimeout(500)); + Assert.Throws(async () => await client.RootNodeInfoAsync()); + } + + [Test] + public void ConnectionException_WithThrowingClient_Async() + { + var uri = ElasticsearchConfiguration.CreateBaseUri(9494); + var client = new ElasticClient(new ConnectionSettings(uri) + .SetTimeout(500) + .ThrowOnElasticsearchServerExceptions()); + Assert.Throws(async () => await client.RootNodeInfoAsync()); + } + + [Test] + public async void ServerError_Is_Set_ClientThat_DoesNotThow_AndDoesNotExposeRawResponse_Async() + { + var uri = ElasticsearchConfiguration.CreateBaseUri(); + var client = new ElasticClient(new ConnectionSettings(uri).ExposeRawResponse(false)); + Assert.DoesNotThrow(async () => + { + var result = await client.SearchAsync(s => s.QueryRaw(@"{ ""badjson"": {} }")); + result.IsValid.Should().BeFalse(); + result.ConnectionStatus.HttpStatusCode.Should().Be(400); + var e = result.ServerError; + e.Should().NotBeNull(); + e.ExceptionType.Should().Contain("SearchPhaseExecutionException"); + }); + } + + [Test] + public void ServerError_Is_Set_ClientThat_DoesNotThow_AndDoesNotExposeRawResponse() + { + var uri = ElasticsearchConfiguration.CreateBaseUri(); + var client = new ElasticClient(new ConnectionSettings(uri).ExposeRawResponse(false)); + Assert.DoesNotThrow(() => + { + var result = client.Search(s => s.QueryRaw(@"{ ""badjson"": {} }")); + result.IsValid.Should().BeFalse(); + result.ConnectionStatus.HttpStatusCode.Should().Be(400); + var e = result.ServerError; + e.Should().NotBeNull(); + e.ExceptionType.Should().Contain("SearchPhaseExecutionException"); + }); + } + + [Test] + public void ServerError_Is_Set_ClientThat_DoesNotThow() + { + var uri = ElasticsearchConfiguration.CreateBaseUri(); + var client = new ElasticClient(new ConnectionSettings(uri).ExposeRawResponse(true)); + Assert.DoesNotThrow(() => + { + var result = client.Search(s => s.QueryRaw(@"{ ""badjson"": {} }")); + result.IsValid.Should().BeFalse(); + result.ConnectionStatus.HttpStatusCode.Should().Be(400); + var e = result.ServerError; + e.Should().NotBeNull(); + e.ExceptionType.Should().Contain("SearchPhaseExecutionException"); + }); + } + + [Test] + public void WebException_WithThrowingClient_ThrowsMappedException() + { + var uri = ElasticsearchConfiguration.CreateBaseUri(); + var client = new ElasticClient(new ConnectionSettings(uri).ThrowOnElasticsearchServerExceptions()); + var e = Assert.Throws(() => client.Search(s => s.QueryRaw(@"{ ""badjson"" : {} }"))); + e.ExceptionType.Should().Contain("SearchPhaseExecutionException"); + } + + + [Test] + public void ConnectionPool_DoesNotThrowOnServerExceptions_ThrowsMaxRetryException_OnDeadNodes() + { + var uris = new [] + { + ElasticsearchConfiguration.CreateBaseUri(9201), + ElasticsearchConfiguration.CreateBaseUri(9202), + ElasticsearchConfiguration.CreateBaseUri(9203), + }; + var connectionPool = new StaticConnectionPool(uris); + var client = new ElasticClient(new ConnectionSettings(connectionPool) + .SetTimeout(1000) + ); + var e = Assert.Throws(() => + { + var result = client.Search(s => s.MatchAll()); + result.IsValid.Should().BeFalse(); + }); + e.Should().NotBeNull(); + } + + [Test] + public async void ConnectionPool_DoesNotThrowOnServerExceptions_ThrowsMaxRetryException_OnDeadNodes_Async() + { + var uris = new [] + { + ElasticsearchConfiguration.CreateBaseUri(9201), + ElasticsearchConfiguration.CreateBaseUri(9202), + ElasticsearchConfiguration.CreateBaseUri(9203), + }; + var connectionPool = new StaticConnectionPool(uris); + var client = new ElasticClient(new ConnectionSettings(connectionPool) + .SetTimeout(1000) + ); + + try + { + var result = await client.SearchAsync(s => s.MatchAll()); + result.IsValid.Should().BeFalse(); + } + catch (MaxRetryException e) + { + Assert.Pass("MaxRetryException caught"); + } + catch (Exception e) + { + Assert.Fail("Did not expect exception of type {0} to be caught", e.GetType().Name); + } + } + + [Test] + public void ConnectionPool_ThrowOnServerExceptions_ThrowsElasticsearchServerException() + { + var uris = new [] + { + ElasticsearchConfiguration.CreateBaseUri(9200), + ElasticsearchConfiguration.CreateBaseUri(9200), + ElasticsearchConfiguration.CreateBaseUri(9200), + }; + var connectionPool = new StaticConnectionPool(uris); + var client = new ElasticClient(new ConnectionSettings(connectionPool) + .ThrowOnElasticsearchServerExceptions() + .SetTimeout(1000) + ); + var e = Assert.Throws(() => + { + var index = ElasticsearchConfiguration.NewUniqueIndexName(); + var create = client.CreateIndex(index); + var close = client.CloseIndex(index); + var result = client.Search(s => s.Index(index)); + }); + e.Should().NotBeNull(); + } + + [Test] + public async void ConnectionPool_ThrowOnServerExceptions_ThrowsElasticsearchServerException_Async() + { + var uris = new [] + { + ElasticsearchConfiguration.CreateBaseUri(9200), + ElasticsearchConfiguration.CreateBaseUri(9200), + ElasticsearchConfiguration.CreateBaseUri(9200), + }; + var connectionPool = new StaticConnectionPool(uris); + var client = new ElasticClient(new ConnectionSettings(connectionPool) + .ThrowOnElasticsearchServerExceptions() + .SetTimeout(1000) + ); + try + { + + var index = ElasticsearchConfiguration.NewUniqueIndexName(); + var create = await client.CreateIndexAsync(i=>i.Index(index)); + var close = await client.CloseIndexAsync(i=>i.Index(index)); + var result = await client.SearchAsync(s => s.Index(index)); + } + catch (ElasticsearchServerException e) + { + Assert.Pass("ElasticearchServerException caught"); + } + catch (Exception e) + { + Assert.Fail("Did not expect exception of type {0} to be caught", e.GetType().Name); + } + } + } +} \ No newline at end of file diff --git a/src/Tests/Nest.Tests.Integration/Exceptions/ThrowAlwaysConnection.cs b/src/Tests/Nest.Tests.Integration/Exceptions/ThrowAlwaysConnection.cs new file mode 100644 index 00000000000..604b13f5947 --- /dev/null +++ b/src/Tests/Nest.Tests.Integration/Exceptions/ThrowAlwaysConnection.cs @@ -0,0 +1,72 @@ +using System; +using System.IO; +using System.Threading.Tasks; +using Elasticsearch.Net; +using Elasticsearch.Net.Connection; +using Elasticsearch.Net.Connection.Configuration; + +namespace Nest.Tests.Integration.Exceptions +{ + public class ThrowAlwaysConnection : IConnection + { + public Task> Get(Uri uri, IRequestConfiguration requestConfiguration = null) + { + throw new NotImplementedException(); + } + + public ElasticsearchResponse GetSync(Uri uri, IRequestConfiguration requestConfiguration = null) + { + throw new NotImplementedException(); + } + + public Task> Head(Uri uri, IRequestConfiguration requestConfiguration = null) + { + throw new NotImplementedException(); + } + + public ElasticsearchResponse HeadSync(Uri uri, IRequestConfiguration requestConfiguration = null) + { + throw new NotImplementedException(); + } + + public Task> Post(Uri uri, byte[] data, IRequestConfiguration requestConfiguration = null) + { + throw new NotImplementedException(); + } + + public ElasticsearchResponse PostSync(Uri uri, byte[] data, IRequestConfiguration requestConfiguration = null) + { + throw new NotImplementedException(); + } + + public Task> Put(Uri uri, byte[] data, IRequestConfiguration requestConfiguration = null) + { + throw new NotImplementedException(); + } + + public ElasticsearchResponse PutSync(Uri uri, byte[] data, IRequestConfiguration requestConfiguration = null) + { + throw new NotImplementedException(); + } + + public Task> Delete(Uri uri, IRequestConfiguration requestConfiguration = null) + { + throw new NotImplementedException(); + } + + public ElasticsearchResponse DeleteSync(Uri uri, IRequestConfiguration requestConfiguration = null) + { + throw new NotImplementedException(); + } + + public Task> Delete(Uri uri, byte[] data, IRequestConfiguration requestConfiguration = null) + { + throw new NotImplementedException(); + } + + public ElasticsearchResponse DeleteSync(Uri uri, byte[] data, IRequestConfiguration requestConfiguration = null) + { + throw new NotImplementedException(); + } + } +} \ No newline at end of file diff --git a/src/Tests/Nest.Tests.Integration/Failover/FailoverPingTests.cs b/src/Tests/Nest.Tests.Integration/Failover/FailoverPingTests.cs index 483355af88c..8d773ff2de8 100644 --- a/src/Tests/Nest.Tests.Integration/Failover/FailoverPingTests.cs +++ b/src/Tests/Nest.Tests.Integration/Failover/FailoverPingTests.cs @@ -19,9 +19,9 @@ public void FailoverShouldOnlyPingDeadNodes() { var seeds = new[] { - new Uri("http://localhost:9202"), - new Uri("http://localhost:9201"), - new Uri("http://localhost:9200"), + ElasticsearchConfiguration.CreateBaseUri(9202), + ElasticsearchConfiguration.CreateBaseUri(9201), + ElasticsearchConfiguration.CreateBaseUri(9200) }; var sniffingConnectionPool = new SniffingConnectionPool(seeds, randomizeOnStartup: false); var connectionSettings = new ConnectionSettings(sniffingConnectionPool); @@ -79,9 +79,9 @@ public async void FailoverShouldOnlyPingDeadNodes_Async() { var seeds = new[] { - new Uri("http://localhost:9202"), - new Uri("http://localhost:9201"), - new Uri("http://localhost:9200"), + ElasticsearchConfiguration.CreateBaseUri(9202), + ElasticsearchConfiguration.CreateBaseUri(9201), + ElasticsearchConfiguration.CreateBaseUri(9200) }; var sniffingConnectionPool = new SniffingConnectionPool(seeds, randomizeOnStartup: false); var connectionSettings = new ConnectionSettings(sniffingConnectionPool); diff --git a/src/Tests/Nest.Tests.Integration/Failover/FailoverSniffOnFaultTests.cs b/src/Tests/Nest.Tests.Integration/Failover/FailoverSniffOnFaultTests.cs index 5effb9ac899..cb51f2e2823 100644 --- a/src/Tests/Nest.Tests.Integration/Failover/FailoverSniffOnFaultTests.cs +++ b/src/Tests/Nest.Tests.Integration/Failover/FailoverSniffOnFaultTests.cs @@ -1,6 +1,7 @@ using System; using Elasticsearch.Net; using Elasticsearch.Net.ConnectionPool; +using Elasticsearch.Net.Exceptions; using FluentAssertions; using NUnit.Framework; @@ -19,9 +20,9 @@ public void SniffOnFaultShouldGetCleanClusterState() { var seeds = new[] { - new Uri("http://localhost:9202"), - new Uri("http://localhost:9201"), - new Uri("http://localhost:9200"), + ElasticsearchConfiguration.CreateBaseUri(9202), + ElasticsearchConfiguration.CreateBaseUri(9201), + ElasticsearchConfiguration.CreateBaseUri(9200), }; var sniffingConnectionPool = new SniffingConnectionPool(seeds, randomizeOnStartup: false); var connectionSettings = new ConnectionSettings(sniffingConnectionPool) @@ -49,9 +50,9 @@ public void SniffOnFaultShouldGetCleanClusterState() { rootNode = client.RootNodeInfo(); metrics = rootNode.ConnectionStatus.Metrics; - metrics.Requests.Count.Should().Be(1); metrics.Requests[0].Node.Port.Should().Be(9200); metrics.Requests[0].RequestType.Should().Be(RequestType.ElasticsearchCall); + metrics.Requests.Count.Should().Be(1); } } @@ -61,9 +62,9 @@ public async void SniffOnFaultShouldGetCleanClusterState_Async() { var seeds = new[] { - new Uri("http://localhost:9202"), - new Uri("http://localhost:9201"), - new Uri("http://localhost:9200"), + ElasticsearchConfiguration.CreateBaseUri(9202), + ElasticsearchConfiguration.CreateBaseUri(9201), + ElasticsearchConfiguration.CreateBaseUri(9200), }; var sniffingConnectionPool = new SniffingConnectionPool(seeds, randomizeOnStartup: false); var connectionSettings = new ConnectionSettings(sniffingConnectionPool) diff --git a/src/Tests/Nest.Tests.Integration/Failover/FailoverSniffOnStartupTests.cs b/src/Tests/Nest.Tests.Integration/Failover/FailoverSniffOnStartupTests.cs index 0f0d6a91194..0b81d092719 100644 --- a/src/Tests/Nest.Tests.Integration/Failover/FailoverSniffOnStartupTests.cs +++ b/src/Tests/Nest.Tests.Integration/Failover/FailoverSniffOnStartupTests.cs @@ -19,9 +19,9 @@ public void SniffOnStartShouldOnlyHit9200_WithoutPing() { var seeds = new[] { - new Uri("http://localhost:9202"), - new Uri("http://localhost:9201"), - new Uri("http://localhost:9200"), + ElasticsearchConfiguration.CreateBaseUri(9202), + ElasticsearchConfiguration.CreateBaseUri(9201), + ElasticsearchConfiguration.CreateBaseUri(9200) }; var sniffingConnectionPool = new SniffingConnectionPool(seeds, randomizeOnStartup: false); var connectionSettings = new ConnectionSettings(sniffingConnectionPool) @@ -52,9 +52,9 @@ public async void SniffOnStartShouldOnlyHit9200_WithoutPing_Async() { var seeds = new[] { - new Uri("http://localhost:9202"), - new Uri("http://localhost:9201"), - new Uri("http://localhost:9200"), + ElasticsearchConfiguration.CreateBaseUri(9202), + ElasticsearchConfiguration.CreateBaseUri(9201), + ElasticsearchConfiguration.CreateBaseUri(9200) }; var sniffingConnectionPool = new SniffingConnectionPool(seeds, randomizeOnStartup: false); var connectionSettings = new ConnectionSettings(sniffingConnectionPool) diff --git a/src/Tests/Nest.Tests.Integration/IntegrationSetup.cs b/src/Tests/Nest.Tests.Integration/IntegrationSetup.cs index e4d16d36fe0..8fcc8e7dbd4 100644 --- a/src/Tests/Nest.Tests.Integration/IntegrationSetup.cs +++ b/src/Tests/Nest.Tests.Integration/IntegrationSetup.cs @@ -22,47 +22,56 @@ public static void Setup() var people = NestTestData.People; var boolTerms = NestTestData.BoolTerms; - var createIndexResult = client.CreateIndex(ElasticsearchConfiguration.DefaultIndex, c => c - .NumberOfReplicas(0) - .NumberOfShards(1) - .AddMapping(m => m - .MapFromAttributes() - .Properties(p => p - .String(s => s.Name(ep => ep.Content).TermVector(TermVectorOption.WithPositionsOffsetsPayloads)))) - .AddMapping(m => m.MapFromAttributes()) - .AddMapping(m => m.Properties(pp=>pp - .String(sm => sm.Name(p => p.Name1).Index(FieldIndexOption.NotAnalyzed)) - .String(sm => sm.Name(p => p.Name2).Index(FieldIndexOption.NotAnalyzed)) - )) - ); + try + { + var createIndexResult = client.CreateIndex(ElasticsearchConfiguration.DefaultIndex, c => c + .NumberOfReplicas(0) + .NumberOfShards(1) + .AddMapping(m => m + .MapFromAttributes() + .Properties(p => p + .String(s => s.Name(ep => ep.Content).TermVector(TermVectorOption.WithPositionsOffsetsPayloads)))) + .AddMapping(m => m.MapFromAttributes()) + .AddMapping(m => m.Properties(pp => pp + .String(sm => sm.Name(p => p.Name1).Index(FieldIndexOption.NotAnalyzed)) + .String(sm => sm.Name(p => p.Name2).Index(FieldIndexOption.NotAnalyzed)) + )) + ); - var createAntotherIndexResult = client.CreateIndex(ElasticsearchConfiguration.DefaultIndex + "_clone", c => c - .NumberOfReplicas(0) - .NumberOfShards(1) - .AddMapping(m => m - .MapFromAttributes() - .Properties(p => p - .String(s => s.Name(ep => ep.Content).TermVector(TermVectorOption.WithPositionsOffsetsPayloads)))) - .AddMapping(m => m.MapFromAttributes()) - .AddMapping(m => m.Properties(pp => pp - .String(sm => sm.Name(p => p.Name1).Index(FieldIndexOption.NotAnalyzed)) - .String(sm => sm.Name(p => p.Name2).Index(FieldIndexOption.NotAnalyzed)) - )) - ); + var createAntotherIndexResult = client.CreateIndex(ElasticsearchConfiguration.DefaultIndex + "_clone", c => c + .NumberOfReplicas(0) + .NumberOfShards(1) + .AddMapping(m => m + .MapFromAttributes() + .Properties(p => p + .String(s => s.Name(ep => ep.Content).TermVector(TermVectorOption.WithPositionsOffsetsPayloads)))) + .AddMapping(m => m.MapFromAttributes()) + .AddMapping(m => m.Properties(pp => pp + .String(sm => sm.Name(p => p.Name1).Index(FieldIndexOption.NotAnalyzed)) + .String(sm => sm.Name(p => p.Name2).Index(FieldIndexOption.NotAnalyzed)) + )) + ); + + var bulkResponse = client.Bulk(b => b + .IndexMany(projects) + .IndexMany(people) + .IndexMany(boolTerms) + .Refresh() + ); + } + catch (Exception e) + { + + throw; + } - var bulkResponse = client.Bulk(b=>b - .IndexMany(projects) - .IndexMany(people) - .IndexMany(boolTerms) - .Refresh() - ); } [TearDown] public static void TearDown() { - var client = ElasticsearchConfiguration.Client.Value; - client.DeleteIndex(di => di.Indices(ElasticsearchConfiguration.DefaultIndex, ElasticsearchConfiguration.DefaultIndex + "_*")); + var client = ElasticsearchConfiguration.Client.Value; + client.DeleteIndex(di => di.Indices(ElasticsearchConfiguration.DefaultIndex, ElasticsearchConfiguration.DefaultIndexPrefix + "*")); } } } diff --git a/src/Tests/Nest.Tests.Integration/Nest.Tests.Integration.csproj b/src/Tests/Nest.Tests.Integration/Nest.Tests.Integration.csproj index f2589a14ce2..b9fde2c4918 100644 --- a/src/Tests/Nest.Tests.Integration/Nest.Tests.Integration.csproj +++ b/src/Tests/Nest.Tests.Integration/Nest.Tests.Integration.csproj @@ -115,6 +115,8 @@ + + diff --git a/src/Tests/Nest.Tests.Integration/Startup/StartupTests.cs b/src/Tests/Nest.Tests.Integration/Startup/StartupTests.cs index 493be165884..c33e4817eb9 100644 --- a/src/Tests/Nest.Tests.Integration/Startup/StartupTests.cs +++ b/src/Tests/Nest.Tests.Integration/Startup/StartupTests.cs @@ -24,6 +24,7 @@ public class StartupTests : IntegrationTests }; [Test] + [Ignore] public void Calling_RootNodeInfo_TwiceInOneAssembly_IsFast() { using (var context = AppDomainContext.Create(_setupInfo)) @@ -43,6 +44,7 @@ public void Calling_RootNodeInfo_TwiceInOneAssembly_IsFast() } [Test] + [Ignore] public void Calling_RootNodeInfo_OnceInTwoAsemblies_SlowTwice() { using (var context = AppDomainContext.Create(_setupInfo)) @@ -66,6 +68,7 @@ public void Calling_RootNodeInfo_OnceInTwoAsemblies_SlowTwice() [Test] + [Ignore] public void Calling_Search_TwiceInAppDomainIsFast() { using (var context = AppDomainContext.Create(_setupInfo)) @@ -85,6 +88,7 @@ public void Calling_Search_TwiceInAppDomainIsFast() } [Test] + [Ignore] public void Calling_Complex_TypedSearch_IsAlsoFaster_AfterBeingCalledOnce() { using (var context = AppDomainContext.Create(_setupInfo)) diff --git a/src/Tests/Nest.Tests.Unit/BaseJsonTests.cs b/src/Tests/Nest.Tests.Unit/BaseJsonTests.cs index 34241418da1..dc68caf6dbf 100644 --- a/src/Tests/Nest.Tests.Unit/BaseJsonTests.cs +++ b/src/Tests/Nest.Tests.Unit/BaseJsonTests.cs @@ -1,127 +1,133 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text.RegularExpressions; -using Elasticsearch.Net; -using Elasticsearch.Net.Connection; -using NUnit.Framework; -using Newtonsoft.Json; -using System.Reflection; -using System.IO; - -namespace Nest.Tests.Unit -{ - public static class UnitTestDefaults - { - public static readonly Uri Uri = new Uri("http://localhost:9200"); - public static readonly string DefaultIndex = "nest_test_data"; - } - - public class BaseJsonTests - { - protected readonly IConnectionSettingsValues _settings; - /// - /// In memory client that never hits elasticsearch - /// - protected IElasticClient _client; - protected readonly IConnection _connection; - - public BaseJsonTests() - { - this._settings = new ConnectionSettings(UnitTestDefaults.Uri, UnitTestDefaults.DefaultIndex) - .ExposeRawResponse(); - this._connection = new InMemoryConnection(this._settings); - this._client = new ElasticClient(this._settings, this._connection); - } - - protected void deb(string s) - { - //I use NCrunch for continuous testing - //with this i can print variables as i type... - //Lazy programmers for the win! - throw new Exception(s); - } - protected ElasticClient GetFixedReturnClient(MethodBase methodInfo, string fileName) - { - var settings = new ConnectionSettings(UnitTestDefaults.Uri, UnitTestDefaults.DefaultIndex) - .ExposeRawResponse(); - var file = this.GetFileFromMethod(methodInfo, fileName); - var jsonResponse = File.ReadAllText(file); - var connection = new InMemoryConnection(this._settings, jsonResponse); - var client = new ElasticClient(settings, connection); - return client; - } - protected void JsonEquals(object o, MethodBase method, string fileName = null) - { - if (o is byte[]) - { - string s = ((byte[])o).Utf8String(); - this.JsonEquals(s, method, fileName); - return; - } - var json = TestElasticClient.Serialize(o); - this.JsonEquals(json, method, fileName); - } - - protected void JsonEquals(string json, MethodBase method, string fileName = null) - { - var file = this.GetFileFromMethod(method, fileName); - - var expected = File.ReadAllText(file); - //Assert.AreEqual(expected, json); - Assert.True(json.JsonEquals(expected), this.PrettyPrint(json)); - } - - protected void JsonNotEquals(object o, MethodBase method, string fileName = null) - { - var json = TestElasticClient.Serialize(o); - this.JsonNotEquals(json, method, fileName); - } - - protected string ReadMethodJson(MethodBase method, string fileName = null) - { - var file = this.GetFileFromMethod(method, fileName); - var expected = File.ReadAllText(file); - return expected; - } - - protected void JsonNotEquals(string json, MethodBase method, string fileName = null) - { - var file = this.GetFileFromMethod(method, fileName); - var expected = File.ReadAllText(file); - Assert.False(json.JsonEquals(expected), this.PrettyPrint(json)); - } - - protected void BulkJsonEquals(string json, MethodBase method, string fileName = null) - { - var file = this.GetFileFromMethod(method, fileName); - var expected = File.ReadAllText(file); - var expectedJsonLines = Regex.Split(expected, @"\r?\n", RegexOptions.None).Where(s => !s.IsNullOrEmpty()); - var jsonLines = Regex.Split(json, @"\r?\n", RegexOptions.None).Where(s => !s.IsNullOrEmpty()); - Assert.IsNotEmpty(expectedJsonLines, json); - Assert.IsNotEmpty(jsonLines, json); - Assert.AreEqual(jsonLines.Count(), expectedJsonLines.Count(), json); - foreach (var line in expectedJsonLines.Zip(jsonLines, (e, j) => new { Expected = e, Json = j })) - { - Assert.True(line.Json.JsonEquals(line.Expected), line.Json); - } - } - - private string PrettyPrint(string json) - { - dynamic parsedJson = JsonConvert.DeserializeObject(json); - return JsonConvert.SerializeObject(parsedJson, Formatting.Indented); - } - - protected string GetFileFromMethod(MethodBase method, string fileName) - { - var type = method.DeclaringType; - var @namespace = method.DeclaringType.Namespace; - var folderSep = Path.DirectorySeparatorChar.ToString(); - var folder = @namespace.Replace("Nest.Tests.Unit.", "").Replace(".", folderSep); - var file = Path.Combine(folder, (fileName ?? method.Name) + ".json"); - file = Path.Combine(Environment.CurrentDirectory.Replace("bin" + folderSep + "Debug", "").Replace("bin" + folderSep + "Release", ""), file); - return file; - } - } -} +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text.RegularExpressions; +using Elasticsearch.Net; +using Elasticsearch.Net.Connection; +using NUnit.Framework; +using Newtonsoft.Json; +using System.Reflection; +using System.IO; + +namespace Nest.Tests.Unit +{ + public static class UnitTestDefaults + { + public static readonly Uri Uri = new Uri("http://localhost:9200"); + public static readonly string DefaultIndex = "nest_test_data"; + } + + public class BaseJsonTests + { + protected readonly IConnectionSettingsValues _settings; + /// + /// In memory client that never hits elasticsearch + /// + protected IElasticClient _client; + protected readonly IConnection _connection; + + public BaseJsonTests() + { + this._settings = new ConnectionSettings(UnitTestDefaults.Uri, UnitTestDefaults.DefaultIndex) + .ExposeRawResponse(); + this._connection = new InMemoryConnection(this._settings); + this._client = new ElasticClient(this._settings, this._connection); + } + + protected void deb(string s) + { + //I use NCrunch for continuous testing + //with this i can print variables as i type... + //Lazy programmers for the win! + throw new Exception(s); + } + protected ElasticClient GetFixedReturnClient( + MethodBase methodInfo, + string fileName = null, + int statusCode = 200, + Func alterSettings = null + ) + { + Func alter = alterSettings ?? (s => s); + var settings = alter(new ConnectionSettings(UnitTestDefaults.Uri, UnitTestDefaults.DefaultIndex) + .ExposeRawResponse()); + var file = this.GetFileFromMethod(methodInfo, fileName); + var jsonResponse = File.ReadAllText(file); + var connection = new InMemoryConnection(settings, jsonResponse, statusCode); + var client = new ElasticClient(settings, connection); + return client; + } + protected void JsonEquals(object o, MethodBase method, string fileName = null) + { + if (o is byte[]) + { + string s = ((byte[])o).Utf8String(); + this.JsonEquals(s, method, fileName); + return; + } + var json = TestElasticClient.Serialize(o); + this.JsonEquals(json, method, fileName); + } + + protected void JsonEquals(string json, MethodBase method, string fileName = null) + { + var file = this.GetFileFromMethod(method, fileName); + + var expected = File.ReadAllText(file); + //Assert.AreEqual(expected, json); + Assert.True(json.JsonEquals(expected), this.PrettyPrint(json)); + } + + protected void JsonNotEquals(object o, MethodBase method, string fileName = null) + { + var json = TestElasticClient.Serialize(o); + this.JsonNotEquals(json, method, fileName); + } + + protected string ReadMethodJson(MethodBase method, string fileName = null) + { + var file = this.GetFileFromMethod(method, fileName); + var expected = File.ReadAllText(file); + return expected; + } + + protected void JsonNotEquals(string json, MethodBase method, string fileName = null) + { + var file = this.GetFileFromMethod(method, fileName); + var expected = File.ReadAllText(file); + Assert.False(json.JsonEquals(expected), this.PrettyPrint(json)); + } + + protected void BulkJsonEquals(string json, MethodBase method, string fileName = null) + { + var file = this.GetFileFromMethod(method, fileName); + var expected = File.ReadAllText(file); + var expectedJsonLines = Regex.Split(expected, @"\r?\n", RegexOptions.None).Where(s => !s.IsNullOrEmpty()); + var jsonLines = Regex.Split(json, @"\r?\n", RegexOptions.None).Where(s => !s.IsNullOrEmpty()); + Assert.IsNotEmpty(expectedJsonLines, json); + Assert.IsNotEmpty(jsonLines, json); + Assert.AreEqual(jsonLines.Count(), expectedJsonLines.Count(), json); + foreach (var line in expectedJsonLines.Zip(jsonLines, (e, j) => new { Expected = e, Json = j })) + { + Assert.True(line.Json.JsonEquals(line.Expected), line.Json); + } + } + + private string PrettyPrint(string json) + { + dynamic parsedJson = JsonConvert.DeserializeObject(json); + return JsonConvert.SerializeObject(parsedJson, Formatting.Indented); + } + + protected string GetFileFromMethod(MethodBase method, string fileName) + { + var type = method.DeclaringType; + var @namespace = method.DeclaringType.Namespace; + var folderSep = Path.DirectorySeparatorChar.ToString(); + var folder = @namespace.Replace("Nest.Tests.Unit.", "").Replace(".", folderSep); + var file = Path.Combine(folder, (fileName ?? method.Name).Replace(@"\", folderSep) + ".json"); + file = Path.Combine(Environment.CurrentDirectory.Replace("bin" + folderSep + "Debug", "").Replace("bin" + folderSep + "Release", ""), file); + return file; + } + } +} diff --git a/src/Tests/Nest.Tests.Unit/BigBadUrlUnitTests.cs b/src/Tests/Nest.Tests.Unit/BigBadUrlUnitTests.cs index f40a700dc75..ff0804d49b6 100644 --- a/src/Tests/Nest.Tests.Unit/BigBadUrlUnitTests.cs +++ b/src/Tests/Nest.Tests.Unit/BigBadUrlUnitTests.cs @@ -1,166 +1,170 @@ -using System; -using System.Linq; -using Elasticsearch.Net; -using Elasticsearch.Net.Connection; -using FluentAssertions; -using Nest.Tests.MockData.Domain; -using NUnit.Framework; - -namespace Nest.Tests.Unit.Cluster -{ - [TestFixture] - public class BigBadUrlUnitTests - { - private void Do(string method, string expectedUrl, Action call) - { - var settings = new ConnectionSettings(new Uri("http://localhost:9200/"), "mydefaultindex") - .SetConnectionStatusHandler(c => - { - new Uri(c.RequestUrl).PathAndQuery.Should().Be(expectedUrl); - c.RequestMethod.Should().Be(method); - }) - ; - var client = new ElasticClient(settings, new InMemoryConnection(settings)); - call(client); - } - - private class Doc - { - public string Id { get; set; } - public string Name { get; set; } - } - - private class OtherDoc - { - public string Name { get; set; } - } - - - [Test] - public void TestAllTheUrls() - { - Do("POST", "/_aliases", c => c.Alias(a => a)); - Do("POST", "/_analyze", c => c.Analyze(a => a.Text("blah"))); - Do("POST", "/myindex/_analyze", c => c.Analyze(a => a.Index("myindex").Text("blah"))); - Do("POST", "/myindex/_bulk", c => c.Bulk(b => b.FixedPath("myindex").Index(ib => ib.Document(new Doc { Id = "1" })))); - Do("POST", "/myindex/mytype/_bulk", c => c.Bulk(b => b.FixedPath("myindex", "mytype").Index(ib => ib.Document(new Doc { Id = "1" })))); - Do("POST", "/myindex/_bulk", c => c.Bulk(b => b.FixedPath("myindex").Index(ib => ib.Document(new Doc { Id = "1" })))); - Do("POST", "/_bulk", c => c.Bulk(b => b.Index(ib => ib.Document(new Doc { Id = "1" })))); - Do("POST", "/_cache/clear", c => c.ClearCache()); - Do("POST", "/mydefaultindex/_cache/clear", c => c.ClearCache(cc => cc.Index())); - Do("POST", "/mydefaultindex/_close", c => c.CloseIndex(ci => ci.Index())); - Do("GET", "/_nodes", c => c.NodesInfo()); - Do("GET", "/_nodes/insert-marvel-character", c => c.NodesInfo(cn => cn.NodeId("insert-marvel-character"))); - Do("GET", "/_nodes/stats", c => c.NodesStats()); - Do("GET", "/_nodes/insert-marvel-character/stats/jvm", c => c - .NodesStats(cn => cn.NodeId("insert-marvel-character").Metrics(NodesStatsMetric.Jvm))); - Do("GET", "/_cluster/state", c => c.ClusterState()); - Do("GET", "/_cluster/state?local=true", c => c.ClusterState(cs => cs.Local())); - Do("POST", "/_count", c => c.Count()); - Do("POST", "/_all/doc/_count", c => c.Count(cc => cc.AllIndices().Type())); - Do("POST", "/mydefaultindex/doc/_count", c => c.Count(cc => cc.Index().Type())); - Do("POST", "/mydefaultindex/_count", c => c.Count(cc => cc.Index())); - Do("POST", "/mydefaultindex/doc/_count", c => c.Count()); - Do("POST", "/customindex/doc/_count", c => c.Count(cc => cc.Index("customindex"))); - Do("POST", "/new-index-name", c => c.CreateIndex("new-index-name")); - Do("DELETE", "/mydefaultindex/doc/1", c => c.Delete(d => d.Id("1"))); - Do("DELETE", "/mydefaultindex/doc/1", c => c.Delete(1)); - Do("DELETE", "/customindex/doc/1", c => c.Delete(d => d.Index("customindex").Id(1))); - Do("DELETE", "/customindex/doc/1", c => c.Delete(1, d => d.Index("customindex"))); - Do("DELETE", "/mydefaultindex/doc/_query", c => c.DeleteByQuery(q => q.MatchAll())); - Do("DELETE", "/customindex/doc/_query", c => c.DeleteByQuery(q => q.Index("customindex").MatchAll())); - Do("DELETE", "/_all/doc/_query", c => c.DeleteByQuery(q => q.AllIndices().MatchAll())); - Do("DELETE", "/mydefaultindex/_query", c => c.DeleteByQuery(q => q.AllTypes().MatchAll())); - Do("DELETE", "/custom-index/_query", c => c.DeleteByQuery(q => q.Index("custom-index").AllTypes().MatchAll())); - Do("DELETE", "/mydefaultindex", c => c.DeleteIndex(i => i.Index())); - Do("DELETE", "/a%2Cb", c => c.DeleteIndex(i => i.Indices("a", "b"))); - Do("POST", "/_bulk", c => c.DeleteMany(Enumerable.Range(0, 10).Select(i => new Doc { Id = i.ToString() }))); - Do("POST", "/customindex/customtype/_bulk", c => c.DeleteMany(Enumerable.Range(0, 10).Select(i => new Doc { Id = i.ToString() }), index: "customindex", type: "customtype")); - Do("DELETE", "/mydefaultindex/doc/_mapping", c => c.DeleteMapping()); - Do("DELETE", "/_template/myTemplate", c => c.DeleteTemplate("myTemplate")); - Do("DELETE", "/_all/_warmer/mywarmer", c => c.DeleteWarmer("mywarmer", w => w.AllIndices())); - Do("DELETE", "/_all/_warmer/mywarmer", c => c.DeleteWarmer("mywarmer")); - Do("DELETE", "/mycustomindex/_warmer/mywarmer", c => c.DeleteWarmer("mywarmer", w => w.Index("mycustomindex"))); - Do("POST", "/_all/_flush", c => c.Flush(f => f.AllIndices())); - Do("POST", "/mycustomindex/_flush", c => c.Flush(f => f.Index("mycustomindex"))); - Do("GET", "/mydefaultindex/doc/1", c => c.Get(1)); - Do("GET", "/mycustomindex/mycustomtype/1", c => c.Get(1, index: "mycustomindex", type: "mycustomtype")); - Do("GET", "/mycustomindex/mycustomtype/1", c => c.Get(g => g.Id(1).Index("mycustomindex").Type("mycustomtype"))); - Do("GET", "/mydefaultindex/_alias/*", c => c.GetAlias(a => a.Index())); - Do("GET", "/_alias/prefix-*", c => c.GetAlias(a => a.Alias("prefix-*"))); - Do("GET", "/mydefaultindex/_aliases/*", c => c.GetAliases(a => a.Index())); - Do("GET", "/_aliases/prefix-*", c => c.GetAliases(a => a.Alias("prefix-*"))); - Do("GET", "/mydefaultindex/_settings", c => c.GetIndexSettings(i => i.Index())); - Do("GET", "/mydefaultindex/_mapping/doc", c => c.GetMapping()); - Do("GET", "/mycustomindex/_mapping/doc", c => c.GetMapping(m => m.Index("mycustomindex"))); - Do("GET", "/mycustomindex/_mapping/sometype", c => c.GetMapping(m => m.Index("mycustomindex").Type("sometype"))); - Do("GET", "/_template/mytemplate", c => c.GetTemplate("mytemplate")); - Do("GET", "/_all/_warmer/mywarmer", c => c.GetWarmer("mywarmer")); - Do("GET", "/mycustomindex/_warmer/mywarmer", c => c.GetWarmer("mywarmer", g => g.Index("mycustomindex"))); - Do("GET", "/_cluster/health?level=indices", c => c.ClusterHealth(h => h.Level(Level.Indices))); - Do("GET", "/_cluster/health", c => c.ClusterHealth()); - Do("PUT", "/mydefaultindex/doc/2", c => c.Index(new Doc { Id = "2" })); - Do("POST", "/mydefaultindex/doc", c => c.Index(new Doc { Name = "2" })); - Do("PUT", "/customindex/customtype/2?refresh=true", c => c.Index(new Doc { Id = "2" }, i => i.Index("customindex").Type("customtype").Refresh())); - Do("HEAD", "/mydefaultindex", c => c.IndexExists(h => h.Index())); - Do("POST", "/_bulk", c => c.IndexMany(Enumerable.Range(0, 10).Select(i => new Doc { Id = i.ToString() }))); - Do("POST", "/customindex/customtype/_bulk", c => c.IndexMany(Enumerable.Range(0, 10).Select(i => new Doc { Id = i.ToString() }), index: "customindex", type: "customtype")); - Do("GET", "/_stats", c => c.IndicesStats()); - Do("GET", "/mydefaultindex/_stats", c => c.IndicesStats(s => s.Index())); - Do("PUT", "/mydefaultindex/doc/_mapping", c => c.Map(m => m.MapFromAttributes())); - Do("PUT", "/mycustomindex/doc/_mapping", c => c.Map(m => m.Index("mycustomindex"))); - Do("PUT", "/mycustomindex/customtype/_mapping", c => c.Map(m => m.Index("mycustomindex").Type("customtype"))); - Do("GET", "/mydefaultindex/doc/1/_mlt", c => c.MoreLikeThis(m => m.IdFrom(new Doc { Id = "1" }))); - Do("GET", "/mydefaultindex/doc/1/_mlt", c => c.MoreLikeThis(m => m.Id(1))); - Do("GET", "/mycustomindex/mycustomtype/1/_mlt", c => c.MoreLikeThis(m => m.Id(1).Index("mycustomindex").Type("mycustomtype"))); - Do("POST", "/_msearch", c => c.MultiSearch(m => m.Search(s => s.MatchAll()))); - Do("POST", "/mycustomindex/_msearch", c => c.MultiSearch(m => m.FixedPath(index: "mycustomindex").Search(s => s.MatchAll()))); - Do("POST", "/mycustomindex/mycustomtype/_msearch", c => c.MultiSearch(m => m.FixedPath(index: "mycustomindex", type: "mycustomtype").Search(s => s.MatchAll()))); - Do("POST", "/mydefaultindex/_open", c => c.OpenIndex()); - Do("POST", "/mycustomindex/_open", c => c.OpenIndex(i => i.Index("mycustomindex"))); - Do("POST", "/mycustomindex/_open", c => c.OpenIndex("mycustomindex")); - Do("POST", "/_optimize", c => c.Optimize()); - Do("POST", "/mydefaultindex/_optimize", c => c.Optimize(o => o.Index())); - Do("POST", "/mydefaultindex/doc/_percolate", c => c.Percolate(p=>p.Document(new Doc { Id = "1" }))); - Do("POST", "/mydefaultindex/otherdoc/_percolate", c => c.Percolate(p=>p.Document(new OtherDoc { Name = "hello" }))); - Do("POST", "/mycustomindex/mycustomtype/_percolate", c => c.Percolate(p => p.Document(new OtherDoc { Name = "hello" }).Index("mycustomindex").Type("mycustomtype"))); - Do("POST", "/mydefaultindex/otherdoc/my-id/_percolate", c => c.Percolate(p => p.Id("my-id"))); - - Do("PUT", "/_template/my-template", c => c.PutTemplate("my-template", pt => pt.Settings(s => s.Add("mysetting", true)))); - Do("PUT", "/_all/_warmer/my-warmer", c => c.PutWarmer("my-warmer", p => p.Search(s => s.MatchAll()))); - Do("PUT", "/mycustomindex/_warmer/my-warmer", c => c.PutWarmer("my-warmer", p => p.Index("mycustomindex").Search(s => s.MatchAll()))); - Do("POST", "/_refresh", c => c.Refresh()); - Do("POST", "/mycustomindex/_refresh", c => c.Refresh(r => r.Index("mycustomindex"))); - Do("POST", "/mydefaultindex/.percolator/mypercolator", c => c.RegisterPercolator("mypercolator", p => p.Query(q => q.MatchAll()))); - Do("GET", "/", c => c.RootNodeInfo()); - Do("POST", "/_search/scroll?scroll=2m", c => c.Scroll(s => s.ScrollId("difficulthash").Scroll("2m"))); - Do("POST", "/_search/scroll?scroll=2m", c => c.Scroll(scrollId: "difficulthash", scrollTime: "2m")); - Do("POST", "/_search/scroll?scroll=2m", c => c.Scroll(new ScrollRequest("difficulthash", "2m"))); - Do("POST", "/mydefaultindex/doc/_search", c => c.Search(s => s.MatchAll())); - Do("POST", "/_all/doc/_search", c => c.Search(s => s.AllIndices().MatchAll())); - Do("POST", "/_search", c => c.Search(s => s.AllIndices().AllTypes().MatchAll())); - Do("POST", "/mydefaultindex/_search", c => c.Search(s => s.AllTypes().MatchAll())); - Do("POST", "/prefix-*/a%2Cb/_search", c => c.Search(s => s.Index("prefix-*").Types("a", "b").MatchAll())); - Do("GET", "/_segments", c => c.Segments()); - Do("GET", "/mycustomindex/_segments", c => c.Segments(s => s.Index("mycustomindex"))); - Do("GET", "/mydefaultindex/doc/1/_source", c => c.Source(1)); - Do("GET", "/mycustomindex/mytype/1/_source", c => c.Source(1, index: "mycustomindex", type: "mytype")); - Do("GET", "/mycustomindex/doc/1/_source", c => c.Source(s => s.Id(1).Index("mycustomindex"))); - Do("GET", "/_status", c => c.Status()); - Do("GET", "/mydefaultindex/_status", c => c.Status(s => s.Index())); - Do("DELETE", "/mydefaultindex/.percolator/mypercolator", c => c.UnregisterPercolator("mypercolator")); - Do("DELETE", "/mycustomindex/.percolator/mypercolator", c => c.UnregisterPercolator("mypercolator", r => r.Index("mycustomindex"))); - Do("POST", "/mydefaultindex/doc/1/_update", c => c.Update(u => u.Id(1).Doc(new OtherDoc { Name = "asd" }))); - Do("POST", "/mydefaultindex/customtype/1/_update", c => c.Update(u => u.Id(1).Type("customtype").Doc(new OtherDoc { Name = "asd" }))); - Do("PUT", "/mydefaultindex/_settings", c => c.UpdateSettings(u => u.AutoExpandReplicas(false))); - Do("PUT", "/mycustomindex/_settings", c => c.UpdateSettings(u => u.Index("mycustomindex").AutoExpandReplicas(false))); - Do("POST", "/_all/doc/_validate/query", c => c.Validate(v => v.AllIndices())); - Do("POST", "/mydefaultindex/doc/_validate/query", c => c.Validate(v => v.Query(q => q.MatchAll()))); - Do("POST", "/mydefaultindex/_validate/query", c => c.Validate(v => v.AllTypes())); - Do("POST", "/_validate/query", c => c.Validate(v => v.AllIndices().AllTypes())); - Do("PUT", "/_cluster/settings", c => c.ClusterSettings(v => v.Transient(p => p))); - Do("GET", "/_cluster/settings", c => c.ClusterGetSettings()); - } - - } +using System; +using System.Linq; +using Elasticsearch.Net; +using Elasticsearch.Net.Connection; +using FluentAssertions; +using Nest.Tests.MockData.Domain; +using NUnit.Framework; + +namespace Nest.Tests.Unit.Cluster +{ + [TestFixture] + public class BigBadUrlUnitTests + { + private void Do(string method, string expectedUrl, Action call) + { + //MONO uriencodes *, functionally equivalent so we do a 'dirty' fix here. + if (Type.GetType("Mono.Runtime") != null) + expectedUrl = expectedUrl.Replace("*", "%2A"); + + var settings = new ConnectionSettings(new Uri("http://localhost:9200/"), "mydefaultindex") + .SetConnectionStatusHandler(c => + { + new Uri(c.RequestUrl).PathAndQuery.Should().Be(expectedUrl); + c.RequestMethod.Should().Be(method); + }) + ; + var client = new ElasticClient(settings, new InMemoryConnection(settings)); + call(client); + } + + private class Doc + { + public string Id { get; set; } + public string Name { get; set; } + } + + private class OtherDoc + { + public string Name { get; set; } + } + + + [Test] + public void TestAllTheUrls() + { + Do("POST", "/_aliases", c => c.Alias(a => a)); + Do("POST", "/_analyze", c => c.Analyze(a => a.Text("blah"))); + Do("POST", "/myindex/_analyze", c => c.Analyze(a => a.Index("myindex").Text("blah"))); + Do("POST", "/myindex/_bulk", c => c.Bulk(b => b.FixedPath("myindex").Index(ib => ib.Document(new Doc { Id = "1" })))); + Do("POST", "/myindex/mytype/_bulk", c => c.Bulk(b => b.FixedPath("myindex", "mytype").Index(ib => ib.Document(new Doc { Id = "1" })))); + Do("POST", "/myindex/_bulk", c => c.Bulk(b => b.FixedPath("myindex").Index(ib => ib.Document(new Doc { Id = "1" })))); + Do("POST", "/_bulk", c => c.Bulk(b => b.Index(ib => ib.Document(new Doc { Id = "1" })))); + Do("POST", "/_cache/clear", c => c.ClearCache()); + Do("POST", "/mydefaultindex/_cache/clear", c => c.ClearCache(cc => cc.Index())); + Do("POST", "/mydefaultindex/_close", c => c.CloseIndex(ci => ci.Index())); + Do("GET", "/_nodes", c => c.NodesInfo()); + Do("GET", "/_nodes/insert-marvel-character", c => c.NodesInfo(cn => cn.NodeId("insert-marvel-character"))); + Do("GET", "/_nodes/stats", c => c.NodesStats()); + Do("GET", "/_nodes/insert-marvel-character/stats/jvm", c => c + .NodesStats(cn => cn.NodeId("insert-marvel-character").Metrics(NodesStatsMetric.Jvm))); + Do("GET", "/_cluster/state", c => c.ClusterState()); + Do("GET", "/_cluster/state?local=true", c => c.ClusterState(cs => cs.Local())); + Do("POST", "/_count", c => c.Count()); + Do("POST", "/_all/doc/_count", c => c.Count(cc => cc.AllIndices().Type())); + Do("POST", "/mydefaultindex/doc/_count", c => c.Count(cc => cc.Index().Type())); + Do("POST", "/mydefaultindex/_count", c => c.Count(cc => cc.Index())); + Do("POST", "/mydefaultindex/doc/_count", c => c.Count()); + Do("POST", "/customindex/doc/_count", c => c.Count(cc => cc.Index("customindex"))); + Do("POST", "/new-index-name", c => c.CreateIndex("new-index-name")); + Do("DELETE", "/mydefaultindex/doc/1", c => c.Delete(d => d.Id("1"))); + Do("DELETE", "/mydefaultindex/doc/1", c => c.Delete(1)); + Do("DELETE", "/customindex/doc/1", c => c.Delete(d => d.Index("customindex").Id(1))); + Do("DELETE", "/customindex/doc/1", c => c.Delete(1, d => d.Index("customindex"))); + Do("DELETE", "/mydefaultindex/doc/_query", c => c.DeleteByQuery(q => q.MatchAll())); + Do("DELETE", "/customindex/doc/_query", c => c.DeleteByQuery(q => q.Index("customindex").MatchAll())); + Do("DELETE", "/_all/doc/_query", c => c.DeleteByQuery(q => q.AllIndices().MatchAll())); + Do("DELETE", "/mydefaultindex/_query", c => c.DeleteByQuery(q => q.AllTypes().MatchAll())); + Do("DELETE", "/custom-index/_query", c => c.DeleteByQuery(q => q.Index("custom-index").AllTypes().MatchAll())); + Do("DELETE", "/mydefaultindex", c => c.DeleteIndex(i => i.Index())); + Do("DELETE", "/a%2Cb", c => c.DeleteIndex(i => i.Indices("a", "b"))); + Do("POST", "/_bulk", c => c.DeleteMany(Enumerable.Range(0, 10).Select(i => new Doc { Id = i.ToString() }))); + Do("POST", "/customindex/customtype/_bulk", c => c.DeleteMany(Enumerable.Range(0, 10).Select(i => new Doc { Id = i.ToString() }), index: "customindex", type: "customtype")); + Do("DELETE", "/mydefaultindex/doc/_mapping", c => c.DeleteMapping()); + Do("DELETE", "/_template/myTemplate", c => c.DeleteTemplate("myTemplate")); + Do("DELETE", "/_all/_warmer/mywarmer", c => c.DeleteWarmer("mywarmer", w => w.AllIndices())); + Do("DELETE", "/_all/_warmer/mywarmer", c => c.DeleteWarmer("mywarmer")); + Do("DELETE", "/mycustomindex/_warmer/mywarmer", c => c.DeleteWarmer("mywarmer", w => w.Index("mycustomindex"))); + Do("POST", "/_all/_flush", c => c.Flush(f => f.AllIndices())); + Do("POST", "/mycustomindex/_flush", c => c.Flush(f => f.Index("mycustomindex"))); + Do("GET", "/mydefaultindex/doc/1", c => c.Get(1)); + Do("GET", "/mycustomindex/mycustomtype/1", c => c.Get(1, index: "mycustomindex", type: "mycustomtype")); + Do("GET", "/mycustomindex/mycustomtype/1", c => c.Get(g => g.Id(1).Index("mycustomindex").Type("mycustomtype"))); + Do("GET", "/mydefaultindex/_alias/*", c => c.GetAlias(a => a.Index())); + Do("GET", "/_alias/prefix-*", c => c.GetAlias(a => a.Alias("prefix-*"))); + Do("GET", "/mydefaultindex/_aliases/*", c => c.GetAliases(a => a.Index())); + Do("GET", "/_aliases/prefix-*", c => c.GetAliases(a => a.Alias("prefix-*"))); + Do("GET", "/mydefaultindex/_settings", c => c.GetIndexSettings(i => i.Index())); + Do("GET", "/mydefaultindex/_mapping/doc", c => c.GetMapping()); + Do("GET", "/mycustomindex/_mapping/doc", c => c.GetMapping(m => m.Index("mycustomindex"))); + Do("GET", "/mycustomindex/_mapping/sometype", c => c.GetMapping(m => m.Index("mycustomindex").Type("sometype"))); + Do("GET", "/_template/mytemplate", c => c.GetTemplate("mytemplate")); + Do("GET", "/_all/_warmer/mywarmer", c => c.GetWarmer("mywarmer")); + Do("GET", "/mycustomindex/_warmer/mywarmer", c => c.GetWarmer("mywarmer", g => g.Index("mycustomindex"))); + Do("GET", "/_cluster/health?level=indices", c => c.ClusterHealth(h => h.Level(Level.Indices))); + Do("GET", "/_cluster/health", c => c.ClusterHealth()); + Do("PUT", "/mydefaultindex/doc/2", c => c.Index(new Doc { Id = "2" })); + Do("POST", "/mydefaultindex/doc", c => c.Index(new Doc { Name = "2" })); + Do("PUT", "/customindex/customtype/2?refresh=true", c => c.Index(new Doc { Id = "2" }, i => i.Index("customindex").Type("customtype").Refresh())); + Do("HEAD", "/mydefaultindex", c => c.IndexExists(h => h.Index())); + Do("POST", "/_bulk", c => c.IndexMany(Enumerable.Range(0, 10).Select(i => new Doc { Id = i.ToString() }))); + Do("POST", "/customindex/customtype/_bulk", c => c.IndexMany(Enumerable.Range(0, 10).Select(i => new Doc { Id = i.ToString() }), index: "customindex", type: "customtype")); + Do("GET", "/_stats", c => c.IndicesStats()); + Do("GET", "/mydefaultindex/_stats", c => c.IndicesStats(s => s.Index())); + Do("PUT", "/mydefaultindex/doc/_mapping", c => c.Map(m => m.MapFromAttributes())); + Do("PUT", "/mycustomindex/doc/_mapping", c => c.Map(m => m.Index("mycustomindex"))); + Do("PUT", "/mycustomindex/customtype/_mapping", c => c.Map(m => m.Index("mycustomindex").Type("customtype"))); + Do("GET", "/mydefaultindex/doc/1/_mlt", c => c.MoreLikeThis(m => m.IdFrom(new Doc { Id = "1" }))); + Do("GET", "/mydefaultindex/doc/1/_mlt", c => c.MoreLikeThis(m => m.Id(1))); + Do("GET", "/mycustomindex/mycustomtype/1/_mlt", c => c.MoreLikeThis(m => m.Id(1).Index("mycustomindex").Type("mycustomtype"))); + Do("POST", "/_msearch", c => c.MultiSearch(m => m.Search(s => s.MatchAll()))); + Do("POST", "/mycustomindex/_msearch", c => c.MultiSearch(m => m.FixedPath(index: "mycustomindex").Search(s => s.MatchAll()))); + Do("POST", "/mycustomindex/mycustomtype/_msearch", c => c.MultiSearch(m => m.FixedPath(index: "mycustomindex", type: "mycustomtype").Search(s => s.MatchAll()))); + Do("POST", "/mydefaultindex/_open", c => c.OpenIndex()); + Do("POST", "/mycustomindex/_open", c => c.OpenIndex(i => i.Index("mycustomindex"))); + Do("POST", "/mycustomindex/_open", c => c.OpenIndex("mycustomindex")); + Do("POST", "/_optimize", c => c.Optimize()); + Do("POST", "/mydefaultindex/_optimize", c => c.Optimize(o => o.Index())); + Do("POST", "/mydefaultindex/doc/_percolate", c => c.Percolate(p=>p.Document(new Doc { Id = "1" }))); + Do("POST", "/mydefaultindex/otherdoc/_percolate", c => c.Percolate(p=>p.Document(new OtherDoc { Name = "hello" }))); + Do("POST", "/mycustomindex/mycustomtype/_percolate", c => c.Percolate(p => p.Document(new OtherDoc { Name = "hello" }).Index("mycustomindex").Type("mycustomtype"))); + Do("POST", "/mydefaultindex/otherdoc/my-id/_percolate", c => c.Percolate(p => p.Id("my-id"))); + + Do("PUT", "/_template/my-template", c => c.PutTemplate("my-template", pt => pt.Settings(s => s.Add("mysetting", true)))); + Do("PUT", "/_all/_warmer/my-warmer", c => c.PutWarmer("my-warmer", p => p.Search(s => s.MatchAll()))); + Do("PUT", "/mycustomindex/_warmer/my-warmer", c => c.PutWarmer("my-warmer", p => p.Index("mycustomindex").Search(s => s.MatchAll()))); + Do("POST", "/_refresh", c => c.Refresh()); + Do("POST", "/mycustomindex/_refresh", c => c.Refresh(r => r.Index("mycustomindex"))); + Do("POST", "/mydefaultindex/.percolator/mypercolator", c => c.RegisterPercolator("mypercolator", p => p.Query(q => q.MatchAll()))); + Do("GET", "/", c => c.RootNodeInfo()); + Do("POST", "/_search/scroll?scroll=2m", c => c.Scroll(s => s.ScrollId("difficulthash").Scroll("2m"))); + Do("POST", "/_search/scroll?scroll=2m", c => c.Scroll(scrollId: "difficulthash", scrollTime: "2m")); + Do("POST", "/_search/scroll?scroll=2m", c => c.Scroll(new ScrollRequest("difficulthash", "2m"))); + Do("POST", "/mydefaultindex/doc/_search", c => c.Search(s => s.MatchAll())); + Do("POST", "/_all/doc/_search", c => c.Search(s => s.AllIndices().MatchAll())); + Do("POST", "/_search", c => c.Search(s => s.AllIndices().AllTypes().MatchAll())); + Do("POST", "/mydefaultindex/_search", c => c.Search(s => s.AllTypes().MatchAll())); + Do("POST", "/prefix-*/a%2Cb/_search", c => c.Search(s => s.Index("prefix-*").Types("a", "b").MatchAll())); + Do("GET", "/_segments", c => c.Segments()); + Do("GET", "/mycustomindex/_segments", c => c.Segments(s => s.Index("mycustomindex"))); + Do("GET", "/mydefaultindex/doc/1/_source", c => c.Source(1)); + Do("GET", "/mycustomindex/mytype/1/_source", c => c.Source(1, index: "mycustomindex", type: "mytype")); + Do("GET", "/mycustomindex/doc/1/_source", c => c.Source(s => s.Id(1).Index("mycustomindex"))); + Do("GET", "/_status", c => c.Status()); + Do("GET", "/mydefaultindex/_status", c => c.Status(s => s.Index())); + Do("DELETE", "/mydefaultindex/.percolator/mypercolator", c => c.UnregisterPercolator("mypercolator")); + Do("DELETE", "/mycustomindex/.percolator/mypercolator", c => c.UnregisterPercolator("mypercolator", r => r.Index("mycustomindex"))); + Do("POST", "/mydefaultindex/doc/1/_update", c => c.Update(u => u.Id(1).Doc(new OtherDoc { Name = "asd" }))); + Do("POST", "/mydefaultindex/customtype/1/_update", c => c.Update(u => u.Id(1).Type("customtype").Doc(new OtherDoc { Name = "asd" }))); + Do("PUT", "/mydefaultindex/_settings", c => c.UpdateSettings(u => u.AutoExpandReplicas(false))); + Do("PUT", "/mycustomindex/_settings", c => c.UpdateSettings(u => u.Index("mycustomindex").AutoExpandReplicas(false))); + Do("POST", "/_all/doc/_validate/query", c => c.Validate(v => v.AllIndices())); + Do("POST", "/mydefaultindex/doc/_validate/query", c => c.Validate(v => v.Query(q => q.MatchAll()))); + Do("POST", "/mydefaultindex/_validate/query", c => c.Validate(v => v.AllTypes())); + Do("POST", "/_validate/query", c => c.Validate(v => v.AllIndices().AllTypes())); + Do("PUT", "/_cluster/settings", c => c.ClusterSettings(v => v.Transient(p => p))); + Do("GET", "/_cluster/settings", c => c.ClusterGetSettings()); + } + + } } \ No newline at end of file diff --git a/src/Tests/Nest.Tests.Unit/Internals/Exceptions/BadQuery.json b/src/Tests/Nest.Tests.Unit/Internals/Exceptions/BadQuery.json new file mode 100644 index 00000000000..405611497d5 --- /dev/null +++ b/src/Tests/Nest.Tests.Unit/Internals/Exceptions/BadQuery.json @@ -0,0 +1 @@ +{"error":"SearchPhaseExecutionException[Failed to execute phase [query], all shards failed; shardFailures {[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2872][0]: SearchParseException[[nest_test_data-2872][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2872] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8156][0]: SearchParseException[[nest_test_data-8156][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8156] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7560][0]: SearchParseException[[nest_test_data-7560][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7560] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6364_clone][0]: SearchParseException[[nest_test_data-6364_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6364_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4344][0]: SearchParseException[[nest_test_data-4344][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4344] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3764_clone][0]: SearchParseException[[nest_test_data-3764_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3764_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5040_clone][0]: SearchParseException[[nest_test_data-5040_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5040_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5932][0]: SearchParseException[[nest_test_data-5932][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5932] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8124][0]: SearchParseException[[nest_test_data-8124][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8124] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5036][0]: SearchParseException[[nest_test_data-5036][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5036] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3312][0]: SearchParseException[[nest_test_data-3312][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3312] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5860][0]: SearchParseException[[nest_test_data-5860][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5860] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8104][0]: SearchParseException[[nest_test_data-8104][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8104] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5456_clone][0]: SearchParseException[[nest_test_data-5456_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5456_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7796_clone][0]: SearchParseException[[nest_test_data-7796_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7796_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5888][0]: SearchParseException[[nest_test_data-5888][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5888] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4876][0]: SearchParseException[[nest_test_data-4876][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4876] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7972_clone][0]: SearchParseException[[nest_test_data-7972_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7972_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6996][0]: SearchParseException[[nest_test_data-6996][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6996] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7472_clone][0]: SearchParseException[[nest_test_data-7472_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7472_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4196][0]: SearchParseException[[nest_test_data-4196][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4196] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5512_clone][0]: SearchParseException[[nest_test_data-5512_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5512_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7152_clone][0]: SearchParseException[[nest_test_data-7152_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7152_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2084_clone][0]: SearchParseException[[nest_test_data-2084_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2084_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4036][0]: SearchParseException[[nest_test_data-4036][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4036] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5772_clone][0]: SearchParseException[[nest_test_data-5772_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5772_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2396_clone][0]: SearchParseException[[nest_test_data-2396_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2396_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8028][0]: SearchParseException[[nest_test_data-8028][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8028] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4276_clone][0]: SearchParseException[[nest_test_data-4276_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4276_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4364_clone][0]: SearchParseException[[nest_test_data-4364_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4364_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6900][0]: SearchParseException[[nest_test_data-6900][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6900] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6572_clone][0]: SearchParseException[[nest_test_data-6572_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6572_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2312][0]: SearchParseException[[nest_test_data-2312][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2312] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5748_clone][0]: SearchParseException[[nest_test_data-5748_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5748_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6948_clone][0]: SearchParseException[[nest_test_data-6948_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6948_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7832][0]: SearchParseException[[nest_test_data-7832][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7832] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3796][0]: SearchParseException[[nest_test_data-3796][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3796] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5664][0]: SearchParseException[[nest_test_data-5664][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5664] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2864][0]: SearchParseException[[nest_test_data-2864][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2864] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5124][0]: SearchParseException[[nest_test_data-5124][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5124] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6480_clone][0]: SearchParseException[[nest_test_data-6480_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6480_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5236_clone][0]: SearchParseException[[nest_test_data-5236_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5236_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7628][0]: SearchParseException[[nest_test_data-7628][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7628] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5736][0]: SearchParseException[[nest_test_data-5736][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5736] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8048][0]: SearchParseException[[nest_test_data-8048][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8048] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1676_clone][0]: SearchParseException[[nest_test_data-1676_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1676_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6196_clone][0]: SearchParseException[[nest_test_data-6196_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6196_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5348][0]: SearchParseException[[nest_test_data-5348][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5348] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8068_clone][0]: SearchParseException[[nest_test_data-8068_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8068_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7956_clone][0]: SearchParseException[[nest_test_data-7956_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7956_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7244][0]: SearchParseException[[nest_test_data-7244][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7244] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3000][0]: SearchParseException[[nest_test_data-3000][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3000] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4332_clone][0]: SearchParseException[[nest_test_data-4332_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4332_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8136][0]: SearchParseException[[nest_test_data-8136][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8136] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2480_clone][0]: SearchParseException[[nest_test_data-2480_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2480_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6400_clone][0]: SearchParseException[[nest_test_data-6400_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6400_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5904][0]: SearchParseException[[nest_test_data-5904][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5904] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2396][0]: SearchParseException[[nest_test_data-2396][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2396] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4004][0]: SearchParseException[[nest_test_data-4004][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4004] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8144][0]: SearchParseException[[nest_test_data-8144][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8144] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6092_clone][0]: SearchParseException[[nest_test_data-6092_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6092_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6368_clone][0]: SearchParseException[[nest_test_data-6368_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6368_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4036_clone][0]: SearchParseException[[nest_test_data-4036_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4036_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5260][0]: SearchParseException[[nest_test_data-5260][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5260] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7056][0]: SearchParseException[[nest_test_data-7056][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7056] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4332][0]: SearchParseException[[nest_test_data-4332][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4332] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4632_clone][0]: SearchParseException[[nest_test_data-4632_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4632_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3432_clone][0]: SearchParseException[[nest_test_data-3432_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3432_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7960][0]: SearchParseException[[nest_test_data-7960][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7960] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7116_clone][0]: SearchParseException[[nest_test_data-7116_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7116_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4596_clone][0]: SearchParseException[[nest_test_data-4596_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4596_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6804][0]: SearchParseException[[nest_test_data-6804][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6804] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6464][0]: SearchParseException[[nest_test_data-6464][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6464] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7372_clone][0]: SearchParseException[[nest_test_data-7372_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7372_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7036][0]: SearchParseException[[nest_test_data-7036][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7036] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4964][0]: SearchParseException[[nest_test_data-4964][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4964] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7820][0]: SearchParseException[[nest_test_data-7820][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7820] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3692_clone][0]: SearchParseException[[nest_test_data-3692_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3692_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8048_clone][0]: SearchParseException[[nest_test_data-8048_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8048_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4144][0]: SearchParseException[[nest_test_data-4144][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4144] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7796][0]: SearchParseException[[nest_test_data-7796][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7796] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7648][0]: SearchParseException[[nest_test_data-7648][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7648] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5228_clone][0]: SearchParseException[[nest_test_data-5228_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5228_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4180_clone][0]: SearchParseException[[nest_test_data-4180_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4180_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4964_clone][0]: SearchParseException[[nest_test_data-4964_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4964_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1612_clone][0]: SearchParseException[[nest_test_data-1612_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1612_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4436_clone][0]: SearchParseException[[nest_test_data-4436_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4436_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4840_08f2d005-5576-475f-b052-c65321324048][4]: SearchParseException[[nest_test_data-4840_08f2d005-5576-475f-b052-c65321324048][4]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4840_08f2d005-5576-475f-b052-c65321324048] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4840_08f2d005-5576-475f-b052-c65321324048][3]: SearchParseException[[nest_test_data-4840_08f2d005-5576-475f-b052-c65321324048][3]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4840_08f2d005-5576-475f-b052-c65321324048] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4840_08f2d005-5576-475f-b052-c65321324048][2]: SearchParseException[[nest_test_data-4840_08f2d005-5576-475f-b052-c65321324048][2]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4840_08f2d005-5576-475f-b052-c65321324048] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4840_08f2d005-5576-475f-b052-c65321324048][1]: SearchParseException[[nest_test_data-4840_08f2d005-5576-475f-b052-c65321324048][1]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4840_08f2d005-5576-475f-b052-c65321324048] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7452_clone][0]: SearchParseException[[nest_test_data-7452_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7452_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-356_clone][0]: SearchParseException[[nest_test_data-356_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-356_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4840_08f2d005-5576-475f-b052-c65321324048][0]: SearchParseException[[nest_test_data-4840_08f2d005-5576-475f-b052-c65321324048][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4840_08f2d005-5576-475f-b052-c65321324048] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2132_clone][0]: SearchParseException[[nest_test_data-2132_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2132_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5336][0]: SearchParseException[[nest_test_data-5336][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5336] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6544_clone][0]: SearchParseException[[nest_test_data-6544_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6544_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5888_clone][0]: SearchParseException[[nest_test_data-5888_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5888_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5748][0]: SearchParseException[[nest_test_data-5748][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5748] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6156][0]: SearchParseException[[nest_test_data-6156][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6156] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7176][0]: SearchParseException[[nest_test_data-7176][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7176] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5172_clone][0]: SearchParseException[[nest_test_data-5172_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5172_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4532][0]: SearchParseException[[nest_test_data-4532][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4532] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2476][0]: SearchParseException[[nest_test_data-2476][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2476] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8156_clone][0]: SearchParseException[[nest_test_data-8156_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8156_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6900_clone][0]: SearchParseException[[nest_test_data-6900_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6900_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5220][0]: SearchParseException[[nest_test_data-5220][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5220] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5676][0]: SearchParseException[[nest_test_data-5676][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5676] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1904_clone][0]: SearchParseException[[nest_test_data-1904_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1904_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6012_clone][0]: SearchParseException[[nest_test_data-6012_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6012_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7116][0]: SearchParseException[[nest_test_data-7116][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7116] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5864][0]: SearchParseException[[nest_test_data-5864][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5864] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4236_clone][0]: SearchParseException[[nest_test_data-4236_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4236_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6848][0]: SearchParseException[[nest_test_data-6848][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6848] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4244_clone][0]: SearchParseException[[nest_test_data-4244_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4244_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6408_clone][0]: SearchParseException[[nest_test_data-6408_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6408_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4244][0]: SearchParseException[[nest_test_data-4244][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4244] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7476_clone][0]: SearchParseException[[nest_test_data-7476_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7476_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4344_clone][0]: SearchParseException[[nest_test_data-4344_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4344_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8188_clone][0]: SearchParseException[[nest_test_data-8188_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8188_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6036_clone][0]: SearchParseException[[nest_test_data-6036_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6036_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7972][0]: SearchParseException[[nest_test_data-7972][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7972] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8100][0]: SearchParseException[[nest_test_data-8100][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8100] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4320][0]: SearchParseException[[nest_test_data-4320][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4320] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7628_clone][0]: SearchParseException[[nest_test_data-7628_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7628_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7556_clone][0]: SearchParseException[[nest_test_data-7556_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7556_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5884][0]: SearchParseException[[nest_test_data-5884][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5884] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4576_clone][0]: SearchParseException[[nest_test_data-4576_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4576_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6680_clone][0]: SearchParseException[[nest_test_data-6680_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6680_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5640][0]: SearchParseException[[nest_test_data-5640][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5640] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1288][0]: SearchParseException[[nest_test_data-1288][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1288] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6204_clone][0]: SearchParseException[[nest_test_data-6204_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6204_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7656][0]: SearchParseException[[nest_test_data-7656][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7656] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6196][0]: SearchParseException[[nest_test_data-6196][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6196] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7824_clone][0]: SearchParseException[[nest_test_data-7824_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7824_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5388_clone][0]: SearchParseException[[nest_test_data-5388_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5388_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7188][0]: SearchParseException[[nest_test_data-7188][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7188] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6876][0]: SearchParseException[[nest_test_data-6876][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6876] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3444_clone][0]: SearchParseException[[nest_test_data-3444_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3444_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7240][0]: SearchParseException[[nest_test_data-7240][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7240] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6676][0]: SearchParseException[[nest_test_data-6676][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6676] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6464_clone][0]: SearchParseException[[nest_test_data-6464_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6464_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3628_clone][0]: SearchParseException[[nest_test_data-3628_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3628_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6516][0]: SearchParseException[[nest_test_data-6516][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6516] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7504][0]: SearchParseException[[nest_test_data-7504][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7504] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7396_clone][0]: SearchParseException[[nest_test_data-7396_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7396_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2668][0]: SearchParseException[[nest_test_data-2668][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2668] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6984_clone][0]: SearchParseException[[nest_test_data-6984_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6984_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1404][0]: SearchParseException[[nest_test_data-1404][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1404] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7264_clone][0]: SearchParseException[[nest_test_data-7264_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7264_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7856][0]: SearchParseException[[nest_test_data-7856][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7856] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6140][0]: SearchParseException[[nest_test_data-6140][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6140] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7396][0]: SearchParseException[[nest_test_data-7396][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7396] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4292][0]: SearchParseException[[nest_test_data-4292][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4292] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2340_clone][0]: SearchParseException[[nest_test_data-2340_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2340_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2392][0]: SearchParseException[[nest_test_data-2392][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2392] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5940_clone][0]: SearchParseException[[nest_test_data-5940_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5940_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5996_clone][0]: SearchParseException[[nest_test_data-5996_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5996_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2304_clone][0]: SearchParseException[[nest_test_data-2304_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2304_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7084][0]: SearchParseException[[nest_test_data-7084][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7084] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5876][0]: SearchParseException[[nest_test_data-5876][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5876] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-928_clone][0]: SearchParseException[[nest_test_data-928_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-928_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4940][0]: SearchParseException[[nest_test_data-4940][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4940] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6984][0]: SearchParseException[[nest_test_data-6984][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6984] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4180][0]: SearchParseException[[nest_test_data-4180][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4180] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4412_clone][0]: SearchParseException[[nest_test_data-4412_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4412_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5896][0]: SearchParseException[[nest_test_data-5896][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5896] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5152_clone][0]: SearchParseException[[nest_test_data-5152_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5152_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5252_clone][0]: SearchParseException[[nest_test_data-5252_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5252_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6256_clone][0]: SearchParseException[[nest_test_data-6256_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6256_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1368][0]: SearchParseException[[nest_test_data-1368][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1368] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4236][0]: SearchParseException[[nest_test_data-4236][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4236] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5260_clone][0]: SearchParseException[[nest_test_data-5260_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5260_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4784_clone][0]: SearchParseException[[nest_test_data-4784_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4784_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7308][0]: SearchParseException[[nest_test_data-7308][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7308] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4628_clone][0]: SearchParseException[[nest_test_data-4628_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4628_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3312_clone][0]: SearchParseException[[nest_test_data-3312_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3312_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7792][0]: SearchParseException[[nest_test_data-7792][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7792] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4968][0]: SearchParseException[[nest_test_data-4968][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4968] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3064_clone][0]: SearchParseException[[nest_test_data-3064_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3064_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1492][0]: SearchParseException[[nest_test_data-1492][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1492] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7824][0]: SearchParseException[[nest_test_data-7824][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7824] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7616][0]: SearchParseException[[nest_test_data-7616][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7616] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6216_clone][0]: SearchParseException[[nest_test_data-6216_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6216_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3380][0]: SearchParseException[[nest_test_data-3380][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3380] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5672][0]: SearchParseException[[nest_test_data-5672][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5672] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7656_clone][0]: SearchParseException[[nest_test_data-7656_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7656_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7308_clone][0]: SearchParseException[[nest_test_data-7308_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7308_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7496_clone][0]: SearchParseException[[nest_test_data-7496_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7496_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7384][0]: SearchParseException[[nest_test_data-7384][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7384] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2308][0]: SearchParseException[[nest_test_data-2308][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2308] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5636_clone][0]: SearchParseException[[nest_test_data-5636_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5636_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4292_clone][0]: SearchParseException[[nest_test_data-4292_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4292_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2500][0]: SearchParseException[[nest_test_data-2500][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2500] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5856][0]: SearchParseException[[nest_test_data-5856][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5856] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3860][0]: SearchParseException[[nest_test_data-3860][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3860] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1788_clone][0]: SearchParseException[[nest_test_data-1788_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1788_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2584][0]: SearchParseException[[nest_test_data-2584][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2584] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6008][0]: SearchParseException[[nest_test_data-6008][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6008] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7560_clone][0]: SearchParseException[[nest_test_data-7560_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7560_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-404][0]: SearchParseException[[nest_test_data-404][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-404] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7956][0]: SearchParseException[[nest_test_data-7956][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7956] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4860_clone][0]: SearchParseException[[nest_test_data-4860_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4860_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7436_clone][0]: SearchParseException[[nest_test_data-7436_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7436_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7980_clone][0]: SearchParseException[[nest_test_data-7980_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7980_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3720][0]: SearchParseException[[nest_test_data-3720][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3720] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6512][0]: SearchParseException[[nest_test_data-6512][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6512] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5796_clone][0]: SearchParseException[[nest_test_data-5796_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5796_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2476_clone][0]: SearchParseException[[nest_test_data-2476_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2476_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6976][0]: SearchParseException[[nest_test_data-6976][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6976] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2832][0]: SearchParseException[[nest_test_data-2832][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2832] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1212][0]: SearchParseException[[nest_test_data-1212][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1212] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4940_clone][0]: SearchParseException[[nest_test_data-4940_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4940_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2076_clone][0]: SearchParseException[[nest_test_data-2076_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2076_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6216][0]: SearchParseException[[nest_test_data-6216][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6216] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6236][0]: SearchParseException[[nest_test_data-6236][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6236] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-300][0]: SearchParseException[[nest_test_data-300][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-300] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4104_clone][0]: SearchParseException[[nest_test_data-4104_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4104_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5220_clone][0]: SearchParseException[[nest_test_data-5220_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5220_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7552_clone][0]: SearchParseException[[nest_test_data-7552_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7552_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4352_clone][0]: SearchParseException[[nest_test_data-4352_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4352_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7468_clone][0]: SearchParseException[[nest_test_data-7468_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7468_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7224][0]: SearchParseException[[nest_test_data-7224][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7224] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6948][0]: SearchParseException[[nest_test_data-6948][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6948] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7820_clone][0]: SearchParseException[[nest_test_data-7820_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7820_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6768_clone][0]: SearchParseException[[nest_test_data-6768_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6768_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7528][0]: SearchParseException[[nest_test_data-7528][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7528] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5644][0]: SearchParseException[[nest_test_data-5644][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5644] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6256][0]: SearchParseException[[nest_test_data-6256][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6256] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3132_clone][0]: SearchParseException[[nest_test_data-3132_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3132_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4364][0]: SearchParseException[[nest_test_data-4364][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4364] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7000][0]: SearchParseException[[nest_test_data-7000][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7000] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5624_clone][0]: SearchParseException[[nest_test_data-5624_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5624_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7600][0]: SearchParseException[[nest_test_data-7600][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7600] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2820_clone][0]: SearchParseException[[nest_test_data-2820_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2820_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6140_clone][0]: SearchParseException[[nest_test_data-6140_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6140_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5932_clone][0]: SearchParseException[[nest_test_data-5932_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5932_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4400_clone][0]: SearchParseException[[nest_test_data-4400_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4400_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4276][0]: SearchParseException[[nest_test_data-4276][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4276] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1396_clone][0]: SearchParseException[[nest_test_data-1396_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1396_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5036_clone][0]: SearchParseException[[nest_test_data-5036_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5036_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4436][0]: SearchParseException[[nest_test_data-4436][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4436] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2928][0]: SearchParseException[[nest_test_data-2928][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2928] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5892][0]: SearchParseException[[nest_test_data-5892][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5892] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-104][0]: SearchParseException[[nest_test_data-104][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-104] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2820][0]: SearchParseException[[nest_test_data-2820][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2820] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2236][0]: SearchParseException[[nest_test_data-2236][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2236] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5268][0]: SearchParseException[[nest_test_data-5268][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5268] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6512_clone][0]: SearchParseException[[nest_test_data-6512_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6512_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5040][0]: SearchParseException[[nest_test_data-5040][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5040] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5616][0]: SearchParseException[[nest_test_data-5616][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5616] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7620][0]: SearchParseException[[nest_test_data-7620][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7620] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5896_clone][0]: SearchParseException[[nest_test_data-5896_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5896_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2584_clone][0]: SearchParseException[[nest_test_data-2584_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2584_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5012_clone][0]: SearchParseException[[nest_test_data-5012_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5012_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-300_clone][0]: SearchParseException[[nest_test_data-300_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-300_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3412_clone][0]: SearchParseException[[nest_test_data-3412_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3412_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7800][0]: SearchParseException[[nest_test_data-7800][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7800] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7100][0]: SearchParseException[[nest_test_data-7100][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7100] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5796][0]: SearchParseException[[nest_test_data-5796][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5796] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7000_clone][0]: SearchParseException[[nest_test_data-7000_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7000_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2908][0]: SearchParseException[[nest_test_data-2908][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2908] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7056_clone][0]: SearchParseException[[nest_test_data-7056_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7056_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5996][0]: SearchParseException[[nest_test_data-5996][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5996] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2304][0]: SearchParseException[[nest_test_data-2304][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2304] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7428_clone][0]: SearchParseException[[nest_test_data-7428_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7428_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6204][0]: SearchParseException[[nest_test_data-6204][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6204] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7600_clone][0]: SearchParseException[[nest_test_data-7600_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7600_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6236_clone][0]: SearchParseException[[nest_test_data-6236_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6236_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7212][0]: SearchParseException[[nest_test_data-7212][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7212] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2704][0]: SearchParseException[[nest_test_data-2704][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2704] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7392_clone][0]: SearchParseException[[nest_test_data-7392_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7392_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3448_clone][0]: SearchParseException[[nest_test_data-3448_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3448_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6120_clone][0]: SearchParseException[[nest_test_data-6120_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6120_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6996_clone][0]: SearchParseException[[nest_test_data-6996_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6996_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4352][0]: SearchParseException[[nest_test_data-4352][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4352] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5584][0]: SearchParseException[[nest_test_data-5584][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5584] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7856_clone][0]: SearchParseException[[nest_test_data-7856_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7856_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5440_clone][0]: SearchParseException[[nest_test_data-5440_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5440_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3344][0]: SearchParseException[[nest_test_data-3344][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3344] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-456][0]: SearchParseException[[nest_test_data-456][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-456] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7292_clone][0]: SearchParseException[[nest_test_data-7292_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7292_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8000_clone][0]: SearchParseException[[nest_test_data-8000_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8000_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7436][0]: SearchParseException[[nest_test_data-7436][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7436] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6120][0]: SearchParseException[[nest_test_data-6120][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6120] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2864_clone][0]: SearchParseException[[nest_test_data-2864_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2864_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6976_clone][0]: SearchParseException[[nest_test_data-6976_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6976_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8172][0]: SearchParseException[[nest_test_data-8172][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8172] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3652][0]: SearchParseException[[nest_test_data-3652][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3652] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1640_clone][0]: SearchParseException[[nest_test_data-1640_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1640_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3860_clone][0]: SearchParseException[[nest_test_data-3860_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3860_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4308_clone][0]: SearchParseException[[nest_test_data-4308_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4308_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4824][0]: SearchParseException[[nest_test_data-4824][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4824] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7524][0]: SearchParseException[[nest_test_data-7524][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7524] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4628][0]: SearchParseException[[nest_test_data-4628][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4628] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8108][0]: SearchParseException[[nest_test_data-8108][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8108] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7524_clone][0]: SearchParseException[[nest_test_data-7524_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7524_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7100_clone][0]: SearchParseException[[nest_test_data-7100_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7100_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4400][0]: SearchParseException[[nest_test_data-4400][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4400] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5192_clone][0]: SearchParseException[[nest_test_data-5192_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5192_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3884][0]: SearchParseException[[nest_test_data-3884][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3884] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7224_clone][0]: SearchParseException[[nest_test_data-7224_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7224_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5676_clone][0]: SearchParseException[[nest_test_data-5676_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5676_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5252][0]: SearchParseException[[nest_test_data-5252][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5252] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7292][0]: SearchParseException[[nest_test_data-7292][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7292] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7092][0]: SearchParseException[[nest_test_data-7092][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7092] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6544][0]: SearchParseException[[nest_test_data-6544][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6544] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5476][0]: SearchParseException[[nest_test_data-5476][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5476] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4540][0]: SearchParseException[[nest_test_data-4540][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4540] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5192][0]: SearchParseException[[nest_test_data-5192][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5192] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4540_clone][0]: SearchParseException[[nest_test_data-4540_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4540_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3552_clone][0]: SearchParseException[[nest_test_data-3552_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3552_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7180][0]: SearchParseException[[nest_test_data-7180][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7180] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7448][0]: SearchParseException[[nest_test_data-7448][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7448] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3132][0]: SearchParseException[[nest_test_data-3132][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3132] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6040_clone][0]: SearchParseException[[nest_test_data-6040_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6040_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1404_clone][0]: SearchParseException[[nest_test_data-1404_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1404_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6516_clone][0]: SearchParseException[[nest_test_data-6516_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6516_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2076][0]: SearchParseException[[nest_test_data-2076][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2076] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2832_clone][0]: SearchParseException[[nest_test_data-2832_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2832_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8104_clone][0]: SearchParseException[[nest_test_data-8104_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8104_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4368][0]: SearchParseException[[nest_test_data-4368][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4368] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5140][0]: SearchParseException[[nest_test_data-5140][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5140] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7428][0]: SearchParseException[[nest_test_data-7428][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7428] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4196_clone][0]: SearchParseException[[nest_test_data-4196_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4196_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4836][0]: SearchParseException[[nest_test_data-4836][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4836] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7152][0]: SearchParseException[[nest_test_data-7152][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7152] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5336_clone][0]: SearchParseException[[nest_test_data-5336_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5336_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5268_clone][0]: SearchParseException[[nest_test_data-5268_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5268_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1908_clone][0]: SearchParseException[[nest_test_data-1908_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1908_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3476_clone][0]: SearchParseException[[nest_test_data-3476_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3476_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5772][0]: SearchParseException[[nest_test_data-5772][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5772] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4532_clone][0]: SearchParseException[[nest_test_data-4532_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4532_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5640_clone][0]: SearchParseException[[nest_test_data-5640_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5640_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7060_clone][0]: SearchParseException[[nest_test_data-7060_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7060_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6480][0]: SearchParseException[[nest_test_data-6480][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6480] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5416_clone][0]: SearchParseException[[nest_test_data-5416_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5416_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7624][0]: SearchParseException[[nest_test_data-7624][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7624] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-584_clone][0]: SearchParseException[[nest_test_data-584_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-584_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4412][0]: SearchParseException[[nest_test_data-4412][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4412] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2952_clone][0]: SearchParseException[[nest_test_data-2952_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2952_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5792][0]: SearchParseException[[nest_test_data-5792][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5792] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7576][0]: SearchParseException[[nest_test_data-7576][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7576] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1548][0]: SearchParseException[[nest_test_data-1548][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1548] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8076_clone][0]: SearchParseException[[nest_test_data-8076_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8076_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8188][0]: SearchParseException[[nest_test_data-8188][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8188] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3408_clone][0]: SearchParseException[[nest_test_data-3408_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3408_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5348_clone][0]: SearchParseException[[nest_test_data-5348_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5348_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6356][0]: SearchParseException[[nest_test_data-6356][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6356] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7616_clone][0]: SearchParseException[[nest_test_data-7616_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7616_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5864_clone][0]: SearchParseException[[nest_test_data-5864_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5864_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-928][0]: SearchParseException[[nest_test_data-928][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-928] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5152][0]: SearchParseException[[nest_test_data-5152][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5152] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2708][0]: SearchParseException[[nest_test_data-2708][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2708] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4308][0]: SearchParseException[[nest_test_data-4308][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4308] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7832_clone][0]: SearchParseException[[nest_test_data-7832_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7832_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2124_clone][0]: SearchParseException[[nest_test_data-2124_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2124_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7180_clone][0]: SearchParseException[[nest_test_data-7180_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7180_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7244_clone][0]: SearchParseException[[nest_test_data-7244_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7244_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5644_clone][0]: SearchParseException[[nest_test_data-5644_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5644_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8120_clone][0]: SearchParseException[[nest_test_data-8120_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8120_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5516_clone][0]: SearchParseException[[nest_test_data-5516_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5516_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-584][0]: SearchParseException[[nest_test_data-584][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-584] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4824_clone][0]: SearchParseException[[nest_test_data-4824_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4824_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7460_clone][0]: SearchParseException[[nest_test_data-7460_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7460_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7208_clone][0]: SearchParseException[[nest_test_data-7208_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7208_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2084][0]: SearchParseException[[nest_test_data-2084][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2084] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4992][0]: SearchParseException[[nest_test_data-4992][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4992] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6400][0]: SearchParseException[[nest_test_data-6400][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6400] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7448_clone][0]: SearchParseException[[nest_test_data-7448_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7448_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5752_clone][0]: SearchParseException[[nest_test_data-5752_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5752_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6316][0]: SearchParseException[[nest_test_data-6316][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6316] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5412_clone][0]: SearchParseException[[nest_test_data-5412_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5412_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5736_clone][0]: SearchParseException[[nest_test_data-5736_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5736_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7156_clone][0]: SearchParseException[[nest_test_data-7156_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7156_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6200][0]: SearchParseException[[nest_test_data-6200][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6200] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7188_clone][0]: SearchParseException[[nest_test_data-7188_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7188_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4904][0]: SearchParseException[[nest_test_data-4904][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4904] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3064][0]: SearchParseException[[nest_test_data-3064][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3064] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2908_clone][0]: SearchParseException[[nest_test_data-2908_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2908_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3796_clone][0]: SearchParseException[[nest_test_data-3796_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3796_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3756][0]: SearchParseException[[nest_test_data-3756][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3756] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6656_clone][0]: SearchParseException[[nest_test_data-6656_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6656_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1644][0]: SearchParseException[[nest_test_data-1644][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1644] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7872_clone][0]: SearchParseException[[nest_test_data-7872_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7872_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5664_clone][0]: SearchParseException[[nest_test_data-5664_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5664_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7552][0]: SearchParseException[[nest_test_data-7552][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7552] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8088][0]: SearchParseException[[nest_test_data-8088][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8088] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7496][0]: SearchParseException[[nest_test_data-7496][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7496] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2872_clone][0]: SearchParseException[[nest_test_data-2872_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2872_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2964][0]: SearchParseException[[nest_test_data-2964][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2964] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8144_clone][0]: SearchParseException[[nest_test_data-8144_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8144_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7752][0]: SearchParseException[[nest_test_data-7752][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7752] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6768][0]: SearchParseException[[nest_test_data-6768][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6768] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1644_clone][0]: SearchParseException[[nest_test_data-1644_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1644_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2704_clone][0]: SearchParseException[[nest_test_data-2704_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2704_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7324_clone][0]: SearchParseException[[nest_test_data-7324_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7324_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6392_clone][0]: SearchParseException[[nest_test_data-6392_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6392_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2392_clone][0]: SearchParseException[[nest_test_data-2392_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2392_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7360_clone][0]: SearchParseException[[nest_test_data-7360_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7360_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6572][0]: SearchParseException[[nest_test_data-6572][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6572] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6932_clone][0]: SearchParseException[[nest_test_data-6932_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6932_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3852_clone][0]: SearchParseException[[nest_test_data-3852_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3852_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2720][0]: SearchParseException[[nest_test_data-2720][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2720] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3852][0]: SearchParseException[[nest_test_data-3852][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3852] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-888_clone][0]: SearchParseException[[nest_test_data-888_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-888_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5556_clone][0]: SearchParseException[[nest_test_data-5556_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5556_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6012][0]: SearchParseException[[nest_test_data-6012][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6012] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3256_clone][0]: SearchParseException[[nest_test_data-3256_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3256_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8068][0]: SearchParseException[[nest_test_data-8068][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8068] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5124_clone][0]: SearchParseException[[nest_test_data-5124_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5124_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3756_clone][0]: SearchParseException[[nest_test_data-3756_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3756_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6632_clone][0]: SearchParseException[[nest_test_data-6632_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6632_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7208][0]: SearchParseException[[nest_test_data-7208][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7208] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6656][0]: SearchParseException[[nest_test_data-6656][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6656] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7672_clone][0]: SearchParseException[[nest_test_data-7672_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7672_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1612][0]: SearchParseException[[nest_test_data-1612][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1612] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3884_clone][0]: SearchParseException[[nest_test_data-3884_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3884_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5624][0]: SearchParseException[[nest_test_data-5624][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5624] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5376_clone][0]: SearchParseException[[nest_test_data-5376_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5376_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3476][0]: SearchParseException[[nest_test_data-3476][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3476] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3552][0]: SearchParseException[[nest_test_data-3552][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3552] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-588][0]: SearchParseException[[nest_test_data-588][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-588] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7680_clone][0]: SearchParseException[[nest_test_data-7680_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7680_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4584][0]: SearchParseException[[nest_test_data-4584][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4584] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-888][0]: SearchParseException[[nest_test_data-888][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-888] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1212_clone][0]: SearchParseException[[nest_test_data-1212_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1212_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2480][0]: SearchParseException[[nest_test_data-2480][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2480] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7036_clone][0]: SearchParseException[[nest_test_data-7036_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7036_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4004_clone][0]: SearchParseException[[nest_test_data-4004_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4004_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6308][0]: SearchParseException[[nest_test_data-6308][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6308] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7468][0]: SearchParseException[[nest_test_data-7468][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7468] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6368][0]: SearchParseException[[nest_test_data-6368][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6368] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7240_clone][0]: SearchParseException[[nest_test_data-7240_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7240_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6348][0]: SearchParseException[[nest_test_data-6348][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6348] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6348_clone][0]: SearchParseException[[nest_test_data-6348_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6348_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7276_clone][0]: SearchParseException[[nest_test_data-7276_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7276_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5388][0]: SearchParseException[[nest_test_data-5388][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5388] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5512][0]: SearchParseException[[nest_test_data-5512][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5512] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][index][4]: SearchParseException[[index][4]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[index] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4128_clone][0]: SearchParseException[[nest_test_data-4128_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4128_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][index][2]: SearchParseException[[index][2]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[index] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][index][3]: SearchParseException[[index][3]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[index] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6292_clone][0]: SearchParseException[[nest_test_data-6292_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6292_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2720_clone][0]: SearchParseException[[nest_test_data-2720_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2720_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2952][0]: SearchParseException[[nest_test_data-2952][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2952] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4836_clone][0]: SearchParseException[[nest_test_data-4836_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4836_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8076][0]: SearchParseException[[nest_test_data-8076][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8076] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7764][0]: SearchParseException[[nest_test_data-7764][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7764] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6308_clone][0]: SearchParseException[[nest_test_data-6308_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6308_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5892_clone][0]: SearchParseException[[nest_test_data-5892_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5892_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5636][0]: SearchParseException[[nest_test_data-5636][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5636] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][index][1]: SearchParseException[[index][1]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[index] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7156][0]: SearchParseException[[nest_test_data-7156][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7156] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][index][0]: SearchParseException[[index][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[index] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6316_clone][0]: SearchParseException[[nest_test_data-6316_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6316_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2312_clone][0]: SearchParseException[[nest_test_data-2312_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2312_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6004_clone][0]: SearchParseException[[nest_test_data-6004_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6004_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7868_clone][0]: SearchParseException[[nest_test_data-7868_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7868_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5792_clone][0]: SearchParseException[[nest_test_data-5792_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5792_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5496_clone][0]: SearchParseException[[nest_test_data-5496_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5496_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6312][0]: SearchParseException[[nest_test_data-6312][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6312] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7868][0]: SearchParseException[[nest_test_data-7868][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7868] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1368_clone][0]: SearchParseException[[nest_test_data-1368_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1368_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5172][0]: SearchParseException[[nest_test_data-5172][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5172] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7212_clone][0]: SearchParseException[[nest_test_data-7212_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7212_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4576][0]: SearchParseException[[nest_test_data-4576][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4576] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4632][0]: SearchParseException[[nest_test_data-4632][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4632] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4596][0]: SearchParseException[[nest_test_data-4596][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4596] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7680][0]: SearchParseException[[nest_test_data-7680][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7680] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7084_clone][0]: SearchParseException[[nest_test_data-7084_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7084_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8124_clone][0]: SearchParseException[[nest_test_data-8124_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8124_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7624_clone][0]: SearchParseException[[nest_test_data-7624_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7624_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6032_clone][0]: SearchParseException[[nest_test_data-6032_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6032_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6612_clone][0]: SearchParseException[[nest_test_data-6612_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6612_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7452][0]: SearchParseException[[nest_test_data-7452][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7452] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3060][0]: SearchParseException[[nest_test_data-3060][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3060] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4300_clone][0]: SearchParseException[[nest_test_data-4300_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4300_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5000_clone][0]: SearchParseException[[nest_test_data-5000_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5000_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8172_clone][0]: SearchParseException[[nest_test_data-8172_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8172_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7556][0]: SearchParseException[[nest_test_data-7556][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7556] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6036][0]: SearchParseException[[nest_test_data-6036][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6036] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6744_clone][0]: SearchParseException[[nest_test_data-6744_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6744_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1936][0]: SearchParseException[[nest_test_data-1936][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1936] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3628][0]: SearchParseException[[nest_test_data-3628][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3628] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6200_clone][0]: SearchParseException[[nest_test_data-6200_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6200_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6832_clone][0]: SearchParseException[[nest_test_data-6832_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6832_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7472][0]: SearchParseException[[nest_test_data-7472][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7472] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-356][0]: SearchParseException[[nest_test_data-356][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-356] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6576][0]: SearchParseException[[nest_test_data-6576][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6576] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7800_clone][0]: SearchParseException[[nest_test_data-7800_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7800_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2500_clone][0]: SearchParseException[[nest_test_data-2500_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2500_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8136_clone][0]: SearchParseException[[nest_test_data-8136_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8136_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6696_clone][0]: SearchParseException[[nest_test_data-6696_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6696_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6292][0]: SearchParseException[[nest_test_data-6292][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6292] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1396][0]: SearchParseException[[nest_test_data-1396][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1396] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7648_clone][0]: SearchParseException[[nest_test_data-7648_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7648_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1168_clone][0]: SearchParseException[[nest_test_data-1168_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1168_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6804_clone][0]: SearchParseException[[nest_test_data-6804_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6804_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2752][0]: SearchParseException[[nest_test_data-2752][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2752] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6092][0]: SearchParseException[[nest_test_data-6092][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6092] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2928_clone][0]: SearchParseException[[nest_test_data-2928_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2928_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5856_clone][0]: SearchParseException[[nest_test_data-5856_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5856_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7176_clone][0]: SearchParseException[[nest_test_data-7176_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7176_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5516][0]: SearchParseException[[nest_test_data-5516][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5516] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6632][0]: SearchParseException[[nest_test_data-6632][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6632] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6436][0]: SearchParseException[[nest_test_data-6436][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6436] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7504_clone][0]: SearchParseException[[nest_test_data-7504_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7504_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4380][0]: SearchParseException[[nest_test_data-4380][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4380] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5556][0]: SearchParseException[[nest_test_data-5556][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5556] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6364][0]: SearchParseException[[nest_test_data-6364][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6364] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5616_clone][0]: SearchParseException[[nest_test_data-5616_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5616_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4368_clone][0]: SearchParseException[[nest_test_data-4368_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4368_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4136_clone][0]: SearchParseException[[nest_test_data-4136_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4136_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3764][0]: SearchParseException[[nest_test_data-3764][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3764] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3256][0]: SearchParseException[[nest_test_data-3256][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3256] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5208][0]: SearchParseException[[nest_test_data-5208][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5208] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7364_clone][0]: SearchParseException[[nest_test_data-7364_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7364_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6932][0]: SearchParseException[[nest_test_data-6932][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6932] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-756_clone][0]: SearchParseException[[nest_test_data-756_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-756_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5496][0]: SearchParseException[[nest_test_data-5496][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5496] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5208_clone][0]: SearchParseException[[nest_test_data-5208_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5208_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6612][0]: SearchParseException[[nest_test_data-6612][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6612] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4300][0]: SearchParseException[[nest_test_data-4300][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4300] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8052][0]: SearchParseException[[nest_test_data-8052][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8052] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7864_clone][0]: SearchParseException[[nest_test_data-7864_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7864_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7788_clone][0]: SearchParseException[[nest_test_data-7788_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7788_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3484][0]: SearchParseException[[nest_test_data-3484][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3484] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8040][0]: SearchParseException[[nest_test_data-8040][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8040] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7392][0]: SearchParseException[[nest_test_data-7392][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7392] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7364][0]: SearchParseException[[nest_test_data-7364][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7364] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6712_clone][0]: SearchParseException[[nest_test_data-6712_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6712_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6372][0]: SearchParseException[[nest_test_data-6372][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6372] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7884][0]: SearchParseException[[nest_test_data-7884][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7884] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8040_clone][0]: SearchParseException[[nest_test_data-8040_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8040_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4128][0]: SearchParseException[[nest_test_data-4128][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4128] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6392][0]: SearchParseException[[nest_test_data-6392][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6392] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7864][0]: SearchParseException[[nest_test_data-7864][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7864] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7700][0]: SearchParseException[[nest_test_data-7700][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7700] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5140_clone][0]: SearchParseException[[nest_test_data-5140_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5140_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7276][0]: SearchParseException[[nest_test_data-7276][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7276] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6648_clone][0]: SearchParseException[[nest_test_data-6648_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6648_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8072_clone][0]: SearchParseException[[nest_test_data-8072_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8072_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8052_clone][0]: SearchParseException[[nest_test_data-8052_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8052_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7384_clone][0]: SearchParseException[[nest_test_data-7384_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7384_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7476][0]: SearchParseException[[nest_test_data-7476][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7476] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3412][0]: SearchParseException[[nest_test_data-3412][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3412] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7488_clone][0]: SearchParseException[[nest_test_data-7488_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7488_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1492_clone][0]: SearchParseException[[nest_test_data-1492_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1492_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1288_clone][0]: SearchParseException[[nest_test_data-1288_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1288_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7060][0]: SearchParseException[[nest_test_data-7060][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7060] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6000_clone][0]: SearchParseException[[nest_test_data-6000_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6000_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5000][0]: SearchParseException[[nest_test_data-5000][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5000] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8060][0]: SearchParseException[[nest_test_data-8060][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8060] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6032][0]: SearchParseException[[nest_test_data-6032][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6032] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3484_clone][0]: SearchParseException[[nest_test_data-3484_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3484_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5392][0]: SearchParseException[[nest_test_data-5392][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5392] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7324][0]: SearchParseException[[nest_test_data-7324][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7324] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3444][0]: SearchParseException[[nest_test_data-3444][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3444] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6468][0]: SearchParseException[[nest_test_data-6468][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6468] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6156_clone][0]: SearchParseException[[nest_test_data-6156_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6156_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6080][0]: SearchParseException[[nest_test_data-6080][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6080] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7980][0]: SearchParseException[[nest_test_data-7980][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7980] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7672][0]: SearchParseException[[nest_test_data-7672][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7672] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7884_clone][0]: SearchParseException[[nest_test_data-7884_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7884_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6832][0]: SearchParseException[[nest_test_data-6832][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6832] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6004][0]: SearchParseException[[nest_test_data-6004][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6004] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7620_clone][0]: SearchParseException[[nest_test_data-7620_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7620_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2236_clone][0]: SearchParseException[[nest_test_data-2236_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2236_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7764_clone][0]: SearchParseException[[nest_test_data-7764_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7764_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8060_clone][0]: SearchParseException[[nest_test_data-8060_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8060_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7092_clone][0]: SearchParseException[[nest_test_data-7092_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7092_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7460][0]: SearchParseException[[nest_test_data-7460][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7460] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3448][0]: SearchParseException[[nest_test_data-3448][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3448] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1548_clone][0]: SearchParseException[[nest_test_data-1548_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1548_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8000][0]: SearchParseException[[nest_test_data-8000][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8000] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6380][0]: SearchParseException[[nest_test_data-6380][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6380] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1380_clone][0]: SearchParseException[[nest_test_data-1380_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1380_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1676][0]: SearchParseException[[nest_test_data-1676][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1676] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6304_clone][0]: SearchParseException[[nest_test_data-6304_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6304_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6848_clone][0]: SearchParseException[[nest_test_data-6848_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6848_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5236][0]: SearchParseException[[nest_test_data-5236][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5236] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4968_clone][0]: SearchParseException[[nest_test_data-4968_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4968_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6676_clone][0]: SearchParseException[[nest_test_data-6676_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6676_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8100_clone][0]: SearchParseException[[nest_test_data-8100_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8100_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6468_clone][0]: SearchParseException[[nest_test_data-6468_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6468_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5744_clone][0]: SearchParseException[[nest_test_data-5744_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5744_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3060_clone][0]: SearchParseException[[nest_test_data-3060_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3060_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1908][0]: SearchParseException[[nest_test_data-1908][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1908] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5456][0]: SearchParseException[[nest_test_data-5456][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5456] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7488][0]: SearchParseException[[nest_test_data-7488][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7488] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3380_clone][0]: SearchParseException[[nest_test_data-3380_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3380_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6752_clone][0]: SearchParseException[[nest_test_data-6752_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6752_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3000_clone][0]: SearchParseException[[nest_test_data-3000_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3000_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3692][0]: SearchParseException[[nest_test_data-3692][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3692] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1788][0]: SearchParseException[[nest_test_data-1788][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1788] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2308_clone][0]: SearchParseException[[nest_test_data-2308_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2308_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4320_clone][0]: SearchParseException[[nest_test_data-4320_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4320_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4104][0]: SearchParseException[[nest_test_data-4104][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4104] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5884_clone][0]: SearchParseException[[nest_test_data-5884_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5884_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4584_clone][0]: SearchParseException[[nest_test_data-4584_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4584_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7752_clone][0]: SearchParseException[[nest_test_data-7752_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7752_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7360][0]: SearchParseException[[nest_test_data-7360][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7360] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6680][0]: SearchParseException[[nest_test_data-6680][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6680] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-588_clone][0]: SearchParseException[[nest_test_data-588_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-588_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4144_clone][0]: SearchParseException[[nest_test_data-4144_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4144_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2124][0]: SearchParseException[[nest_test_data-2124][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2124] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2668_clone][0]: SearchParseException[[nest_test_data-2668_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2668_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][.marvel-2014.07.17][0]: SearchParseException[[.marvel-2014.07.17][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[.marvel-2014.07.17] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-104_clone][0]: SearchParseException[[nest_test_data-104_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-104_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6744][0]: SearchParseException[[nest_test_data-6744][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6744] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3408][0]: SearchParseException[[nest_test_data-3408][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3408] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5376][0]: SearchParseException[[nest_test_data-5376][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5376] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5228][0]: SearchParseException[[nest_test_data-5228][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5228] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7700_clone][0]: SearchParseException[[nest_test_data-7700_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7700_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5128_clone][0]: SearchParseException[[nest_test_data-5128_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5128_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4992_clone][0]: SearchParseException[[nest_test_data-4992_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4992_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5476_clone][0]: SearchParseException[[nest_test_data-5476_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5476_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7576_clone][0]: SearchParseException[[nest_test_data-7576_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7576_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-456_clone][0]: SearchParseException[[nest_test_data-456_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-456_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5440][0]: SearchParseException[[nest_test_data-5440][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5440] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8028_clone][0]: SearchParseException[[nest_test_data-8028_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8028_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5752][0]: SearchParseException[[nest_test_data-5752][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5752] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2752_clone][0]: SearchParseException[[nest_test_data-2752_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2752_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1672][0]: SearchParseException[[nest_test_data-1672][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1672] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8108_clone][0]: SearchParseException[[nest_test_data-8108_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8108_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3720_clone][0]: SearchParseException[[nest_test_data-3720_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3720_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-756][0]: SearchParseException[[nest_test_data-756][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-756] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5416][0]: SearchParseException[[nest_test_data-5416][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5416] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6008_clone][0]: SearchParseException[[nest_test_data-6008_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6008_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2680_clone][0]: SearchParseException[[nest_test_data-2680_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2680_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7528_clone][0]: SearchParseException[[nest_test_data-7528_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7528_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3652_clone][0]: SearchParseException[[nest_test_data-3652_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3652_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5860_clone][0]: SearchParseException[[nest_test_data-5860_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5860_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8088_clone][0]: SearchParseException[[nest_test_data-8088_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8088_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1672_clone][0]: SearchParseException[[nest_test_data-1672_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1672_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4876_clone][0]: SearchParseException[[nest_test_data-4876_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4876_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8120][0]: SearchParseException[[nest_test_data-8120][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8120] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6372_clone][0]: SearchParseException[[nest_test_data-6372_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6372_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6000][0]: SearchParseException[[nest_test_data-6000][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6000] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5584_clone][0]: SearchParseException[[nest_test_data-5584_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5584_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2340][0]: SearchParseException[[nest_test_data-2340][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2340] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6436_clone][0]: SearchParseException[[nest_test_data-6436_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6436_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-404_clone][0]: SearchParseException[[nest_test_data-404_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-404_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7264][0]: SearchParseException[[nest_test_data-7264][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7264] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6312_clone][0]: SearchParseException[[nest_test_data-6312_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6312_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5128][0]: SearchParseException[[nest_test_data-5128][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5128] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6712][0]: SearchParseException[[nest_test_data-6712][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6712] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][.marvel-2014.07.15][0]: SearchParseException[[.marvel-2014.07.15][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[.marvel-2014.07.15] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1340][0]: SearchParseException[[nest_test_data-1340][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1340] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7372][0]: SearchParseException[[nest_test_data-7372][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7372] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6576_clone][0]: SearchParseException[[nest_test_data-6576_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6576_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6696][0]: SearchParseException[[nest_test_data-6696][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6696] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5412][0]: SearchParseException[[nest_test_data-5412][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5412] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7872][0]: SearchParseException[[nest_test_data-7872][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7872] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6380_clone][0]: SearchParseException[[nest_test_data-6380_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6380_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6356_clone][0]: SearchParseException[[nest_test_data-6356_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6356_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4136][0]: SearchParseException[[nest_test_data-4136][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4136] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7788][0]: SearchParseException[[nest_test_data-7788][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7788] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6876_clone][0]: SearchParseException[[nest_test_data-6876_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6876_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8132_clone][0]: SearchParseException[[nest_test_data-8132_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8132_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7960_clone][0]: SearchParseException[[nest_test_data-7960_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7960_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-7792_clone][0]: SearchParseException[[nest_test_data-7792_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-7792_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5392_clone][0]: SearchParseException[[nest_test_data-5392_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5392_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1936_clone][0]: SearchParseException[[nest_test_data-1936_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1936_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6408][0]: SearchParseException[[nest_test_data-6408][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6408] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4860][0]: SearchParseException[[nest_test_data-4860][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4860] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2680][0]: SearchParseException[[nest_test_data-2680][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2680] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4904_clone][0]: SearchParseException[[nest_test_data-4904_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4904_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1904][0]: SearchParseException[[nest_test_data-1904][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1904] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6648][0]: SearchParseException[[nest_test_data-6648][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6648] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8072][0]: SearchParseException[[nest_test_data-8072][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8072] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][.marvel-2014.07.16][0]: SearchParseException[[.marvel-2014.07.16][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[.marvel-2014.07.16] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1340_clone][0]: SearchParseException[[nest_test_data-1340_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1340_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5904_clone][0]: SearchParseException[[nest_test_data-5904_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5904_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5876_clone][0]: SearchParseException[[nest_test_data-5876_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5876_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6080_clone][0]: SearchParseException[[nest_test_data-6080_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6080_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2132][0]: SearchParseException[[nest_test_data-2132][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2132] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3432][0]: SearchParseException[[nest_test_data-3432][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3432] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6752][0]: SearchParseException[[nest_test_data-6752][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6752] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5940][0]: SearchParseException[[nest_test_data-5940][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5940] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5744][0]: SearchParseException[[nest_test_data-5744][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5744] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-8132][0]: SearchParseException[[nest_test_data-8132][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-8132] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6304][0]: SearchParseException[[nest_test_data-6304][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6304] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1380][0]: SearchParseException[[nest_test_data-1380][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1380] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5672_clone][0]: SearchParseException[[nest_test_data-5672_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5672_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1168][0]: SearchParseException[[nest_test_data-1168][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1168] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2708_clone][0]: SearchParseException[[nest_test_data-2708_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2708_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-6040][0]: SearchParseException[[nest_test_data-6040][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-6040] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4380_clone][0]: SearchParseException[[nest_test_data-4380_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4380_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-1640][0]: SearchParseException[[nest_test_data-1640][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-1640] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-5012][0]: SearchParseException[[nest_test_data-5012][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-5012] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-2964_clone][0]: SearchParseException[[nest_test_data-2964_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-2964_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-3344_clone][0]: SearchParseException[[nest_test_data-3344_clone][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-3344_clone] No query registered for [badjson]]; }{[8xzqrFdFTiaLuSIeTp84DQ][nest_test_data-4784][0]: SearchParseException[[nest_test_data-4784][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\r\n \"query\": { \"badjson\" : {} }\r\n}]]]; nested: QueryParsingException[[nest_test_data-4784] No query registered for [badjson]]; }]","status":400} \ No newline at end of file diff --git a/src/Tests/Nest.Tests.Unit/Internals/Exceptions/BadQueryServerExceptionTests.cs b/src/Tests/Nest.Tests.Unit/Internals/Exceptions/BadQueryServerExceptionTests.cs new file mode 100644 index 00000000000..5bbd21b9629 --- /dev/null +++ b/src/Tests/Nest.Tests.Unit/Internals/Exceptions/BadQueryServerExceptionTests.cs @@ -0,0 +1,92 @@ +using System.Reflection; +using Elasticsearch.Net.Connection; +using FluentAssertions; +using Nest.Tests.MockData.Domain; +using Newtonsoft.Json.Converters; +using NUnit.Framework; +using System; +using Elasticsearch.Net; + +namespace Nest.Tests.Unit.Internals.Exceptions +{ + [TestFixture] + public class BadQueryServerExceptionTests : BaseJsonTests + { + [Test] + public void ReturnedServerExceptionIsAvailableInFull() + { + var client = this.GetFixedReturnClient(MethodBase.GetCurrentMethod(), "BadQuery", 400); + + //this always returns as if the query was malfored because we inject the returned + //response in the line above + var result = client.Search(q => q.MatchAll()); + + var error = result.ServerError; + + error.Should().NotBeNull(); + + error.ExceptionType.Should().Be("SearchPhaseExecutionException"); + error.Status.Should().Be(400); + error.Error.Should().StartWith("Failed to execute phase [query]"); + error.Error.Should().EndWith("}"); + } + + [Test] + public async void ReturnedServerExceptionIsAvailableInFull_Async() + { + var client = this.GetFixedReturnClient(MethodBase.GetCurrentMethod(), "BadQuery", 400); + + //this always returns as if the query was malfored because we inject the returned + //response in the line above + var result = await client.SearchAsync(q => q.MatchAll()); + + var error = result.ServerError; + + error.Should().NotBeNull(); + + error.ExceptionType.Should().Be("SearchPhaseExecutionException"); + error.Status.Should().Be(400); + error.Error.Should().StartWith("Failed to execute phase [query]"); + error.Error.Should().EndWith("}"); + } + + [Test] + public void ReturnedServerExceptionIsAvailableInFull_NotExposingRawResponse() + { + var client = this.GetFixedReturnClient(MethodBase.GetCurrentMethod(), "BadQuery", 400, s=> s.ExposeRawResponse(false)); + + //this always returns as if the query was malfored because we inject the returned + //response in the line above + var result = client.Search(q => q.MatchAll()); + + var error = result.ServerError; + + error.Should().NotBeNull(); + + error.ExceptionType.Should().Be("SearchPhaseExecutionException"); + error.Status.Should().Be(400); + error.Error.Should().StartWith("Failed to execute phase [query]"); + error.Error.Should().EndWith("}"); + } + + [Test] + public async void ReturnedServerExceptionIsAvailableInFull_NotExposingRawResponse_Async() + { + var client = this.GetFixedReturnClient(MethodBase.GetCurrentMethod(), "BadQuery", 400, s=> s.ExposeRawResponse(false)); + + //this always returns as if the query was malfored because we inject the returned + //response in the line above + var result = await client.SearchAsync(q => q.MatchAll()); + + var error = result.ServerError; + + error.Should().NotBeNull(); + + error.ExceptionType.Should().Be("SearchPhaseExecutionException"); + error.Status.Should().Be(400); + error.Error.Should().StartWith("Failed to execute phase [query]"); + error.Error.Should().EndWith("}"); + } + + } +} \ No newline at end of file diff --git a/src/Tests/Nest.Tests.Unit/Nest.Tests.Unit.csproj b/src/Tests/Nest.Tests.Unit/Nest.Tests.Unit.csproj index c7001d6e682..f53ca7a36a3 100644 --- a/src/Tests/Nest.Tests.Unit/Nest.Tests.Unit.csproj +++ b/src/Tests/Nest.Tests.Unit/Nest.Tests.Unit.csproj @@ -194,6 +194,7 @@ + @@ -607,6 +608,9 @@ Always + + Always + Always diff --git a/src/Tests/Nest.Tests.Unit/ObjectInitializer/Aliases/GetAliasMoreUrlTests.cs b/src/Tests/Nest.Tests.Unit/ObjectInitializer/Aliases/GetAliasMoreUrlTests.cs index ec0ae5837de..21d8b0265dd 100644 --- a/src/Tests/Nest.Tests.Unit/ObjectInitializer/Aliases/GetAliasMoreUrlTests.cs +++ b/src/Tests/Nest.Tests.Unit/ObjectInitializer/Aliases/GetAliasMoreUrlTests.cs @@ -1,41 +1,44 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using FluentAssertions; -using NUnit.Framework; - -namespace Nest.Tests.Unit.ObjectInitializer.Aliases -{ - [TestFixture] - public class GetAliasMoreUrlTests : BaseJsonTests - { - - [Test] - public void NoIndexAndAlias() - { - var request = new GetAliasRequest(); - var response = this._client.GetAlias(request); - - var status = response.ConnectionStatus; - - status.RequestUrl.Should().EndWith("/_alias/*"); - status.RequestMethod.Should().Be("GET"); - } - - [Test] - public void IndexAndAlias() - { - var request = new GetAliasesRequest() - { - Indices = new IndexNameMarker[] { "my-index" } , - Alias = "my-alias" - }; - var response = this._client.GetAliases(request); - - var status = response.ConnectionStatus; - - status.RequestUrl.Should().EndWith("/my-index/_aliases/my-alias"); - status.RequestMethod.Should().Be("GET"); - } - } -} +using System; +using System.Collections.Generic; +using System.Linq; +using FluentAssertions; +using NUnit.Framework; + +namespace Nest.Tests.Unit.ObjectInitializer.Aliases +{ + [TestFixture] + public class GetAliasMoreUrlTests : BaseJsonTests + { + + [Test] + public void NoIndexAndAlias() + { + var request = new GetAliasRequest(); + var response = this._client.GetAlias(request); + + var status = response.ConnectionStatus; + if (Type.GetType("Mono.Runtime") != null) + status.RequestUrl.Should().EndWith("/_alias/%2A"); + else + status.RequestUrl.Should().EndWith("/_alias/*"); + + status.RequestMethod.Should().Be("GET"); + } + + [Test] + public void IndexAndAlias() + { + var request = new GetAliasesRequest() + { + Indices = new IndexNameMarker[] { "my-index" } , + Alias = "my-alias" + }; + var response = this._client.GetAliases(request); + + var status = response.ConnectionStatus; + + status.RequestUrl.Should().EndWith("/my-index/_aliases/my-alias"); + status.RequestMethod.Should().Be("GET"); + } + } +} diff --git a/src/Tests/Nest.Tests.Unit/ObjectInitializer/Aliases/GetAliasesMoreUrlTests.cs b/src/Tests/Nest.Tests.Unit/ObjectInitializer/Aliases/GetAliasesMoreUrlTests.cs index 6523b5c1899..f94ec746956 100644 --- a/src/Tests/Nest.Tests.Unit/ObjectInitializer/Aliases/GetAliasesMoreUrlTests.cs +++ b/src/Tests/Nest.Tests.Unit/ObjectInitializer/Aliases/GetAliasesMoreUrlTests.cs @@ -1,41 +1,45 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using FluentAssertions; -using NUnit.Framework; - -namespace Nest.Tests.Unit.ObjectInitializer.Aliases -{ - [TestFixture] - public class GetAliasesMoreUrlTests : BaseJsonTests - { - - [Test] - public void NoIndexAndAlias() - { - var request = new GetAliasesRequest(); - var response = this._client.GetAliases(request); - - var status = response.ConnectionStatus; - - status.RequestUrl.Should().EndWith("/_aliases/*"); - status.RequestMethod.Should().Be("GET"); - } - - [Test] - public void IndexAndAlias() - { - var request = new GetAliasesRequest() - { - Indices = new IndexNameMarker[] { "my-index" } , - Alias = "my-alias" - }; - var response = this._client.GetAliases(request); - - var status = response.ConnectionStatus; - - status.RequestUrl.Should().EndWith("/my-index/_aliases/my-alias"); - status.RequestMethod.Should().Be("GET"); - } - } -} +using System; +using System.Collections.Generic; +using System.Linq; +using FluentAssertions; +using NUnit.Framework; + +namespace Nest.Tests.Unit.ObjectInitializer.Aliases +{ + [TestFixture] + public class GetAliasesMoreUrlTests : BaseJsonTests + { + + [Test] + public void NoIndexAndAlias() + { + var request = new GetAliasesRequest(); + var response = this._client.GetAliases(request); + + var status = response.ConnectionStatus; + + //MONO uriencodes *, functionally equivalent so we do a 'dirty' fix here. + if (Type.GetType("Mono.Runtime") != null) + status.RequestUrl.Should().EndWith("/_aliases/%2A"); + else + status.RequestUrl.Should().EndWith("/_aliases/*"); + status.RequestMethod.Should().Be("GET"); + } + + [Test] + public void IndexAndAlias() + { + var request = new GetAliasesRequest() + { + Indices = new IndexNameMarker[] { "my-index" } , + Alias = "my-alias" + }; + var response = this._client.GetAliases(request); + + var status = response.ConnectionStatus; + + status.RequestUrl.Should().EndWith("/my-index/_aliases/my-alias"); + status.RequestMethod.Should().Be("GET"); + } + } +} diff --git a/src/Tests/Nest.Tests.Unit/ObjectInitializer/DeleteIndex/DeleteIndexRequestTests.cs b/src/Tests/Nest.Tests.Unit/ObjectInitializer/DeleteIndex/DeleteIndexRequestTests.cs index dcb3c050863..ef8fc7a7625 100644 --- a/src/Tests/Nest.Tests.Unit/ObjectInitializer/DeleteIndex/DeleteIndexRequestTests.cs +++ b/src/Tests/Nest.Tests.Unit/ObjectInitializer/DeleteIndex/DeleteIndexRequestTests.cs @@ -1,34 +1,36 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using Elasticsearch.Net; -using FluentAssertions; -using Nest.Tests.MockData.Domain; -using NUnit.Framework; - -namespace Nest.Tests.Unit.ObjectInitializer.DeleteIndex -{ - [TestFixture] - public class DeleteIndexRequestTests : BaseJsonTests - { - private readonly IElasticsearchResponse _status; - - public DeleteIndexRequestTests() - { - var request = new DeleteIndexRequest(new IndexNameMarker[] { "postfixed-index-*", typeof(ElasticsearchProject)}) - { - Timeout = "2m" - }; - var response = this._client.DeleteIndex(request); - this._status = response.ConnectionStatus; - } - - [Test] - public void Url() - { - this._status.RequestUrl.Should().EndWith("/postfixed-index-*%2Cnest_test_data?timeout=2m"); - this._status.RequestMethod.Should().Be("DELETE"); - } - - } -} +using System; +using System.Collections.Generic; +using System.Linq; +using Elasticsearch.Net; +using FluentAssertions; +using Nest.Tests.MockData.Domain; +using NUnit.Framework; + +namespace Nest.Tests.Unit.ObjectInitializer.DeleteIndex +{ + [TestFixture] + public class DeleteIndexRequestTests : BaseJsonTests + { + private readonly IElasticsearchResponse _status; + + public DeleteIndexRequestTests() + { + var request = new DeleteIndexRequest(new IndexNameMarker[] { "postfixed-index-*", typeof(ElasticsearchProject)}) + { + Timeout = "2m" + }; + var response = this._client.DeleteIndex(request); + this._status = response.ConnectionStatus; + } + + [Test] + public void Url() + { + var asterix = Type.GetType("Mono.Runtime") != null ? "%2A" : "*"; + var expectedUrl = "/postfixed-index-{0}%2Cnest_test_data?timeout=2m".F(asterix); + this._status.RequestUrl.Should().EndWith(expectedUrl); + this._status.RequestMethod.Should().Be("DELETE"); + } + + } +} diff --git a/src/Tests/Nest.Tests.Unit/QueryParsers/Filter/ParseFilterTests.cs b/src/Tests/Nest.Tests.Unit/QueryParsers/Filter/ParseFilterTests.cs index 0aecda9c5d1..a67aae7078d 100644 --- a/src/Tests/Nest.Tests.Unit/QueryParsers/Filter/ParseFilterTests.cs +++ b/src/Tests/Nest.Tests.Unit/QueryParsers/Filter/ParseFilterTests.cs @@ -1,48 +1,48 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; -using FluentAssertions; -using Nest.Tests.MockData.Domain; -using NUnit.Framework; - -namespace Nest.Tests.Unit.QueryParsers.Filter -{ - [TestFixture] - public class ParseFilterTestsBase : BaseParserTests - { - protected FilterContainer Filter1 = Filter.Term("w", "x"); - protected FilterContainer Filter2 = Filter.Term("y", "z"); - protected FilterContainer Filter3 = Filter.Term("a", "b"); - - protected T ParseSearchDescriptorFromFile(Func filterBaseSelector, MethodBase method, string fileName = null) - where T : IFilter - { - var descriptor = this.DeserializeInto>(method, fileName); - var filter = filterBaseSelector(((ISearchRequest)descriptor).Filter); - filter.Should().NotBeNull(); - return filter; - } - - protected T SerializeThenDeserialize(string cacheName, string cacheKey, bool cache, - Func filterBaseSelector, - Func, FilterContainer> create - ) - where T : IFilter - { - var descriptor = this.GetSearchDescriptorForFilter(s=>s - .Filter(f=>create(f - .Name(cacheName) - .CacheKey(cacheKey) - .Cache(cache) - )) - ); - var filter = filterBaseSelector(descriptor.Filter); - filter.Should().NotBeNull(); - filter.FilterName.Should().Be(cacheName); - filter.Cache.Should().Be(cache); - filter.CacheKey.Should().Be(cacheKey); - return filter; - } - } -} +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using FluentAssertions; +using Nest.Tests.MockData.Domain; +using NUnit.Framework; + +namespace Nest.Tests.Unit.QueryParsers.Filter +{ + [TestFixture] + public class ParseFilterTestsBase : BaseParserTests + { + protected FilterContainer Filter1 = Filter.Term("w", "x"); + protected FilterContainer Filter2 = Filter.Term("y", "z"); + protected FilterContainer Filter3 = Filter.Term("a", "b"); + + protected T ParseSearchDescriptorFromFile(Func filterBaseSelector, MethodBase method, string fileName = null) + where T : IFilter + { + var descriptor = this.DeserializeInto>(method, fileName); + var filter = filterBaseSelector(((ISearchRequest)descriptor).Filter); + filter.Should().NotBeNull(); + return filter; + } + + protected T SerializeThenDeserialize(string cacheName, string cacheKey, bool cache, + Func filterBaseSelector, + Func, FilterContainer> create + ) + where T : IFilter + { + var descriptor = this.GetSearchDescriptorForFilter(s=>s + .Filter(f=>create(f + .Name(cacheName) + .CacheKey(cacheKey) + .Cache(cache) + )) + ); + var filter = filterBaseSelector(descriptor.Filter); + filter.Should().NotBeNull(); + filter.FilterName.Should().Be(cacheName); + filter.Cache.Should().Be(cache); + filter.CacheKey.Should().Be(cacheKey); + return filter; + } + } +}