Splunk Search

Why does the C# SDK 2.0 only work when a query produces results?

bld7262
New Member

Perhaps similar to:

https://answers.splunk.com/answers/206372/enumerating-empty-searchresultstream-causes-invali-1.html

When I do:

var job = await Service.Jobs.CreateAsync(searchString);
using (var stream = await job.GetSearchResultsAsync())
...

I get the modal window for:

Debug.Assert(reader.NodeType == XmlNodeType.EndElement && reader.Name == "results", "Expected: ");

(here, NodeType is None and reader.Name = "")

From:
ReadMetadataAsync()

In:
Splunk.Client.SearchResultStream

And it is in an infinite loop with for (;;).

Again, everything works fine when the query produces results.

0 Karma

jtacy
Builder

Glad you found a fix! Noticed that this sounds very similar to https://github.com/splunk/splunk-sdk-csharp-pcl/issues/54 and it looks like a patch has been committed for it. I'm assuming that the patch might be included in a future release so it might be worth testing to see if it covers your specific scenario.

0 Karma

bld7262
New Member

I seemed to create a temporary fix.

In async Task ReadMetadataAsync()

Changed:
if (metadata.FieldNames.Count > 0)

To:
if (metadata.FieldNames.Count > 0 || reader.NodeType == XmlNodeType.None)

Not sure why the server is not returning an empty set when there are no results - something like a .

0 Karma
Get Updates on the Splunk Community!

Register to Attend BSides SPL 2022 - It's all Happening October 18!

Join like-minded individuals for technical sessions on everything Splunk!  This is a community-led and run ...

What's New in Splunk Cloud Platform 9.0.2208?!

Howdy!  We are happy to share the newest updates in Splunk Cloud Platform 9.0.2208! Analysts can benefit ...

Admin Console: A Single, Unified Interface for All Your Cloud Admin Needs

WATCH NOWJoin us to learn how the admin console can save you time and give you more control over the Splunk® ...