Document toolboxDocument toolbox

NullPointerException when converting MettleCI Unit Test Specifications

Problem 1

When attempting to perform a S2PX conversion you receive an error.

Symptom 1

You receive an error Exception in thread "main" java.lang.NullPointerException. e.g.,

$ mettleci s2px convert \ -config customRoutine-zodiac.yaml \ -source-dsx animalZodiacJobAndRoutines.dsx -target-dsx target-dsx/zodiac.dsx \ -source-specs /opt/dm/mci/specs/AnimalZodiac/ \ -target-specs target-specs/ MettleCI Command Line (build 161) (C) 2018-2022 Data Migrators Pty Ltd Loading configuration Preprocessing 'animalZodiacJobAndRoutines.dsx' Converting jobs Decomposing AnimalZodiac Translating AnimalZodiacPx Exception in thread "main" java.lang.NullPointerException at java.io.File.<init>(File.java:362) at com.datamigrators.mettle.svpx.translation.UnitTestConverter.convertSpec(UnitTestConverter.java:132) at com.datamigrators.mettle.svpx.translation.UnitTestConverter.convertUnitTest(UnitTestConverter.java:118) at com.datamigrators.mettle.svpx.translation.UnitTestConverter.convert(UnitTestConverter.java:60) <etc.>

Solution 1

MettleCI assumes you are passing fully qualified -source-specs and -target-specs directories during conversion, and makes assumptions about the structure based on what MettleCI Workbench produces. In the example above you should use a path of the following form:

-target-specs /opt/dm/mci/specs/target-specs/

Problem 2

Symptom 2

You receive Problem an error seemingly related to the conversion of the Aggregator Stage. e.g.,

Unexpected error 'e2d2a70e61661858' occurred java.lang.NullPointerException at com.datamigrators.mettle.svpx.translation.operations.AggregatorTranslation.translateStage(AggregatorTranslation.java:65) at com.datamigrators.mettle.svpx.translation.operations.AbstractStageTranslation.processTranslationStages(AbstractStageTranslation.java:60) at com.datamigrators.mettle.svpx.translation.operations.AbstractStageTranslation.translateRootContainer(AbstractStageTranslation.java:41) <etc.>

Solution 2

You can receive this message if you’re using a version of the MettleCI Command Line prior to version 1.1-128 which is the minimum level required to support S2PX. Please see the S2PX prerequisites documentation for details.

© 2015-2024 Data Migrators Pty Ltd.