Summary

This article describes the changes included in adTempus version 4.2, released on April 6, 2015.

Note: This is a free update for all adTempus 4 users. No license update is required.

Version Information

After you install this update, the About box in the adTempus Console will show the following version information:

Product Version: 4.2.0
Console Version: 4.2.0.0
Client Components Version: 4.2.0.0
Server Version: 4.2.0 (4.2.0.0) 

If your installation shows later versions, you do not need to install this update.

Upgrading from 4.0.x

If you are upgrading from version 4.0.x (4.0.0, 4.0.1, or 4.0.2) and you installed adTempus to a location other than the default installation folder ("C:\Program Files\Arcana Development\adTempus\4.0"), see article K00000455 for important information about changes that will be made during the upgrade.   

Installation Notes

If you are using Distributed Scheduling, you can install the update on the Master and push it to Agents from the Remote Agents view. The Master and Agents need to be updated at the same time; you may encounter operational errors if some computers continue running an older version.

Remote Consoles can be updated by choosing the Update option from the Help menu.

Obtaining the Update

See the download page to download the latest version of adTempus. The setup program will update your installation.

Reverting this Update

If you are updating from version 4.x to this version, this update affects only the adTempus software and does not modify the structure of the adTempus database. If necessary you can revert to your prior version by uninstalling this version and reinstalling the older version. All data is preserved during all of these operations.

Changes in This Update

This release corrects many issues discovered since version 4.1, and adds some minor enhancements.

See article K00000456 for a list of changes in version 4.1.

The following changes are included in this update:

Actions
Allow job to terminate itself using ResponsesCR00003014
Enhancement

The Job Control Action has been modified so that a Response (run at the Job or Job Step level) can terminate itself. For example, this can be used to allow a job to terminate itself if it exceeds a specified run time.

When the Job Control Action is configured to terminate "The current job," it will terminate only the instance of the job that runs the Response, not any other executing instances.

Notification message is incorrect for Responses run when a task is terminated because it exceeds its allowed run timeCR00002969
Defect
The text for message code ADT005052 should read "Task was terminated because it exceeded its maximum run time" but is being sent as "Invalid execution target".
Job Control Action cannot be configured to target the current job when selecting the "Run a Job" or "Terminate a Job" optionCR00003010
Defect
When a Job Control Action restarts a job, the restart count for steps is not resetCR00003011
Defect
If Job Step has Response for "Restart limit exceeded" this can result in infinite attempts to restart jobCR00003012
Defect

When you create a Response for a Job Step using the "Restart Limit Exceeded" event, adTempus applies that event any time another Response on the Step tries to restart either the Job or the Step and reaches the restart limit. Because of the ambiguity over which restart this Response should apply to, adTempus ends up invoking the Response in an endless loop once the restart limit for the job is reached.

To resolve this problem the behavior of the event has been changed so that the "Restart Limit Exceeded" event only applies to restarts of the Job Step when it is used for a Response defined for a Step.

Any Responses defined at the job level for "Restart Limit Exceeded" will be invoked for any job restart, whether invoked from job-level or step-level responses.

Conditions
Show expanded filespec in Condition Status while job is waiting for File ConditionCR00003040
Enhancement
Condition status timestamps shown in UTC instead of local timeCR00002992
Defect
When file condition is set to "Only consider files modified since the last execution of the job", it only looks at files modified since current instance startedCR00002995
Defect
This issue was corrected so that the File Condition will properly look for files created/modified since the previous instance of the job that ran successfully (Failed or Aborted instances are ignored). If no previous instance of the job exists, the condition will ignore the timestamp.
Job remains stuck in "Waiting for Condition" status after all conditions are metCR00002998
Defect

For more information see Knowledge Base article K00000460.

Console
Add ability in Console to review and trust server certificatesCR00003004
Enhancement
If the security certificate being used by the adTempus server is not trusted by the client computer, the Console now gives the ability to review the certificate and trust it.
When duplicating a group of jobs, map links between jobs in group to new copiesCR00003024
Enhancement

When you duplicate a Job Group (which makes a copy of the Group and all its subgroups and jobs), adTempus will now transfer links among jobs (i.e., Job Conditions, Job Control Actions, and Job Triggers) within the group hierarchy to the new jobs.

Previously these links were not updated and remained pointing to the original jobs rather than the new copies.

For example, suppose "Group 1" contains "Job 1," which has a Job Condition on "Job 2". When you duplicate "Group 1" to "Group 1 Copy", "Group 1 Copy\Job 1" will now have a condition on "Group 1 Copy\Job 2". In previous versions the link was not updated, and "Group 1 Copy\Job 1" ended up with a condition on "Group 1\Job 2."

