Article ID: K00000539
Last Updated: October 30, 2016
Summary
This article describes the changes included in adTempus version 4.4, released on October 30, 2016.
Installation Notes
The database configuration wizard will run at the end of setup to make minor updates to the adTempus database to improve performance. This update will add new indexes to the database but will not otherwise affect the database structure or your data. It is not necessary to take a database backup before applying the update. The change will not prevent the database from being used by earlier versions of adTempus if you subsequently reverse the update to version 4.4.
Obtaining the Update
See the download page to download the latest version of adTempus. The setup program will update your installation.
Changes in This Update
This release includes some minor enhancements, plus fixes to issues found since the release of version 4.3. See article K00000509 for a list of changes in version 4.3.
The following changes are included in this update:
Console |
| Warn when manually executing more than one job | CR00007183 Enhancement | If you use the Run command in the Console when more than one job is selected, all selected jobs are executed, though this is easy to overlook in the Execution Options window.
A new warning message was added to prevent accidental execution of multiple jobs.
|
Dim failure icon for job when all failed instances have been acknowledged | CR00007234 Enhancement | Previously, a Job would be shown in the Console with a red failure icon until the next successful run, even if all failed instances had been acknowledged.
This has been changed so that the failure icon appears "dimmed" once all failures have been acknowledged.
See also related change CR00007235. |
Don't add " - Copy" to job name duplicating Job Group | CR00007178 Defect | When a Job Group is duplicated, the jobs within the group will no longer have " - Copy" appended to the name. |
Job list may not maintain correct scroll position after refresh | CR00007182 Defect | When the adTempus Console refreshes to show the latest data while you are in a job list view, the list scrolls to keep the selected job in view. If you had paged so that job was out of view, you lose your position.
This was corrected to maintain the correct scroll position rather than scrolling to the selected job.
|
Unexpected error when port number not specified for incoming mail server | CR00007186 Defect | When setting up an incoming mail server, if you leave the Server Port box empty, the Console gives error
adTempus Console has encountered a problem"
Number Conversion from string '"' to type 'Integer' is not valid
After closing the error window, you can enter a port number value (use 0 for the default) and successfully save the provider.
|
Canceling an edit operation after duplicating an object results in unexpected Console error | CR00007203 Defect | If you duplicate an object (such as a Job Step) and then click Cancel in the edit window for the object or one of its children, the Console may fail with an "unexpected error" message.
This problem was resolved.
|
Object type selector in Deleted Objects window does not work correctly | CR00007216 Defect | When you search in the Deleted Objects window, the search shows objects based on the highlighted object type, rather than the checked object type(s). This problem was corrected. |
|
Distributed Scheduling |
| Changes to queue limit behavior for Load Balanced queues | CR00007175 Enhancement | Consider the scenario where a Queue is configured to use Load Balancing across multiple computers, and a limit is set to restrict the number of jobs that can execute concurrently in the queue on a single computer.
In previous versions, if all available agents were at or above the limit, a job was still dispatched to an agent (generally the agent with the lowest number of active and pending jobs). The job would then be queued for execution on the agent until an execution slot was available.
This has the drawback of potentially sending a job to an agent where it will wait for a long time to execute, while jobs that get triggered later may get executed first on other agents whose jobs took less time to run.
This behavior has been changed so that jobs will only be dispatched to agents that have available execution slots. If no agent has an available slot, the job will remain queued until a slot is available. All jobs sent to the queue for execution will be dispatched to agents in the order that they were triggered. |
Master server incorrectly logs error message when executing Job Control Action for Agent | CR00007193 Defect | For more information see Knowledge Base article K00000528. |
Users are incorrectly able to modify some jobs on Agents | CR00007230 Defect | When you connect the Console to an adTempus server running in Agent/Standalone mode, you should not be able to modify jobs that are managed by the Master. However, adTempus may allow you to do this. This problem was corrected. |
|
General |
| Show warning indicators for jobs with instances in "warning" state | CR00007235 Enhancement | The adTempus Console highlights jobs, groups, and queues that contain instances with an error state (such as failed) by showing an error icon next to the job, or on the group or queue icon. This feature was expanded to also highlight instances with a warning status (such as abandoned or aborted) by showing a warning icon. As with the error indicator, the warning indicator is removed when the instance's status is acknowledged.
See also related change CR00007234.
|
Console performance enhancements | CR00007239 Enhancement | Changes were made to improve the performance (responsiveness) of the Console for customers with large amounts of history data, particularly when using the Job Monitor, Failed Jobs, and Alerts views. |
"Reset Master" option not enabled in Engine Mode tool | CR00007184 Defect | When you run the Engine Mode Utility, the Reset Master option may not be enabled when it should be when the utility starts.
Workaround: Click to select a different engine mode, then click back to the original setting. This should enable the option.
This problem was resolved. |
Inline function calls always evaluated in C# | CR00007196 Defect | When you use an inline function call, the syntax for any code or strings in the call is processed in the C# language, even if the inline function library is set to use VB.NET. This can cause unexpected errors when compiling the code.
This was corrected so that inline function calls are processed in the same language specified for the InlineFunctions library.
For more information see Knowledge Base article K00000529. |
When job fails, history record for instance does not indicate which step failed | CR00007198 Defect | This problem was corrected so the "Step" column in the History pane of the job list will indicate which step failed. |
"Internal error" if the same inline function is called more than once in a text block | CR00007200 Defect | If the same block of text calls the same Inline Function more than once, job execution fails with "an unexpected internal error."
This problem was corrected.
|
Unnecessary job chain data sent from Master to Agent | CR00007204 Defect | For more information see Knowledge Base article K00000530. |
"Force Execution" does not work for instance Queued for Execution after a condition wait | CR00007206 Defect | A job instance was previously waiting for a condition to be met. The condition has been met, but the job is now in status "Queued for Execution" because the execution limit for the Job Queue has been reached. If you use the "Force Execution" command in the Console to override the limit and force the instance to execute immediately, nothing happens. The instance will still execute when a slot becomes available in the Queue, but immediate execution cannot be forced.
This problem was resolved.
|
Multiple Instance option does not work correctly in some Distributed Scheduling scenarios | CR00007219 Defect | If a job is configured to use one of the Multiple Instance options other than "Execute," multiple instances may still be started for jobs assigned to a Queue that uses Load Balancing.
This problem was corrected.
|
Name/description of job step is not saved in job history | CR00007220 Defect | When you view a job instance from the job history, the names/descriptions for job steps are not displayed. This is occurring because adTempus is failing to save this information in the history.
The problem was corrected so the information will be stored when jobs are executed. For jobs run before the update was applied, the Console will show the current description for the step.
|
Audit and snapshot records are not retained when the "Keep forever" option is used | CR00007224 Defect | If you use the "Keep forever" setting for audit and snapshot records, adTempus mistakenly removes these records within 24 hours. The problem was corrected. |
Job instance status not updated during execution | CR00007229 Defect | A change made in version 4.3 had the unintended consequence that the status for a running job instance may not be correct. For example, it may show "Queued for Execution" when it should be "Running," or "Running" when it should show "Waiting for Condition." This problem only affects display of the status, not the actual execution of the job.
The problem was corrected.
|
|
Import/Export |
| When showing Export window, transfer selections from active view | CR00007238 Enhancement | If you have objects selected in the active view (e.g., the job list, Notification Recipients list, etc.) when you open the Export window, you will now be given the option to transfer the selections to the export window so those items are selected by default in the list of object available for export.
Previously there was no such link.
|
Jobs not queued for execution when auto-save option is used during import | CR00007162 Defect | When you use the option to "Save all imported objects if no problems are found" when importing jobs into adTempus, jobs are saved but are not scheduled for execution. Editing the job or restarting the adTempus service causes them to be scheduled. |
Console gives unexpected error when export fails due to file permissions | CR00007169 Defect | |
Import fails for decimal values if culture settings do not use "." as decimal separator and "," as thousands separator | CR00007189 Defect | For more information see Knowledge Base article K00000526. |
Job identity not included when Log Message is exported | CR00007217 Defect | When a Log Message is exported and imported, it is correctly linked to the Instance that it belongs to, if appropriate. However, the link to the owning job is lost. Therefore the message no longer appears on the Log Messages tab for the job, but does appear in the instance details window if it is associated with a specific instance. |
"Deselect All" button in Export window does not work correctly | CR00007237 Defect | This problem was resolved. |
|
Job Execution |
| Log alert when program fails to initialize due to DLL initialization failure | CR00007232 Enhancement | When a program run by adTempus fails with exit code -1073741502, this can indicate a lack of desktop heap memory that can cause additional jobs to fail with the same error. When this exit code is reported, adTempus will now log an Alert for the job, with a link to a KB article with more information about the error. An alert notification rule can be configured to notify administrators when this problem occurs. |
ExecutionStart and ExecutionFinish job variables not always available as expected | CR00007221 Defect | If you use the Job.ExecutionFinish, JobStep.ExecutionStart, or JobStep.ExecutionFinish variables in your job (for example, in notification messages set by responses), the following problems occur:
- The *.ExecutionFinish variables may not be set before Responses are executed, resulting in empty values if you use them in Responses.
- The JobStep.* variables are not defined when job-level Responses are executed (they are only available to step-level Responses)
Both of these problems were corrected.
|
Job has status "Not Run" when all steps are skipped | CR00007223 Defect | When no steps within a job are executed (e.g., because they were disabled or their conditions were not met), adTempus reports the job with status "Not Run," which is misleading because this status is also used for cases where a job was aborted before it began execution.
Further, when such a job executes on an Agent, the Master continues to report the job as active even after it has finished because of a problem interpreting this status.
The behavior has been changed so that a job will be reported as "Succeeded" even if none of its steps ran. As a result of this change the Master now reflects the correct state of the job. |
|
Responses |
| Job Control Action targets incorrect step after duplication | CR00007213 Defect | This fix requires that the adTempus server be updated to resolve scenario 1, and the adTempus Console be updated to resolve scenario 2. For more information see Knowledge Base article K00000534. |
|
Scripting |
| Enhance inline script capabilities | CR00007202 Enhancement | Inline scripting has been updated to correct some design limitations. The updates support:
- Nested inline function calls.
- Inline function calls that use variables as arguments, when those variables evaluate to inline function calls.
|
Server logs file capture error when running external PowerShell script | CR00007168 Defect | When an adTempus task runs an external PowerShell task with the option checked to capture the console output from the script, an error message is written to the adTempus diagnostic logs:
Failed to delete captured file PowerShell Output.txt
System.NullReferenceException: Object reference not set to an instance of an object.
This message does not cause any operational issues.
The underlying problem has been resolved.
|
Script Library editor doesn't allow adding references to other libraries | CR00007195 Defect | When editing a Script Library, the "Included Script Libraries" list is always empty, so it is not possible to reference other Script Libraries.
This has been corrected so that a Script Library can reference other Script Libraries (so code in one library can call code in another).
|
Script execution fails if script references additional assemblies | CR00007209 Defect | For more information see Knowledge Base article K00000532. |
|
Security |
| Permissions not updated promptly for Dynamic Logins when Active Directory group membership changes | CR00007208 Defect | When a user has been authenticated to adTempus using a dynamic login (based on Active Directory group membership), permissions assigned to the user may be cached until the next time the adTempus service is restarted. Therefore if the user's group membership changes, the user's permissions in the Console may not reflect that change until the next restart.
For example, user Rachel is a member of an Active Directory group that has been given permission to execute jobs in adTempus. She logs in to adTempus and is able to run jobs. She is subsequently removed from that Active Directory group, but when she logs in to adTempus she is still able to run jobs even though she should not be permitted. After the adTempus service is restarted, her permissions are correctly updated.
This problem was corrected so that cached permissions are discarded and the user's permissions are always recalculated each time she logs in to adTempus.
Note: Group membership changes won't be reflected until the user restarts the adTempus Console, as the permission assignment only happens when the user logs in. Also, it may be necessary for the user to log out of Windows for the user's login session to be updated with the group membership change.
|
|
Tasks |
| Set ADTTaskResult variable from result of scalar database selection | CR00007222 Enhancement | When you execute a database task to select a scalar value, the value will now be stored in the ADTTaskResult Job Variable in addition to the variable you specify in the task settings. It will also appear as the "Result" for the step in the job history. |
File Compression task does not create target folder if it doesn't exist | CR00007188 Defect | If the target ZIP file is in a folder that does not exist, adTempus does not create it, and the compression task fails as a result.
This problem was corrected.
|
|
Triggers |
| Preliminary support for viewing Job Trigger status | CR00007174 Enhancement | Added preliminary support for viewing the status of Job Triggers, allowing user to see which rules have been satisfied for the trigger, and by which job instances.
To display the status, right-click the job and select the Trigger Status command at the bottom of the pop-up menu.
This option is only available if both the Console and the server are running adTempus 4.3.1.16125 or later.
Only Job Triggers currently report status.
|
Add status reporting for File Triggers | CR00007179 Enhancement | Added preliminary support for viewing the status of File Triggers. To display the status, right-click the job and select the Trigger Status command at the bottom of the pop-up menu.
This option is only available if both the Console and the server are running adTempus 4.3.1.16139 or later. |
Log Alert when root folder for File Trigger does not exist | CR00007236 Enhancement | When it begins monitoring for a File Trigger, adTempus checks to see if the root folder for the path you have specified exists and is visible to the user account used for the job. If not, adTempus will log an Alert warning you of this condition, which may indicate that your trigger is misconfigured or does not have the appropriate security access. |
Job Trigger reports wrong instance for target job(s) | CR00007170 Defect | When a job is triggered by a Job Trigger, the Execution Reason for the instance lists the jobs and instances that satisfied the trigger. However, the instance number is always listed as 0 for all jobs.
This problem was fixed to show the correct instance number.
|
Job Trigger may execute for wrong instance when using Cycle ID | CR00007171 Defect | For more information see Knowledge Base article K00000518. |
Job Trigger may select trigger incorrectly when using "since previous execution of current job" options | CR00007173 Defect | When you use one of the "{most recent|any} instance since previous [successful] execution of the current job" instance rules for a Job Trigger, adTempus may incorrectly trigger for an instance that ran prior to the most recent execution of the current job. This happens when the trigger targets more than one job. If one or more target rules was satisfied before the current execution but at least one was not, the target rules satisfied before the current execution may not be re-evaluated, causing the job to trigger without waiting for them to run again.
This problem was resolved.
|
File trigger failures when debug logging turned on | CR00007190 Defect | When debug (diagnostic) logging is turned on for the adTempus service, File Triggers may fail if they are configured to detect modified files. An error is logged to the adTempus diagnostic log in this case: "Exception while checking monitor XXXXXX
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection."
Debug logging is turned off by default, so this problem does not affect most users. |
|