DSConfig,txt file is the most important configuration file in DataServices this page will discuss it's structure, it's use and some of it's content.
There are two main places that hold the bulk of configuration settings in DS:
The "local repository" which can be seen as the environment wide configuration (it also stores the all important Data Services Jobs) and the "local" (as in every machine with a DataServices Engine has one) configuration file DSConfig.txt.
As the suffix of DSConfig.txt suggests this is a plain text file. It can be edited by any plain text editor like Notepad++ or Notepad. The hash (#) means the line is a comment.
The file is split into paragraphs or stanzas. A stanza structure means that there is a header or label line that determine what the following lines refer to. In this case the header is in square brackets:
The DSConfig.txt will contain stanzas for the JobService, all the Job Servers running on that server, the Access Server parameters etc as shown below:
Startup information for the Data Services Servers:
One of the file's main rolesis to provide the local instances of the job servers and access servers with startup information:
This configuration file is avaiable before the repository data base is available and will contain enough information to start DataServices JobServers for the Job Service and to connect to the repository for the Job Server Manager:
(I will be alternating Windows (screenshots) and Linux (text) examples, depending on which give a better understanding of the product structure. The mechanism is the same for both)
When starting the Linux Data Services Job Service deamon:
UID PID PPID C STIME TTY TIME CMD
bods 14628 1 0 17:41 pts/2 00:00:00 /bods/dataservices/bin/AL_JobService
through the svrcfg command line tool the following lines come up:
The DataServices - service will start up
Starting AL_JobService. This may take several seconds.
01-08-13 17:41:49 (14628:3663877856) JSERVICE: Attempting to Start JobServer(s)..
01-08-13 17:41:49 (14628:3663877856) JSERVICE: Found 1 JobServer(s) configured.
01-08-13 17:41:49 (14628:3663877856) JSERVICE: Using checkJobServer Version <1>
01-08-13 17:41:50 (14628:3663877856) JSERVICE: INFO: JobServer JobServer_1 on Port ANY:3500 is up and running.
01-08-13 17:41:50 (14628:3663877856) JSERVICE: Attempting to Start AccessServer(s)..
01-08-13 17:41:50 (14628:3663877856) JSERVICE: Found 1 AccessServer(s) configured.
01-08-13 17:42:00 (14628:3663877856) JSERVICE: INFO: AccessServer /home/bods/AccessServerDirectory:ANY:4000 is up and running.
01-08-13 17:42:00 (14628:3663877856) JSERVICE: Attempting to Start SNMP Agent..
01-08-13 17:42:00 (14628:3663877856) JSERVICE: Port Number(s) specified for Agent: <20161>
All the above parameters are "Found" in the DSConfig.txt file and the processes are started accordingly.
Exactly the same is true for Windows, where the AL_JobService is a Windows Service:
That starts the Job Servers that will listen to incoming messages on the ports defined in the DSConfig.txt:
From this moment onward the DataServices Server will read the configuration file every 20 sec. Many changes do not need a process restart to take place, however the process starting parameters can not be changed and to make sure the file is read again a restart of the DataService Service will ensure any new setting is take effect.
Tools that use the file
Other local tools, like the DataServices Server manager will also get its data from this file. The Server Manager will show the configured Servers in its GUI (Windows) or text output (Linux srvcfg).
The Server manager will connect to the Repository, for the first time when a new Job Server is created, and register it in the Machine Information table:
SQL> select SERVER_NAME,MACHINE_NAME,PORT,RESERVED1 from REPO_DSLINUX_LOCAL1.AL_MACHINE_INFO;
SERVER_NAME MACHINE_NAME PORT RESERVED1
------------------- ------------------ ---- -------------------
JobServer_1 dslinux 3500 2
Administrator dslinux 8080 1
Because this tool is responsible of syncronizing the repository and the local Job Servers information, a change to the to the DataServices Job Server settings (like the port the Job Server is listening on) can only be saved by successfully adding that information to the repository that the DataServices Server is registered with as well as in the DSConfig.txt file.
That also means that if the repository database for some reason is not available, JobServer configurations can not be deleted or changed. Stopping that Server, altering the DSConfig.txt configuration file (with correct connection information) and restarting it can solve this issue.
The file also contains many other parameters. Some of the more important ones are:
- The computer's locale.
This is used for the al_engine settings . The default should be fine..but if in doubt try the locale tool.
- Memory usage settings
- How to treat an exeption:
#The possible values for TREAT_CATCH_EXCEPTION_AS are
# 0 or SUCCESS
# 1 or ERROR
# 2 or WARNING
And many more.
Although the file is pretty robust (not a binary, not html with tags and an unknown paramter will mostly be ignored) here are some things to keep in mind:
At installation you will be asked if you have a previous DSConfig file you want to take over.
You have to decide if you want to do that, as simply copying it over after the installation is not possible as shown in the KBA:
1795126 - Is it possible to copy a DSConfig.txt file from a previous version onto a newer version of Data Services 4.0?
However copying over valid parameters line by line not difficult and could be scripted with perl or sed if needed ,for exmple to keep test systems consistent.
There are 156 Knowledge base articles around the DSConfig.txt file
And an enchancement request for more documentation:
Which shows how important that file is in Data Services.