Add job name to job execution dialogCR00003042
Enhancement
Display Job Group Properties and Job Queue Properties as non-modal windowsCR00003045
Enhancement
Enhance connection options for Remote Agents and Peer connectionsCR00003059
Enhancement

The connection property windows for Remote Agents and Peer connections have been enhanced to make it easier to connect to non-default port numbers and named instances, and to enter overrides for servers using untrusted server certificates (see CR00003003).

Refresh Console after modifying/moving/copying/deleting objectsCR00003065
Enhancement
Error when browsing for files on server and user does not have permission for folderCR00002983
Defect
Cannot retrieve/view Captured File that exceeds approximately 10MB in sizeCR00002991
Defect
Change client to use "localhost" instead of computer name when connecting locallyCR00003005
Defect
When connecting to the local computer, the client was incorrectly using the computer name instead of "localhost", possibly causing the connection to be routed through the network stack and adapter instead of being treated as a local connection. In one reported instance this caused a problem.
Inherited Job Variables show wrong Value Type when changing valueCR00003031
Defect
Job may show error icon even though all failed instances appear to have been acknowledgedCR00003058
Defect
Failed Jobs view does not requery when "Also show instances that completed with warnings" option is changedCR00003060
Defect

If you change the setting of the "Also show instances that completed with warnings" option in the Failed Jobs view, the view does not use the new setting right away. Therefore it continues to show jobs filtered based on the old setting. For example, if you check the box to show instances with warnings, no instances will be shown, even if some exist.

This problem has been resolved.

Add status icons to Job Groups and QueuesCR00003061
Defect

Added status icons to Groups and Queues to indicate whether they contain active and/or failed jobs. This behavior was present in adTempus 3 and earlier, but was omitted from version 4.

Duplicate Group fails for groups with child groupsCR00003064
Defect

When you use the Duplicate Group command to make a copy of a Job Group, the copy may process may fail if the group has sub-groups, giving error ADT000063E: The requested object cannot be found.

If you click the "Look online for more information" link for the error message, this may fail with the error "ActiveX control cannot be instantiated because the current thread is not in a single-threaded apartment."

Fix excessive redrawing/flickering when dragging over Console TreeCR00003066
Defect
Console times out or hangs when attempting to delete a job with a large amount of historyCR00003075
Defect

When you attempt to delete a job with a large amount of history (several thousand instances retained), the Console may report a timeout error or may hang indefinitely. This was caused by the adTempus server incorrectly trying to delete the job history in real-time, while the Console waited for a response.

This problem has been corrected so that history for the deleted job is purged during the normal background history cleanup process.

Execute Job window may not reflect changes to steps in jobCR00003079
Defect

If you modify a job to add, remove, or reorder steps, and then execute the job manually using the Run command, the Steps page of the Execute Job window may not reflect the changes you have made. This does not affect execution of the job, only your ability to select specific steps.

This problem has been resolved.

Data Conversion
Database upgrade fails on duplicate Credential ProfilesCR00003016
Defect

For more information see Knowledge Base article K00000463.

Database upgrade may fail if Active Directory security group used in job permissions cannot be resolvedCR00003073
Defect
Database
adTempus cannot connect to database if database password contains certain charactersCR00002982
Defect

If you use SQL Server security for the connection to the adTempus database, and the database password contains certain characters (semicolon, single quote, or double quote), adTempus may be unable to connect to the database, reporting the following error:

Keyword not supported: 'XXXX; application name'.

where "'XXXX" is part of the password.

Distributed Scheduling
Jobs not removed from Agent when moved to a different queueCR00002986
Defect
Triggers not sent to Agent if Queue mode changed from Slave or Load Balance to MirrorCR00002987
Defect
Job Variables defined for Remote Agent do not get sent to AgentCR00003008
Defect
When you define Job Variables in the properties for a Remote Agent, those variables should become server-level variables on the Agent (replacing server-level variables of the same name from the Master, if appropriate). However, the Master fails to send them to the Agent.
Request processing error on Agent in some cases when Master sends object delete commandCR00003025
Defect
Distributed execution limit may be exceeded when jobs submitted for execution close togetherCR00003039
Defect
If a Queue uses the Load Balance model and has the option set to "Limit the number of jobs from this queue that can run concurrently across all target computers," this limit may be exceeded if multiple jobs are submitted for execution within a short interval.
General
When pruning job history, do not remove failed instances that have not been acknowledgedCR00003035
Enhancement

When adTempus prunes job history based on history retention settings, by default it will no longer purge any instances that failed if the failure has not been acknowledged.

This behavior can be changed using the advanced server option "MaintenanceThread:RetainUnacknowledgedFailures".

Missed jobs do not get put in "Missed" statusCR00002980
Defect
Remove client session validation based on IP addressCR00002985
Defect
Validation of client IP addresses is now turned off by default.

For more information see Knowledge Base article K00000458.

