All Apps and Add-ons

Why can't two rendering modules display at the same time?

fmikusstm
Explorer

I have a custom view with the following hierarchy :

some SideView fields
    SideView Button
        SideView Search
            SideView Pager
                SideView Table
            My custom module

When I launch the search using the button, only one render module displays its results; the other one keeps waiting for data. If I launch the search again, the other one might be the one to get results. Which one gets the data seems to be random.

From Chromium's Developer tools' Network tab, I see only one render request is sent to /en-GB/module/system/Something, which is why the other one doesn't receive data.

When I remove the Pager module and keep only the Table module (and my custom module), both always render. This is because, for some reason, SideView's Table module doesn't send a render request and gets data in another way (how?).

The same behaviour is seen when using two SideView Pager modules, for example. Only one is displayed at a time. This makes me believe my custom module is not responsible for this.

If someone has any idea why this is happening, please tell me!

I use Splunk 5.0.5.

0 Karma

sideview
SplunkTrust
SplunkTrust

I think it's going to boil down to one of these problems.

1) A coding mistake in the custom module. What is the custom module and what does it try and do?

If you could post the JS source for it I might be able to shed some light on the problem.

It is certainly strange though that the problem is still exhibited when the custom module is replaced by a second Pager module... But since the symptoms you describe are usually caused by a JS error, and the most likely culprit for an unknown JS error... is the custom module I'm afraid.

It's possible in your case to exonerate the custom module there was some misinterpretation or nesting typo or other weirdness happening.

2) Something the search does that causes the results to die, or something that custom module does that causes the results to die. Make sure you have a Message module in the view so that you can actually see error messages like this. One common mistake is to develop with no Message module and this can leave you trapped unable to see the simple error the system is trying to tell you.

You might also fish out the exact search the UI is running (or insert an HTML module with $search$ in it to do the same), and run the search in another view.

3) Can you post the page XML in pastebin? It's possible that there's a clue there too.

Bottom line - there is certainly nothing in the module framework or in SplunkWeb or in the Sideview code that should be able to allow only one module to render and I've never heard of this problem before. However it does sound like the kind of race condition that can result if a module on the page is throwing a JavaScript error when requesting or rendering.

As to the requests to the server, the Table does make a request to the server, it just wont look like the other two requests.

0 Karma

fmikusstm
Explorer

Thank you! Asked another question with included code and other details because Splunk Answers wouldn't let me edit this question.

0 Karma
Get Updates on the Splunk Community!

Welcome to the Splunk Community!

(view in My Videos) We're so glad you're here! The Splunk Community is place to connect, learn, give back, and ...

Tech Talk | Elevating Digital Service Excellence: The Synergy of Splunk RUM & APM

Elevating Digital Service Excellence: The Synergy of Real User Monitoring and Application Performance ...

Adoption of RUM and APM at Splunk

    Unleash the power of Splunk Observability   Watch Now In this can't miss Tech Talk! The Splunk Growth ...