Post migration tasks

Error messages following migration

The command line syntax of the dstools inject command has been modified in version 2.3, so that the syntax should be simpler and more coherent. This may require some adjustment of scripts, otherwise errors may appear, such as:

  • Injection service has changed. Please refer to the migration guide for more information
  • This service is no more available. Please read the migration guide for more information

Migrate dstools inject commands

The changes on the inject service command line are the following:

  1. The --file parameter and its shortcut -f no longer exists.
    => Just write the paths to inject (both files and folders) at the end of the command line.
    Note that if you do not specify any path, injection will take standard input as injection source.
  2. The -col parameter, which was not POSIX compliant and was already deprecated, has been removed.
    => Replace it with the --collection parameter or its shortcut -c.
  3. The -k shortcut no longer exists.
    => Replace it with the full parameter name --continue-on-error.
  4. The -h and -l shortcuts for header and label , which were already deprecated, have now been removed.
    => Replace with capital letters -H and -L.
  5. The --properties-ext parameter does not exist anymore (shortcut is still -x).
    => Replace with --properties-extension .
    Important: the naming convention of the new parameter has changed. The value will be appended to the data file name, (extension included), instead of previously replacing the data file extension. For example, if you previously used the value properties, you should now use the value .properties (note the full stop at the begining). In this example, if your data file is file.dat, the properties file must now be file.dat.properties and not, as before file.properties.
    => Follow folder injection rules below.
  6. The default properties file name is default.properties. There is no more way to change it. The --properties-file parameter and its shortcut -p no longer exist.
    => Follow folder injection rules below.
  7. The --properties parameter no longer exists. It is no longer possible to give a fixed properties file for an injection.
    => Follow folder injection rules below.
  8. Parameters --no-properties-ext and --no-properties-file do not exist anymore.
    => Follow folder injection rules below for more information.
  9. The inject service of the dstools command is now responsible for injecting both files and folders
    => For more information, refer to the User Guide > Use the Datastore Runtime command tool > Inject command.

Migration example

Replace this:

dstools inject --collection PERIOD_COLLECTION --date 20120625 --file ../getStarted/withAccountingIntegration/data/period.dat

with this:

dstools inject --collection PERIOD_COLLECTION --date 20120625 ../getStarted/withAccountingIntegration/data/period.dat

Folder injection rules

Business rules for folder injection had become overly complex, so in version 2.3 a complete review was made to make them simple to understand. In the new version, there is no longer any difference between injecting a single file or a folder: the exact same rules apply.

Migrating from older injection process

If you are migrating from the oldest folder injection process (not using the inject service), the injection environment contains: data files, properties, errors files. Properties file were found by adding the string _properties.xml at the end of the data file name, without extension.

  1. Rename the properties files to include the data file extension.
    => Use the --properties-extension _properties.xml parameter to specify the properties file extension.
  2. Rename the default properties files properties.xml to default.properties.
    => In Unix, this can be done using a single shell command:
    find /path/to/environment -name "properties.xml" -exec bash -c 'mv "$1" "$(dirname ${1})/default.properties"' {} \;
  3. Remove the error files, as they must not be seen by the injection process. If they cannot be removed, or if a finer selection is needed, it is possible to use a shell command to select the files. Example of such commands can be found in the User Guide > Use the Datastore Runtime command tool > Inject command.

Migrating from newer injection process

If you are migrating from a newer folder injection process (using the inject service), the following changes need to be done:

  1. Properties files are only searched in the same directory as the data file.
    => If properties files are located in the parent directory, copy them to child directories.
  2. Properties files are files with the exact same full name of the data files (including extension) and ending with the properties-extension (which is .properties by default).
    => Rename any files with extensions other than the data file extensions
  3. Default properties files can only be named default.properties.
    => Rename default properties files if you have any with other names. And again, ensure they are located in the same directory as the data file.
  4. It is no longer possible to set a global properties file.
    => Copy your default properties file to each data directory, and name it default.properties, (unless such a file already exists in that directory.)
  5. Any file identified as a properties file (i.e. ending with the properties-extension or whose name is default.properties) will not be considered as data file, even if explicitly given as path in command line. It is possible to set an empty extension (using --properties-extension "") if there are no data file specific properties file.

Partition lifecycle management

In AI Suite 2.1.0, the scripts to unmount or mount partitions were generated on the application server, then they had to be transferred to the database and had to be executed by the DBA.

To increase security and avoid manual processes, the partition management is now driven with a functional point of view. Two notions have been added: the online period and the retention period.

Datastore Runtime has new services to manage this information, and operations are now executed within the maintenance task only.

For more information, refer to the section "Partition lifecycle management" in the Datastore User Guide.

Migrate Datastore API

Applications and exits that use a previous version of Datastore Runtime API must be updated and recompiled to use the API in version 2.3.0.

Some important changes in Datastore API version 2.3.0 are:

  • Datastore Transaction does not catch IOException exception anymore.
  • Package of PropertyType and DataType classes is com.axway.datastore.runtime.api.base.config package.

 

Related Links