IBMStreams/streamsx.dps

Support a parameter to specify the no-sql-kv-store-servers.cfg location

Closed this issue · 9 comments

Today, the file path of the configuration file is fixed to /etc/no-sql-kv-store-servers.cfg.

I propose to introduce a parameter that can change the file path at submission-time.

Use case 1: I want to use several backends in the same application, for example, Redis and Mongo.

Use case 2: I have an application that is already compiled. I want to run this application on several hosts using dedicated DPS backend instances that are independent from each other.

It would be good if the configuration could come from a Streams 4.2 application configuration.

Hi Dan,
There is already a flexible solution available for dynamically controlling the config file location from within the Streams applications. We will integrate that fix in the next month or so once our current ongoing customer PoCs conclude.

+1 to having this come from Streams 4.2 application configuration if possible.

Looking forward to having control over the config file location, as I would like to be able to build an application in a dev environment, and submit the .sab file in a production environment. This isn't possible without placing production details on the dev environment (which is not allowed in my case).

Looks like dpsSetConfigFile(rstring dpsConfigFile) was integrated. Should we close this? Asking for application configuration specification could be a separate issue.

I agree, for application configuration we should open a new issue. I was thinking about an additional function dpsSetConfigString(rstring conf) that contains the content of the config file as single string (including the carriage returns). The application could construct this string from submission time parameters or from querying an application config object.

+1 to a dpsSetConfigString
How do you include carriage returns in SPL? Would it be better to use JSON? Or a properties format? Or even a list<rstring> where each element is a line?

Regarding the formatting, I think whatever it is should fit well for an appConfig parameter. appConfig specifying a string might be more usable than a config file via appConfig, since the system might be remote.

i.e. in Bluemix, you could change the appConfig and restart the PE to point somewhere new without changing your file (resubmitting).

Ok, I am closing this one and open a new issue, to discuss. Having CR in SPL strings should be like
xxx + "\n" + yyy
but a list would be also fine.