Skip to content

AWS Bluage L3 Workshop - error during TRANBKP manual test execution

0

I am trying to launch TRANBKP as part of the workshop (https://catalog.us-east-1.prod.workshops.aws/workshops/bf71c0bc-6d8a-4d04-9c10-ab479f7f0e37/en-US/execution/test/batch) but an error is happening

Here are tomcat logs:

2025-01-08T10:55:25.356Z  INFO 5272 --- [nio-8080-exec-9] c.n.b.g.rt.provider.CheckpointRegistry   : Remove checkpoint TRANBKP
2025-01-08T10:55:25.356Z  INFO 5272 --- [nio-8080-exec-9] c.n.b.g.rt.script.BatchWebController     : --> executing script TRANBKP
2025-01-08T10:55:25.356Z  INFO 5272 --- [nio-8080-exec-9] c.n.b.g.rt.script.BatchWebController     : Bound jobContext 2075505365 - GDGEventsQueueHandler :1970426835
2025-01-08T10:55:25.357Z  INFO 5272 --- [nio-8080-exec-9] c.n.b.g.rt.script.ScriptControlTower     : Added jobExecutor [0eec62fe-67da-4b45-bdd5-f0474df932e2] to Sync Script Control Tower.
2025-01-08T10:55:25.357Z  INFO 5272 --- [nio-8080-exec-9] c.n.b.g.r.j.support.AbstractJobExecutor  : 0eec62fe-67da-4b45-bdd5-f0474df932e2 - worker :Thread-15 [1900927397]
2025-01-08T10:55:25.360Z  INFO 5272 --- [      Thread-15] c.n.b.g.r.job.support.GroovyJobExecutor  : Triggered script: TRANBKP - [0eec62fe-67da-4b45-bdd5-f0474df932e2] - jobContext [2075505365]
2025-01-08_11-55-25-682 | [JOB] TRANBKP - Started
2025-01-08_11-55-25-688 | [STEP] STEP05R - Started
2025-01-08T10:55:25.693Z  WARN 5272 --- [      Thread-15] c.n.b.g.i.s.c.b.FileConfigurationBuilder : Update of GDGSUpportConfiguration from catalog is not implemented.
2025-01-08_11-55-25-701 | [EXEC GROOVY FILE] D:\PhotonUser\Workshop\working-directory\TRANBKP_STEP05R_REPROC_2025-01-08_11-55-25-695.groovy - Started
2025-01-08_11-55-26-082 | [PROC] REPROC - Started
2025-01-08_11-55-26-098 | [STEP] PRC001 - Started
2025-01-08T10:55:26.098Z  INFO 5272 --- [      Thread-15] c.n.b.g.i.s.FileConfigurationUtils       : PRC001.FILEIN : BluesamFileConfiguration [bluesamId=, dataset=AWS.M2.CARDDEMO.TRANSACT.VSAM.KSDS, cacheCompression=false, warmUp=true, isAnsiCarriageControl=false, disposition=SHR, normal termination=KEEP, abnormal termination=KEEP]
2025-01-08T10:55:26.098Z  INFO 5272 --- [      Thread-15] c.n.b.g.i.s.FileConfigurationUtils       : PRC001.FILEOUT : GDGSupportConfiguration [relativeGeneration=1, name=AWS.M2.CARDDEMO.TRANSACT.BKUP, ownerPath=., cacheCompression=false, warmUp=true, storageProvider=filesystem, recordSize=350, jobContext=com.netfective.bluage.gapwalk.rt.job.support.DefaultJobContext@7bb5b2d5, rdw=false, bdw=false, isFixed=false, isLF=false, isCRLF=false, isMicroFocusCompatible=false, order=LIFO]
2025-01-08T10:55:26.098Z  INFO 5272 --- [      Thread-15] c.n.b.g.r.c.i.ExecutionControllerImpl    : Executing program: IDCAMS
2025-01-08T10:55:26.098Z  INFO 5272 --- [      Thread-15] c.n.b.g.rt.db.stats.DatabaseStatistics   : DATABASE STATISTIC DISABLED
2025-01-08T10:55:26.115Z  INFO 5272 --- [      Thread-15] c.n.b.g.io.support.basic.BuilderHelper   : Using path =[.\AWS.M2.CARDDEMO.TRANSACT.BKUP.G0002V00] for FileSystem GDG named AWS.M2.CARDDEMO.TRANSACT.BKUP generation 2
2025-01-08T10:55:26.115Z  INFO 5272 --- [      Thread-15] c.n.b.g.r.job.support.DefaultJobContext  : Stored [.\AWS.M2.CARDDEMO.TRANSACT.BKUP.G0002V00] for key (AWS.M2.CARDDEMO.TRANSACT.BKUP,1)
2025-01-08T10:55:26.117Z  INFO 5272 --- [      Thread-15] c.n.b.gapwalk.io.support.FileFactory     : Created new file [D:\PhotonUser\Workshop\working-directory\.\.\AWS.M2.CARDDEMO.TRANSACT.BKUP.G0002V00]
2025-01-08T10:55:26.117Z  INFO 5272 --- [      Thread-15] c.n.b.gapwalk.utility.idcams.IdcamsPgm   : IDCAMS REPRO : REPRO INFILE(FILEIN) OUTFILE(FILEOUT)
2025-01-08T10:55:26.345Z  INFO 5272 --- [      Thread-15] c.n.b.g.r.sort.service.AdaptableSort     : External sort threshold is 2072786524 bytes
2025-01-08T10:55:26.353Z  INFO 5272 --- [      Thread-15] org.ehcache.core.EhcacheManager          : Cache 'AWS_M2_CARDDEMO_TRANSACT_VSAM_KSDS' created in EhcacheManager.
2025-01-08T10:55:26.356Z  INFO 5272 --- [      Thread-15] .b.c.s.r.AbstractRdbmsPersistenceSupport : Dataset AWS_M2_CARDDEMO_TRANSACT_VSAM_KSDS is empty.
2025-01-08T10:55:26.358Z  INFO 5272 --- [      Thread-15] c.n.b.g.u.s.s.e.io.DataSetRecordReader   : Open dataSet AWS.M2.CARDDEMO.TRANSACT.VSAM.KSDS status = OK
2025-01-08T10:55:26.358Z  INFO 5272 --- [      Thread-15] c.n.b.g.u.s.s.e.ExternalSortTasklet      : fcOut:GDGSupportConfiguration [relativeGeneration=1, name=AWS.M2.CARDDEMO.TRANSACT.BKUP, ownerPath=., cacheCompression=false, warmUp=true, storageProvider=filesystem, recordSize=350, jobContext=com.netfective.bluage.gapwalk.rt.job.support.DefaultJobContext@7bb5b2d5, rdw=false, bdw=false, isFixed=false, isLF=false, isCRLF=false, isMicroFocusCompatible=false, order=LIFO]
2025-01-08T10:55:26.364Z  INFO 5272 --- [      Thread-15] c.n.b.g.r.job.support.DefaultJobContext  : Returning stored dataset path from job context for key (AWS.M2.CARDDEMO.TRANSACT.BKUP,1)
2025-01-08T10:55:26.364Z  INFO 5272 --- [      Thread-15] c.n.b.g.io.support.basic.BuilderHelper   : Retrieved path from jobContext : .\AWS.M2.CARDDEMO.TRANSACT.BKUP.G0002V00
2025-01-08T10:55:26.365Z  INFO 5272 --- [      Thread-15] c.n.b.gapwalk.utility.common.FileUtils   : .\AWS.M2.CARDDEMO.TRANSACT.BKUP.G0002V00 - Existing file! - no file creation.
2025-01-08T10:55:26.366Z  INFO 5272 --- [      Thread-15] c.n.b.g.r.job.support.DefaultJobContext  : Returning stored dataset path from job context for key (AWS.M2.CARDDEMO.TRANSACT.BKUP,1)
2025-01-08T10:55:26.366Z  INFO 5272 --- [      Thread-15] c.n.b.g.io.support.basic.BuilderHelper   : Retrieved path from jobContext : .\AWS.M2.CARDDEMO.TRANSACT.BKUP.G0002V00
2025-01-08T10:55:26.366Z  INFO 5272 --- [      Thread-15] c.n.b.gapwalk.utility.common.FileUtils   : .\AWS.M2.CARDDEMO.TRANSACT.BKUP.G0002V00 - Existing file! - no file creation.
2025-01-08T10:55:26.367Z  INFO 5272 --- [      Thread-15] c.n.b.g.u.s.s.e.ExternalSortTasklet      : Sort output file length = 0 bytes 
2025-01-08T10:55:26.368Z  INFO 5272 --- [      Thread-15] c.n.b.g.r.job.support.DefaultJobContext  : Returning stored dataset path from job context for key (AWS.M2.CARDDEMO.TRANSACT.BKUP,1)
2025-01-08T10:55:26.368Z  INFO 5272 --- [      Thread-15] c.n.b.g.io.support.basic.BuilderHelper   : Retrieved path from jobContext : .\AWS.M2.CARDDEMO.TRANSACT.BKUP.G0002V00
2025-01-08T10:55:26.368Z  INFO 5272 --- [      Thread-15] c.n.b.g.i.c.i.AbstractDatasetCatalogImpl : Register Dataset - GDG computed absolute generation 2
2025-01-08T10:55:26.368Z  INFO 5272 --- [      Thread-15] c.n.b.g.i.c.i.AbstractDatasetCatalogImpl : Generation [2] already registered for GDG named AWS.M2.CARDDEMO.TRANSACT.BKUP. Ignoring.
2025-01-08T10:55:26.379Z  INFO 5272 --- [      Thread-15] c.n.b.g.r.job.support.DefaultJobContext  : Returning stored dataset path from job context for key (AWS.M2.CARDDEMO.TRANSACT.BKUP,1)
2025-01-08T10:55:26.379Z  INFO 5272 --- [      Thread-15] c.n.b.g.io.support.basic.BuilderHelper   : Retrieved path from jobContext : .\AWS.M2.CARDDEMO.TRANSACT.BKUP.G0002V00
2025-01-08T10:55:26.382Z  INFO 5272 --- [      Thread-15] c.n.b.g.r.job.support.DefaultJobContext  : Returning stored dataset path from job context for key (AWS.M2.CARDDEMO.TRANSACT.BKUP,1)
2025-01-08T10:55:26.382Z  INFO 5272 --- [      Thread-15] c.n.b.g.io.support.basic.BuilderHelper   : Retrieved path from jobContext : .\AWS.M2.CARDDEMO.TRANSACT.BKUP.G0002V00
2025-01-08T10:55:26.382Z  INFO 5272 --- [      Thread-15] b.g.r.i.s.i.DefaultGDGEventsQueueHandler : [1970426835] - Stacked GDG Event :GDGEvent [provider=filesystem, fsPath=./.\AWS.M2.CARDDEMO.TRANSACT.BKUP.G0002V00, gdgName=AWS.M2.CARDDEMO.TRANSACT.BKUP, type=NEW_GENERATION, relativeGeneration=1, absoluteGeneration=2, ] for [Thread-15]
2025-01-08T10:55:26.383Z  INFO 5272 --- [      Thread-15] c.n.b.gapwalk.io.support.FileFactory     : FileUtils : stack new generation event
2025-01-08_11-55-26-385 | Program return code is 4
2025-01-08_11-55-26-387 | [STEP] PRC001 - Ended
2025-01-08_11-55-26-392 | [PROC] REPROC - Ended
2025-01-08_11-55-26-394 | [EXEC GROOVY FILE] D:\PhotonUser\Workshop\working-directory\TRANBKP_STEP05R_REPROC_2025-01-08_11-55-25-695.groovy - Ended
2025-01-08_11-55-26-395 | [STEP] STEP05R - Ended
2025-01-08_11-55-26-421 | [STEP] STEP05 - Started
2025-01-08T10:55:26.430Z  INFO 5272 --- [      Thread-15] c.n.b.g.r.c.i.ExecutionControllerImpl    : Executing program: IDCAMS
2025-01-08T10:55:26.430Z  INFO 5272 --- [      Thread-15] c.n.b.g.rt.db.stats.DatabaseStatistics   : DATABASE STATISTIC DISABLED
2025-01-08T10:55:26.435Z  INFO 5272 --- [      Thread-15] c.n.b.gapwalk.utility.idcams.IdcamsPgm   : IDCAMS DELETE : DELETE AWS.M2.CARDDEMO.TRANSACT.VSAM.KSDS           CLUSTER
2025-01-08T10:55:26.439Z  INFO 5272 --- [      Thread-15] b.c.s.r.AbstractRdbmsMetadataPersistence : Bluesam Metadata deleted entries count: 1 for dataset AWS_M2_CARDDEMO_TRANSACT_VSAM_KSDS
2025-01-08T10:55:26.446Z  INFO 5272 --- [      Thread-15] org.ehcache.core.EhcacheManager          : Cache 'AWS_M2_CARDDEMO_TRANSACT_VSAM_KSDS' removed from EhcacheManager.
2025-01-08T10:55:26.447Z  INFO 5272 --- [      Thread-15] c.n.b.g.u.bluesam.BluesamDeletePgm       : AWS.M2.CARDDEMO.TRANSACT.VSAM.KSDS deleted
2025-01-08T10:55:26.447Z  INFO 5272 --- [      Thread-15] c.n.b.gapwalk.utility.idcams.IdcamsPgm   : IDCAMS IF-THEN-ELSE : IF MAXCC LE 08 THEN SET MAXCC = 0
2025-01-08T10:55:26.447Z  INFO 5272 --- [      Thread-15] c.n.b.gapwalk.utility.idcams.IdcamsPgm   : IDCAMS SET : SET MAXCC = 0
2025-01-08T10:55:26.447Z  INFO 5272 --- [      Thread-15] c.n.b.gapwalk.utility.idcams.IdcamsPgm   : IDCAMS DELETE : DELETE AWS.M2.CARDDEMO.TRANSACT.VSAM.AIX           ALTERNATEINDEX
2025-01-08T10:55:26.449Z  INFO 5272 --- [      Thread-15] c.n.b.g.u.bluesam.BluesamDeletePgm       : Data set AWS.M2.CARDDEMO.TRANSACT.VSAM.AIX does not exists.
2025-01-08T10:55:26.449Z  INFO 5272 --- [      Thread-15] c.n.b.gapwalk.utility.idcams.IdcamsPgm   : IDCAMS IF-THEN-ELSE : IF MAXCC LE 08 THEN SET MAXCC = 0
2025-01-08T10:55:26.449Z  INFO 5272 --- [      Thread-15] c.n.b.gapwalk.utility.idcams.IdcamsPgm   : IDCAMS SET : SET MAXCC = 0
2025-01-08_11-55-26-458 | Program return code is 0
2025-01-08_11-55-26-460 | [STEP] STEP05 - Ended
2025-01-08_11-55-26-466 | [STEP] STEP10 - Started
2025-01-08T10:55:26.466Z  INFO 5272 --- [      Thread-15] c.n.b.g.r.c.i.ExecutionControllerImpl    : Executing program: IDCAMS
2025-01-08T10:55:26.466Z  INFO 5272 --- [      Thread-15] c.n.b.g.rt.db.stats.DatabaseStatistics   : DATABASE STATISTIC DISABLED
2025-01-08T10:55:26.469Z  INFO 5272 --- [      Thread-15] c.n.b.gapwalk.utility.idcams.IdcamsPgm   : IDCAMS DEFINE : DEFINE CLUSTER (NAME(AWS.M2.CARDDEMO.TRANSACT.VSAM.KSDS)           CYLINDERS(1 5)           VOLUMES(AWSHJ1           )           KEYS(16 0)           RECORDSIZE(350 350)           SHAREOPTIONS(2 3)           ERASE           INDEXED           )           DATA (NAME(AWS.M2.CARDDEMO.TRANSACT.VSAM.KSDS.DATA)           )           INDEX (NAME(AWS.M2.CARDDEMO.TRANSACT.VSAM.KSDS.INDEX)           )
2025-01-08T10:55:26.470Z  INFO 5272 --- [      Thread-15] c.n.b.g.u.bluesam.BluesamCreatePgm       : new Key(PRIMEKEY, false, [0, 16])
2025-01-08T10:55:26.486Z  INFO 5272 --- [      Thread-15] c.n.b.g.u.bluesam.BluesamCreatePgm       : Dataset AWS.M2.CARDDEMO.TRANSACT.VSAM.KSDS is created (compress=false, fixedLength=true, recordLength=350). Result = OK
2025-01-08_11-55-26-487 | Program return code is 0
2025-01-08_11-55-26-488 | [STEP] STEP10 - Ended
2025-01-08_11-55-26-491 | [JOB] TRANBKP - Ended
2025-01-08T10:55:26.492Z  INFO 5272 --- [      Thread-15] c.n.b.g.r.job.support.DefaultJobContext  : Job [2075505365] - starting final operation
2025-01-08T10:55:26.492Z  INFO 5272 --- [      Thread-15] c.n.b.gapwalk.rt.shared.GDGEventHandler  : Consuming GDG event :GDGEvent [provider=filesystem, fsPath=./.\AWS.M2.CARDDEMO.TRANSACT.BKUP.G0002V00, gdgName=AWS.M2.CARDDEMO.TRANSACT.BKUP, type=NEW_GENERATION, relativeGeneration=1, absoluteGeneration=2, ]
2025-01-08T10:55:26.499Z  INFO 5272 --- [      Thread-15] b.g.r.i.s.i.DefaultGDGEventsQueueHandler : [1970426835] - Stacking induced GDG Event: GDGEvent [provider=filesystem, fsPath=./.\AWS.M2.CARDDEMO.TRANSACT.BKUP.G0002V00, type=CHECK_LIMIT, relativeGeneration=1, absoluteGeneration=2, ]
2025-01-08T10:55:26.499Z  INFO 5272 --- [      Thread-15] c.n.b.gapwalk.rt.shared.GDGEventHandler  : Consuming GDG event :GDGEvent [provider=filesystem, fsPath=./.\AWS.M2.CARDDEMO.TRANSACT.BKUP.G0002V00, type=CHECK_LIMIT, relativeGeneration=1, absoluteGeneration=2, ]
2025-01-08T10:55:26.500Z  INFO 5272 --- [      Thread-15] c.n.b.g.r.job.support.DefaultJobContext  : End of job [2075505365]
2025-01-08T10:55:26.500Z  INFO 5272 --- [      Thread-15] c.n.b.g.rt.script.ScriptControlTower     : Removed jobExecutor [0eec62fe-67da-4b45-bdd5-f0474df932e2] from Script Control Tower.
2025-01-08T10:55:26.500Z  INFO 5272 --- [      Thread-15] c.n.b.g.rt.script.ScriptControlTower     : Remaining jobExecutors:0
2025-01-08T10:55:26.500Z ERROR 5272 --- [      Thread-15] c.n.b.g.r.job.support.GroovyJobExecutor  : Exception occurred in job [2075505365] final operation  - Marking job as failed! (Cannot invoke "String.indexOf(String)" because "s" is null)

And the beginning of the groovy source file is here:

// Import
import com.netfective.bluage.gapwalk.rt.provider.ScriptRegistry
import com.netfective.bluage.gapwalk.rt.call.MainProgramRunner
import com.netfective.bluage.gapwalk.io.support.FileConfigurationUtils
import com.netfective.bluage.gapwalk.rt.job.support.DefaultJobContext
import com.netfective.bluage.gapwalk.rt.utils.GroovyUtils
import com.netfective.bluage.gapwalk.rt.io.support.FileConfiguration
import com.netfective.bluage.gapwalk.rt.shared.AbendException
import com.netfective.bluage.gapwalk.rt.call.exception.GroovyExecutionException
// Variables
mpr = applicationContext.getBean("com.netfective.bluage.gapwalk.rt.call.ExecutionController", MainProgramRunner.class)
TreeMap mapTransfo = [:]
Map params = ["MapTransfo":mapTransfo]
// Execute job with utility functions
Binding binding = new Binding()
binding.setVariable("jobContext", jobContext)
binding.setVariable("fcmap", fcmap)
def shell = new GroovyShell(binding).parse(ScriptRegistry.getScript("functions"))
//*********************************************************************
//*                             PROC                                  *
//*********************************************************************
shell.with {
	def procName = "REPROC"
	def jobName = "" + jobContext.getJobName() + "-" + procName
	displayStartProc(procName)

I thaught "fcmap" was supposed to be removed by previous steps, but it's still there.

asked 2 years ago154 views

1 Answer
0
  1. The error message indicates that there's a null pointer exception occurring during the job's final operation: "Cannot invoke "String.indexOf(String)" because "s" is null".

  2. You're correct that "fcmap" should have been removed in previous steps. Its presence in the groovy script suggests that some earlier modifications or updates may not have been applied correctly.

  3. The logs show that the job is executing several steps, including IDCAMS commands to delete and recreate VSAM datasets. These steps appear to complete successfully.

  4. However, the final error occurs after all the steps have completed, during the job's final operation.

To resolve this issue:

  1. Double-check that you've applied all the required modifications from the workshop instructions, particularly any that relate to removing "fcmap" references.

  2. Review the complete groovy script for TRANBKP to ensure there are no remaining references to "fcmap" that should have been removed.

  3. Verify that all required datasets and resources are properly set up and accessible.

  4. If the issue persists, you may need to consult the workshop materials for any troubleshooting steps specific to this job, or reach out to the workshop support for further assistance.

Remember that workshops sometimes have known issues or require specific workarounds that may be documented in the workshop materials or support forums.
Sources
AWS Blu Age L3 workshop - Automation step error | AWS re:Post
AWS Blu Age L3 - workshop issue due to Velocity version change? | AWS re:Post

answered 2 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.