Skip to end of metadata
Go to start of metadata

Summary:


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.

Structure:

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:

[AL_JobService]
PollIntervalForJS=30
PollIntervalForAS=30
SleepIntervalForTC=20

[AL_JobServer]
...
AL_JobServerName1=JobServer_1
AL_JobServerPort1=3500
AL_JobServerBrokerPort1=4001
...

[Access_Server]
Connection_ID=Access_Server_DNS_Name:5000
Access_ServerPath1=/home/bods/AccessServerDirectory
Access_ServerComPort1=4000

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.
 Please Wait!!!
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
------------------- ------------------ ---- -------------------
RepoManager      5
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.
[Locales]
AL_Engine=<default><default>.<default>_
 This is used for the al_engine settings . The default should be fine..but if in doubt try the locale tool.
- Memory usage settings
MAX_64BIT_PROCESS_VM_IN_MB=4096

- How to treat an exeption:

TREAT_CATCH_EXCEPTION_AS=SUCCESS
#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:

Better DSCONFIG documentation & config

Which shows how important that file is in Data Services.