The Topology Extractor Aggregator may encounter a processing failure when attempting to ingest SMF input datasets residing on tape media. This processing failure is not a normal condition.
The following error occurs:
Exception in thread "main" com.ca.topology.extract.exception.TopologyExtractorException: TopologyErrorCodes{errorCode='TPL104E', errorMessage='Closing file failed'}
at com.ca.topology.extract.SmfDataExtractor.extractSmfData(SmfDataExtractor.java:81)
at com.ca.topology.smf.commons.ExtractorCommons.extractSmfData(ExtractorCommons.java:61)
at com.ca.topology.smf.SmfDataExtractorAggregator.extractAndAggregateData(SmfDataExtractorAggregator.java:92)
at com.ca.topology.smf.SmfDataExtractorAggregator.main(SmfDataExtractorAggregator.java:71)
Caused by: java.time.DateTimeException: Invalid value for DayOfYear (valid values 1 - 365/366): 424
at java.base/java.time.temporal.ValueRange.checkValidValue(ValueRange.java:319)
at java.base/java.time.temporal.ChronoField.checkValidValue(ChronoField.java:718)
at java.base/java.time.LocalDate.ofYearDay(LocalDate.java:291)
at com.ca.oi.smflib.syntax.common.fields.SmfDateField.getLocalDate(SmfDateField.java:34)
at com.ca.topology.extract.smf.utils.SmfUtil.getLocalDate(SmfUtil.java:103)
at com.ca.topology.extract.smf.utils.GenericSmfHeaderParser.getDate(GenericSmfHeaderParser.java:72)
at com.ca.topology.extract.smf.utils.GenericSmfHeaderParser.isValidRecord(GenericSmfHeaderParser.java:81)
at com.ca.topology.extract.SmfDataExtractor.readAndProcessSmfData(SmfDataExtractor.java:128)
at com.ca.topology.extract.SmfDataExtractor.extractSmfData(SmfDataExtractor.java:75)
... 3 more
A DateTimeException arises in the Topology Extractor phase when the parsed SMF record lacks a valid SMF Header input. This specific error is primarily observed when processing SMF input datasets stored on tape devices. The underlying cause is currently unknown, but the symptoms suggest that z/OS operating system doesn't automatically identify VBS format of the dataset in the Java based Topology Extractor Aggregator process. While utilities like IFASMFDP recognize the VBS format, others such as IDCAMS may not, leading to corrupted data parsing during the extraction process.
As a workaround for tape datasets, explicitly define the DCB parameter for the SMF input in the Extractor Aggregator JCL. This ensures the Topology Extractor Aggregator correctly interprets the VBS input file. In case of usage of concatenated input files, place the RECFM parameter on the first DD statement.
The recommended JCL configuration is as follows:
//SMFIN DD DISP=SHR,BUFNO=99,
// DSN=SMF.DATA.HERE,DCB=(RECFM=VBS)
This explicit RECFM=VBS configuration is an approach for handling these tape-related discrepancies.