Closed eschoeller closed 6 years ago
Issues are always welcome to make the platform more stable. The field in question is first defined within the configure.ac as results_buffer with a value of 1024. You could increase that but it should be noted that it would increase used everywhere so spine itself would take up more memory all around.
That value gets converted into RESULTS_BUFFER as a define statement.
Thanks I’ll recompile and see how that works
We keep the width of the output column narrow in order to conserve space for memory tables. If using SSD or PCIe attached flash and the recommended MySQL settings (INNODB_FILE_PER_TABLE=ON), then it's possible to use InnoDB for the boost table and widen the column. The regular poller_output table you can widen as you see fit, and it's fine as a memory table.
Close if you are cool with that.
So are you saying that this is more an issue with the width of the output column and not an issue with the RESULTS_BUFFER in spine?
The results buffer is 1024, so you don't have to change spine, just increase the 'output' column width in the poller_output and poller_output_boost tables.
Would you consider adding a logging statement that indicates the poller_output and/or poller_output_boost table width has been overrun? I sort of had no idea this was happening. Currently 1.6% of my poller_output_boost table has 512 characters in the output column.
dang, looking over this output ... these are unsolved mysteries I've been battling for years. :(
I have a script which has an output of greater than 512 characters. This is obviously a problem for several reasons, but there is a notable difference in how this situation is handled between spine and boost.
With spine, it does it's best to handle as much of the data as it can. I have a data source with 5 data source items, and it's usually able to pickup 3/5 or even 4/5 of the items, since these come at the tail end of the script output. The other items exceeding the 512 character limit get stored as NaN values.
Boost simply gives up. None of the data source items are stored. It throws these types of errors:
This is unfortunate, but the root cause is really the script exceeding the result buffer of spine. What is also strange is the message "expected 4 data source readings (got 3)" which isn't correct since this data source has 5 items, as shown here (during a poller run without boost, and hacking the output to be under the 512 limit);
For reference, here is an example of the script output.
If someone can point me in the direction of the buffer to increase in spine I would really appreciate it ... and maybe perhaps consider making this a command line argument that is adjustable within the UI :)
And my apologies for spamming so many issues the past couple days!