StepDescription column in job history grid is never populatedCR00003057
Defect
Import/Export
Add ability to select date range when exporting job historyCR00003076
Enhancement
When you choose to include job history data when exporting jobs, you can now specify the date range for the history records to be included.
After successful import and save, "Finish" button should be enabled instead of "Cancel"CR00001849
Defect
Export or import fails if size of exported data exceeds approximately 10MBCR00002981
Defect
Import from version 3 fails if export file contains job historyCR00002988
Defect

When importing a version 3 export file into version 4, the import fails if the file contains job history, with error ADT005114E: Import failed: Invalid value "{1EC07219-59BE-4F02-A3BF-C7FDDA2AC982}:{guid value}" for field jobOID

Option to hold imported jobs is ignored when importing from version 3CR00002989
Defect
Job Execution
When "Include captured console output" is checked for Notification Action or Notification Task, include database task output and other automatically-created job output that serves a similar purposeCR00003027
Enhancement
Improve output and error reporting for database tasksCR00003028
Enhancement

Database output file produced by Database Operation Task modified to:

  • Fix problem with output column formatting when data from database contains tabs or newlines. 
  • Show better delineation between result sets for commands that produce multiple result sets.
  • Show better information when database errors occur
  • When error is reported, write output generated before error (previously, error from database caused only error message to be written; any result sets generated by previous commands were not written)
Report error and failure instead of warning if network resource is already in useCR00003054
Enhancement
When a job needs a network drive letter mapping and the mapping cannot be made because it already exists, adTempus treated that as a warning condition (message ADT000373) and continued job execution. This has been changed to be treated as an error condition that will trigger resource failure behaviors.
"JobStatus" job variable may not contain correct valueCR00002997
Defect
Remote Agents do not use Job Variables defined at the server levelCR00003013
Defect
Network resources may be loaded under wrong security context for userCR00003017
Defect
If a job is run under a user account that is a member of the Administrators group but is not being run with elevated privileges, network resources for the job may be loaded under the elevated security context anyway, leaving them unavailable to the non-elevated processes run by the job.
Job Variables not expanded when loading network resourcesCR00003018
Defect
adtexec does not wait for jobs that run in a Distributed Scheduling queue that perfoms condition checks on the MasterCR00003036
Defect
Job may be skipped in some cases even though another instance is not runningCR00003037
Defect

In some scenarios, a job that is configured to skip execution if another instance is already active may be skipped even if no other instance is active. This may occur when all of the following are true:

  • The job has one or more conditions.
  • The job is assigned to a Queue with the following characteristics:
    • "Slave" or "Load Balance" mode
    • Check conditions on the Master
    • Run on Master not checked
  •  

Manual execution through Console or adtexec may report errorCR00003038
Defect

When you submit a job for manual execution (through the Execute command in the Console or the adtexec tool) you may receive errorADT000003X: An error occurred on the server while processing the request. The job is successfully submitted for execution despite the error.

This problem was resolved.

ProcessExitCode variable not propagated to other stepsCR00003044
Defect
When the Program Execution Task sets the ProcessExitCode Job Variable, the value is not available to subsequent steps in the job. Changed to propagate the value to subsequent steps, as is the case with other task-level result variables.
Database Task fails with internal error after application of hotfix 14323.0927CR00003046
Defect
Job may continue executing steps after Response Action specifies that execution should stopCR00003050
Defect
If two jobs use the same Credential Profile but different network drive mappings, drives may be mapped incorrectlyCR00003052
Defect

When adTempus runs multiple jobs at the same time and all use the same Credential Profile, the jobs are run under a single logon session for the user. In cases where two jobs need to map the same drive letter to different resources, this causes the second job's mapping to fail, because the drive letter is already being used in the logon session.

This behavior was modified so that jobs that use different mappings are run under different logon sessions.

Logon sessions may not be logged off when no longer in useCR00003055
Defect
After adTempus finishes executing jobs under a logon session for a Credential Profile, it may fail to log off the user, leaving an active logon session until the adTempus service is restarted. This problem has been resolved so that adTempus closes the logon session when no jobs are using it.
After application of hotfix 14321.1207, adTempus starts multiple job instances even when configured to wait or skipCR00003072
Defect
Logon fails with "unknown error" when password is missing for Credential ProfileCR00003080
Defect
Notification
Initial support for HTML-formatted notification messagesCR00003049
Enhancement

Notification messages can now be formatted using HTML, though there is not yet support for editing messages using an HTML editor in the user interface. To use HTML formatting, paste in the HTML source for the notification message. The message body must begin with an "<html>" tag for adTempus to recognize it as an HTML message.

The same automatic conversion will be applied for message bodies set through code or Job Variables.

