Uploaded image for project: 'Apache NiFi MiNiFi C++'
  1. Apache NiFi MiNiFi C++
  2. MINIFICPP-136

Better handling of required vs. optional fields in config schema v1

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • None
    • 0.2.0
    • None

    Description

      This is a followup task to MINIFI-275. While the scope of MINIFI-275 was minifi-cpp processing of components without id fields, which are optional in config schema v1, this ticket covers all fields for all component types, either doing string checks for required fields (with useful error messages if absent) or graceful handling of missing optional fields.

      The Config Schema V1 in the minifi-java codebase will be used as a guide for which fields to treat as required and which to treat as optional. aldrin - please confirm that is the correct assumption for minifi-cpp. The Java implementation can be found at [1]. Specifically, in the Java code, required fields are loaded using `getRequiredKeyAsType() and optional fields are loaded using `getOptionalKeyAsType()`

      Also in scope for this ticket is to update the config.yml examples in the minifi-cpp README.md file to make sure they are not missing required fields. During testing, it was found that one example config.yml is missing source name and destination name, which are required in config schema v1.

      [1] https://github.com/apache/nifi-minifi/tree/master/minifi-commons/minifi-commons-schema/src/main/java/org/apache/nifi/minifi/commons/schema/v1

      Attachments

        Issue Links

          Activity

            People

              kdoran Kevin Doran
              kdoran Kevin Doran
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: