BPMDeleteSnapshot command

This command is run against a server instance to delete snapshots for process applications or toolkits. For example, you may want to run the command if an excessive number of snapshots is causing your system to slow down.

Use the BPMDeleteSnapshot command in connected mode from Process Server to delete snapshots for process applications or toolkits. The BPMDeleteSnapshot command cannot be used from Process Center.

The BPMDeleteSnapshot command is run using the AdminTask object of the wsadmin scripting client.

Prerequisites

Important: In an environment with multiple security domains configured, use the PALService MBean instead of this wsadmin command. See The Process Application LifeCycle (PAL) MBean.
The following conditions must be met:
  • You can only run the command for one process application or toolkit at a time. In a network deployment environment, you must run this command on the node containing the application cluster member that handles Process Server or Process Center applications. Do not run this command from the deployment manager profile.
  • Only a user with Repository Admin privileges can delete a snapshot.
The following preconditions must exist for any snapshot that you want to delete:
  • The snapshot must exist
  • The snapshot must be inactive
  • The snapshot must have no running instances
  • The snapshot must not be deployed
  • In an Advanced deployment environment, any business-level applications that are related to the snapshot must be uninstalled before you can delete the snapshot.

If one or more of the preconditions has not been met when the command is run, the command is terminated and an error message is written to the command-line console and the SystemOut.log file to indicate which of the preconditions was not met. Generally, the message contains some suggestions for achieving the preconditions. For example:

You cannot delete an active snapshot.

To view the status of a snapshot, use the BPMShowSnapshot command. You can also view the status of snapshot instances in the Inspector view of Process Designer.

Generally, you can prepare a snapshot for deletion by completing the following steps:

  • Run the BPMShowProcessApplication command to determine whether the snapshot exists for the process application.
  • Run the BPMShowSnapshot command to determine the status of the snapshot, such as whether it is the default snapshot and whether it is active with running instances.
  • Run the BPMDeactivate command to deactivate the snapshot.
  • Run the BPMStop command to stop the snapshot and its running instances.
  • Run the BPMUndeploy command to undeploy the snapshot from the server. This command also uninstalls any business-level applications that are related to the snapshot.

After you have completed these tasks, you can run the BPMDeleteSnapshot command.

Note:
  • When you delete a snapshot, any related BPD instances that have a status of Terminated, Completed, or Failed will also be deleted.
  • If you run the BPMDeleteSnapshot command on a snapshot of a system process application or a toolkit, it removes the process application or toolkit. To fix the problem, run the bootstrapProcessServerData utility, which reinitializes the deleted process application or toolkit.
If you are using a SOAP connection, this command can take longer to complete than the default SOAP timeout value, which will result in an exception. This exception might occur in the following circumstances:
  • When you are using the command to remove a snapshot with many running business process instances. If you plan to remove snapshots with many business process instances, increase the value of the SOAP.requestTimeout property, which is set by default to 180 seconds. You can find this property in the soap.client.props file in the following path: your server profile/properties.
  • When you are deleting many snapshots at a time using the command: AdminTask.BPMDeleteSnapshot('[-containerAcronym PA01 containerSnapshotAcronyms [SS2.0.1 SS2.0.2]]'). Note that in this case, Process Server snapshot deletion is not affected.

Location

Start the wsadmin scripting client from the profile_root/bin directory.

Syntax

BPMDeleteSnapshot 
-containerAcronym process_application_or_toolkit_acronym
-containerSnapshotAcronyms snapshot_acronym
[-force]
[-outputFile file_path]

Parameters

If you do not know the acronym for a required parameter, use the BPMShowProcessApplication command to list the details of a process application and its snapshots, including acronyms.

-containerAcronym process_application_acronym
A required parameter of type String that identifies the acronym of the process application or toolkit that contains the snapshots. For example, the BillingDispute process application might have an acronym of BILLDISP.
-containerSnapshotAcronyms process_application_snapshot_acronym
A required parameter of type String[] that identifies the acronyms of the snapshots. For example, snapshot 01 and snapshot 02 might have acronyms of SS2.0.1 and SS2.0.2. You can specify a single snapshot acronym or a list of acronyms separated by spaces, for example, -containerSnapshotAcronyms [SS2.0.1 SS2.0.2].
-force
A parameter that specifies that you want to delete the last and default snapshot of a process application. A default snapshot is not deleted unless you include the force parameter, and it must be the only existing snapshot of the process application. When the last snapshot of a process application is deleted, the process application is removed.
-outputFile file_path
An optional parameter that specifies the file path to write the log messages that result from running the command. The path to the file can be absolute or relative but the directory structure must already exist. If you do not provide this parameter, the message are written to the SystemOut.log file.

Examples

The following example shows how to establish a SOAP connection to Process Server and delete those snapshots for the process application BILLDISP that have snapshots acronyms of SS2.0.1 and SS2.0.2:

Important: In a network deployment environment, use the port configured for the application cluster member that runs the Process Server or Process Center applications. To determine the correct port number, see the WebSphere administrative console Ports collection page (click Servers > Server Types > WebSphere application servers > server_name > Communications > Ports and find the value for SOAP_CONNECTOR_ADDRESS).
wsadmin -conntype SOAP -port 8880 -host ProcessServer01.mycompany.com -user admin -password admin -lang jython

wsadmin>AdminTask.BPMDeleteSnapshot('[-containerAcronym BILLDISP -containerSnapshotAcronyms [SS2.0.1 SS2.0.2]]')