Performance
Improve performance when removing expired job history dataCR00003077
Defect
Reports
Add ability to report on specific groups/jobs for Object Change Log reportCR00003021
Enhancement
Object Change Log Report does not show changesCR00003020
Defect
When you run the Object Change Log Report, the details of the changes are not shown--only blank space where the change listing should be.
Responses
Support step-level Job Variables at Job level, to indicate current or most recent stepCR00003067
Enhancement

The step-level Job Variables are defined only when a Step is executing, and therefore cannot be used in a job-level Response. For example, you might want a job-level Response to run when the job fails, indicating which step failed. Presently there is no variable available to supply this information. adTempus has been modified so the following variables can be used in job-level responses; they will contain information about the most recent step executed:

  • ADTStepNumber
  • ADTStepDescription
  • ADTStepName
  • StepStatus
  • ADTTaskResult

 

"Job Skipped" Responses are not inherited past one level of Job GroupCR00002967
Defect
Scheduling
Changes to Shared Schedules or Holidays do not take effect until jobs are requeued or adTempus service is restartedCR00003006
Defect
Scripting
When a script fails, the step status may get reported as "Execution Failed" rather than "Failed"CR00003051
Defect

When a script run by a Script Execution Task fails with an error such as an unhandled exception, adTempus may report the status of the step as "Execution Failed" rather than "Failed." Because of this, the step is treated as a failure even if the Success Determination Rule is set to "'Report the step as Successful...'

This behavior has been changed so that "Execution Failed" is only reported if a script cannot be started, and "Failed" is used for any failures during script execution.

Security
Added ability to generate permission report for object/userCR00003053
Enhancement

The permission report shows the effective permissions for a particular object and user and can be used to debug problems with permission inheritance.

To display a report, right-click within the settings area on the Security page of an object properties window, and select "Show permission report for user..."

Server error when trying to connect to adTempus using Active Directory group-based authenticationCR00003047
Defect
May result in error "An error occurred on the server while processing the request.  Please contact Technical Support for assistance."
In some cases Logins cannot be removed from Security GroupsCR00003048
Defect
Server Tools
Add ability to generate self-signed server certificate CR00003003
Enhancement
In order for the adTempus Console (or another adTempus server) to communicate with an adTempus server that is not in a trusted domain, adTempus requires that the server have an X.509 server certificate. While it is best to use a certificate issued by a certificate authority that will be trusted by client computers, the Endpoint Configuration Tool has been updated to include the ability to create a self-signed certificate.
Engine Mode tool cannot be used to configure instances other than the default instanceCR00003002
Defect

For more information see Knowledge Base article K00000461.

Service Failures
adTempus service fails to start if performance counters cannot be openedCR00003007
Defect
Tasks
Improve support for running stored procedures in Oracle databasesCR00003022
Enhancement

Due to a limitation of the database driver used for Oracle, stored procedures could not be executed using the "exec procname" syntax when running Database Operation Tasks. adTempus has been modified to translate "exec" statements to the required syntax.

A statement such as

exec my_proc('parm1')

is now submitted to the database as

{call my_proc('parm1')}

Change File Transfer to log warning message when source directory does not existCR00003062
Enhancement
Database operation tasks may fail with "unexpected internal error"CR00002976
Defect
Web Request Task does not use job credentialsCR00002978
Defect
When you check the option to "Use the job's credentials," the task does not: it operates in the System context instead.
Database task reports "job not found" regardless of real error when job status cannot be determinedCR00003000
Defect
Database may time out while querying for database job statusCR00003001
Defect
Fix to database task to allow execution or Oracle stored procedures using "exec" commandCR00003029
Defect
Fix for problems caused by database timeout or connection failures when Database Operation Task is running a SQL Server jobCR00003030
Defect
File operation task may fail with unexpected internal errorCR00003041
Defect
Triggers
Allow File Trigger and E-Mail Trigger to trigger for separate instances when job is configured to wait, then skipCR00002970
Enhancement
If a job's Multiple Instances option is set to "Execute only if the previous instance(s) complete within the specified interval", adTempus does not allow you to create a File Trigger or E-Mail Trigger that is configured to start a new instance for each found file or e-mail message. This has been changed to allow this combination of settings. However, be aware that if the interval is not set to a sufficiently long time, this could result in the job not executing for some files/messages.
If multiple instances are waiting on a previous instance, they are released at the same timeCR00002971
Defect
A job is configured with a Multiple Instances option that requires the job to wait for previous instances to finish. Instances 2 and 3 are submitted while instance 1 is running, so both 2 and 3 are waiting for 1 to finish. When instance 1 finishes, instances 2 and 3 may be started at the same time. This behavior has been corrected so that only instance 2 will start, and instance 3 will wait until instance 3 finishes.
Job Variables defined for Schedule Trigger and Startup Trigger are not passed to job when it is triggeredCR00002996
Defect