Testing of a system logging facility using randomized input and iteratively changed log parameters
First Claim
1. A method for testing a software application program, the method comprising:
- providing randomized input into a logging facility, the logging facility collecting data from multiple systems in a coupling facility log stream;
performing automated testing of the logging facility in a multi-processing environment;
performing self-verification of data retrieved from the logging facility to ensure no data loss occurs due to external system events or failures driven by a test tool;
performing real-time analysis of results received by the test tool based on the randomized input into the logging facility;
capturing first failure data; and
performing self-verification of results of a data recovery operation of the logging facility in a disaster recovery scenario;
wherein performing self-verification of data retrieved includes;
writing a number of log blocks, N, to the log stream, each log block being a randomly sized block having tracking information stored inside each log block;
iteratively forcing log data to be offloaded from primary storage to secondary storage;
iteratively performing a dynamic update of log stream attributes including a class name, log stream size and a threshold offload values;
iteratively swapping duplexing of the log stream between a Coupling Facility Structure DUPLEX and SIMPLEX modes;
reading all log blocks from the log stream that were written during this current iteration;
after verification completes successfully, deleting log blocks older than N/2+1 from the log stream.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and computer program product for testing a system logger. Randomized input is provided into a logging facility and automated testing of the logging facility is performed in a multi-processing environment. Self-verification of data retrieved from the logging facility is performed to ensure no data loss occurs due to external system events or failures driven by a test tool. Real-time analysis of results received is performed by the test tool based on the randomized input into the logging facility. First failure data is captured and self-verification of results of a data recovery operation of the logging facility is performed in a disaster recovery scenario. Self-verification includes writing log blocks of random sizes to the log stream, iteratively forcing log data to be offloaded from primary storage to secondary storage, iteratively updating log stream attributes, and iteratively swapping duplexing modes.
21 Citations
18 Claims
-
1. A method for testing a software application program, the method comprising:
-
providing randomized input into a logging facility, the logging facility collecting data from multiple systems in a coupling facility log stream; performing automated testing of the logging facility in a multi-processing environment; performing self-verification of data retrieved from the logging facility to ensure no data loss occurs due to external system events or failures driven by a test tool; performing real-time analysis of results received by the test tool based on the randomized input into the logging facility; capturing first failure data; and performing self-verification of results of a data recovery operation of the logging facility in a disaster recovery scenario; wherein performing self-verification of data retrieved includes; writing a number of log blocks, N, to the log stream, each log block being a randomly sized block having tracking information stored inside each log block; iteratively forcing log data to be offloaded from primary storage to secondary storage; iteratively performing a dynamic update of log stream attributes including a class name, log stream size and a threshold offload values; iteratively swapping duplexing of the log stream between a Coupling Facility Structure DUPLEX and SIMPLEX modes; reading all log blocks from the log stream that were written during this current iteration; after verification completes successfully, deleting log blocks older than N/2+1 from the log stream. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for testing a software application program, the method comprising:
-
providing randomized input into a logging facility, the logging facility collecting data from multiple systems in a coupling facility log stream; performing automated testing of the logging facility in a multi-processing environment; and performing a logging function, wherein the automated testing of the system logger comprises the following tasks;
a user interface task;an event notification facility (ENF) monitor task; a main procedure task; and one or more auxiliary tasks; wherein the main procedure task includes; writing a number of log blocks, N, to the log stream, each log block being a randomly sized block having tracking information stored inside each log block; iteratively forcing log data to be offloaded from primary storage to secondary storage; iteratively performing a dynamic update of log stream attributes including a class name, log stream size and a threshold offload values; iteratively swapping duplexing of the log stream between a Coupling Facility Structure DUPLEX and SIMPLEX modes; reading all log blocks from the log stream that were written during this current iteration; after verification completes successfully, deleting log blocks older than N/2+1 from the log stream. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A computer program product for testing a software application program, the computer program product comprising:
-
a non-transitory storage medium; and program instructions stored on the non-transitory storage medium for performing a method, the method comprising; providing randomized input into a logging facility, the logging facility collecting data from multiple systems in a coupling facility log stream; performing automated testing of the logging facility in a multi-processing environment; and performing a logging function, wherein the automated testing of the system logger comprises the following tasks; a user interface task; an event notification facility (ENF) monitor task; a main procedure task; and one or more auxiliary tasks; wherein the main procedure task includes; writing a number of log blocks, N, to the log stream, each log block being a randomly sized block having tracking information stored inside each log block; iteratively forcing log data to be offloaded from primary storage to secondary storage; iteratively performing a dynamic update of log stream attributes including a class name, log stream size and a threshold offload values; iteratively swapping duplexing of the log stream between a Coupling Facility Structure DUPLEX and SIMPLEX modes; reading all log blocks from the log stream that were written during this current iteration; after verification completes successfully, deleting log blocks older than N/2+1 from the log stream.
-
-
18. A computer program product for testing a software application program, the computer program product comprising:
-
a non-transitory storage medium; and program instructions stored on the non-transitory storage medium for performing a method, the method comprising; providing randomized input into a logging facility, the logging facility collecting data from multiple systems in a coupling facility log stream; performing automated testing of the logging facility in a multi-processing environment; performing self-verification of data retrieved from the logging facility to ensure no data loss occurs due to external system events or failures driven by a test tool; performing real-time analysis of results received by the test tool based on the randomized input into the logging facility; capturing first failure data; and performing self-verification of results of a data recovery operation of the logging facility in a disaster recovery scenario; wherein performing self-verification of data retrieved includes; writing a number of log blocks, N, to the log stream, each log block being a randomly sized block having tracking information stored inside each log block; iteratively forcing log data to be offloaded from primary storage to secondary storage; iteratively performing a dynamic update of log stream attributes including a class name, log stream size and a threshold offload values; iteratively swapping duplexing of the log stream between a Coupling Facility Structure DUPLEX and SIMPLEX modes; reading all log blocks from the log stream that were written during this current iteration; after verification completes successfully, deleting log blocks older than N/2+1 from the log stream.
-
Specification