Our Community is getting an upgrade! To get everything ready for the relaunch, we’ll be placing the site in read-only mode starting September 21st.
We really appreciate your understanding while we get things set up behind the scenes. Catch up on all the exciting details about the move here.
Need help or have questions? Drop us a line at [email protected]

Support Questions

Find answers, ask questions, and share your expertise
Announcements
Share your experience with Cloudera on G2 and get a $25 Amazon Gift card.
Hi, I'm CLEO! Something exciting is coming to the Community. Stay Tuned!

Minifi startup fails with "Cannot invoke "org.apache.nifi.flow.VersionedProcessGroup.getIdentifier()" because "rootGroup" is null"

avatar
New Contributor

Hello,

I have exported the json in nifi and renamed it to flow.json.raw, but when I try to start minifi, I get the error like this:

ZNFY_0-1731377605899.png

This is my flow in nifi

ZNFY_1-1731377715120.png

And this is my json content:

{
  "externalControllerServices": {

  },
  "flowContents": {
    "comments": "",
    "componentType": "PROCESS_GROUP",
    "connections": [
      {
        "backPressureDataSizeThreshold": "1 GB",
        "backPressureObjectThreshold": 10000,
        "bends": [],
        "componentType": "CONNECTION",
        "destination": {
          "groupId": "4d2e3379-5165-32b0-bf2a-cc36a354aa29",
          "id": "8dd0c880-1b12-3097-90a0-5f20d488f88a",
          "instanceIdentifier": "846c8039-231d-353b-b87e-aed9f7408030",
          "name": "fromMinifi",
          "type": "REMOTE_INPUT_PORT"
        },
        "flowFileExpiration": "0 sec",
        "groupIdentifier": "cad6891f-5564-3a61-8a99-bb7be344adc8",
        "identifier": "b0ca1df7-83e8-314b-bb2f-50735ab0ccd2",
        "instanceIdentifier": "1e076437-0193-1000-f190-07b262d28ba8",
        "labelIndex": 0,
        "loadBalanceCompression": "DO_NOT_COMPRESS",
        "loadBalanceStrategy": "DO_NOT_LOAD_BALANCE",
        "name": "",
        "partitioningAttribute": "",
        "prioritizers": [],
        "selectedRelationships": [
          "success"
        ],
        "source": {
          "comments": "",
          "groupId": "cad6891f-5564-3a61-8a99-bb7be344adc8",
          "id": "39db7913-b310-3485-95fe-6e6e33b1dda8",
          "instanceIdentifier": "1b72dcd3-0193-1000-4444-cbda1bf29306",
          "name": "GenerateFlowFile",
          "type": "PROCESSOR"
        },
        "zIndex": 0
      }
    ],
    "controllerServices": [],
    "defaultBackPressureDataSizeThreshold": "1 GB",
    "defaultBackPressureObjectThreshold": 10000,
    "defaultFlowFileExpiration": "0 sec",
    "executionEngine": "INHERITED",
    "flowFileConcurrency": "UNBOUNDED",
    "flowFileOutboundPolicy": "STREAM_WHEN_AVAILABLE",
    "funnels": [],
    "identifier": "cad6891f-5564-3a61-8a99-bb7be344adc8",
    "inputPorts": [],
    "instanceIdentifier": "1e055241-0193-1000-bfce-60069091b1f0",
    "labels": [],
    "maxConcurrentTasks": 1,
    "name": "Mnificonf",
    "outputPorts": [],
    "position": {
      "x": -904,
      "y": 16
    },
    "processGroups": [],
    "processors": [
      {
        "autoTerminatedRelationships": [],
        "backoffMechanism": "PENALIZE_FLOWFILE",
        "bulletinLevel": "WARN",
        "bundle": {
          "artifact": "nifi-standard-nar",
          "group": "org.apache.nifi",
          "version": "2.0.0"
        },
        "comments": "",
        "componentType": "PROCESSOR",
        "concurrentlySchedulableTaskCount": 1,
        "executionNode": "ALL",
        "groupIdentifier": "cad6891f-5564-3a61-8a99-bb7be344adc8",
        "identifier": "39db7913-b310-3485-95fe-6e6e33b1dda8",
        "instanceIdentifier": "1b72dcd3-0193-1000-4444-cbda1bf29306",
        "maxBackoffPeriod": "10 mins",
        "name": "GenerateFlowFile",
        "penaltyDuration": "30 sec",
        "position": {
          "x": -888,
          "y": 24
        },
        "properties": {
          "character-set": "UTF-8",
          "File Size": "1000B",
          "Batch Size": "1",
          "Unique FlowFiles": "false",
          "Data Format": "Text"
        },
        "propertyDescriptors": {
          "character-set": {
            "displayName": "Character Set",
            "dynamic": false,
            "identifiesControllerService": false,
            "name": "character-set",
            "sensitive": false
          },
          "File Size": {
            "displayName": "File Size",
            "dynamic": false,
            "identifiesControllerService": false,
            "name": "File Size",
            "sensitive": false
          },
          "mime-type": {
            "displayName": "Mime Type",
            "dynamic": false,
            "identifiesControllerService": false,
            "name": "mime-type",
            "sensitive": false
          },
          "generate-ff-custom-text": {
            "displayName": "Custom Text",
            "dynamic": false,
            "identifiesControllerService": false,
            "name": "generate-ff-custom-text",
            "sensitive": false
          },
          "Batch Size": {
            "displayName": "Batch Size",
            "dynamic": false,
            "identifiesControllerService": false,
            "name": "Batch Size",
            "sensitive": false
          },
          "Unique FlowFiles": {
            "displayName": "Unique FlowFiles",
            "dynamic": false,
            "identifiesControllerService": false,
            "name": "Unique FlowFiles",
            "sensitive": false
          },
          "Data Format": {
            "displayName": "Data Format",
            "dynamic": false,
            "identifiesControllerService": false,
            "name": "Data Format",
            "sensitive": false
          }
        },
        "retriedRelationships": [],
        "retryCount": 10,
        "runDurationMillis": 0,
        "scheduledState": "ENABLED",
        "schedulingPeriod": "5 sec",
        "schedulingStrategy": "TIMER_DRIVEN",
        "style": {

        },
        "type": "org.apache.nifi.processors.standard.GenerateFlowFile",
        "yieldDuration": "1 sec"
      }
    ],
    "remoteProcessGroups": [
      {
        "comments": "",
        "communicationsTimeout": "30 sec",
        "componentType": "REMOTE_PROCESS_GROUP",
        "groupIdentifier": "cad6891f-5564-3a61-8a99-bb7be344adc8",
        "identifier": "4d2e3379-5165-32b0-bf2a-cc36a354aa29",
        "inputPorts": [
          {
            "batchSize": {

            },
            "componentType": "REMOTE_INPUT_PORT",
            "concurrentlySchedulableTaskCount": 1,
            "groupIdentifier": "4d2e3379-5165-32b0-bf2a-cc36a354aa29",
            "identifier": "8dd0c880-1b12-3097-90a0-5f20d488f88a",
            "instanceIdentifier": "846c8039-231d-353b-b87e-aed9f7408030",
            "name": "fromMinifi",
            "remoteGroupId": "4d2e3379-5165-32b0-bf2a-cc36a354aa29",
            "scheduledState": "ENABLED",
            "targetId": "1e06d5ee-0193-1000-88b2-e6a57607a83c",
            "useCompression": false
          }
        ],
        "instanceIdentifier": "1b72a1a9-0193-1000-a217-fa7db75fc41a",
        "name": "NiFi Flow",
        "outputPorts": [],
        "position": {
          "x": -184,
          "y": 0
        },
        "proxyHost": "",
        "proxyUser": "",
        "targetUris": "http://10.233.150.213:8443/nifi",
        "transportProtocol": "RAW",
        "yieldDuration": "10 sec"
      }
    ],
    "scheduledState": "ENABLED",
    "statelessFlowTimeout": "1 min"
  },
  "flowEncodingVersion": "1.0",
  "parameterContexts": [],
  "parameterProviders": [],
  "snapshotMetadata": {
    "author": "anonymous",
    "comments": "",
    "timestamp": 1731375780091,
    "version": 1
  }

 I hope someone can help me

1 ACCEPTED SOLUTION

avatar
Master Mentor

@ZNFY 

Since you are exporting a flow definition of a process group, you'll need to utilize the MiNiFi toolkit to transform it in to the proper format that can be loaded by MiNiFi.   The MiNiFi-toolkit can be downloaded from here: https://nifi.apache.org/download/ (select "MINIFI' and click download link for Toolkit).   Execute:

./minifi-toolkit/bin/config.sh transform-nifi <exported flow definition> flow.json.raw​

 

  • Now edit the flow.json.raw file and edit the following property at start of file (value can not be 0.) 

"maxTimerDrivenThreadCount":5
  •  Now you can start your MiNiFi and it will create the flow.json.gz as it starts.

Please help our community thrive. If you found any of the suggestions/solutions provided helped you with solving your issue or answering your question, please take a moment to login and click "Accept as Solution" on one or more of them that helped.

Thank you,
Matt

View solution in original post

2 REPLIES 2

avatar
Community Manager

@ZNFY, Welcome to our community! To help you get the best possible answer, I have tagged in our NiFi experts @MattWho @SAMSAL  who may be able to assist you further.

Please feel free to provide any additional information or details about your query, and we hope that you will find a satisfactory solution to your question.



Regards,

Vidya Sargur,
Community Manager


Was your question answered? Make sure to mark the answer as the accepted solution.
If you find a reply useful, say thanks by clicking on the thumbs up button.
Learn more about the Cloudera Community:

avatar
Master Mentor

@ZNFY 

Since you are exporting a flow definition of a process group, you'll need to utilize the MiNiFi toolkit to transform it in to the proper format that can be loaded by MiNiFi.   The MiNiFi-toolkit can be downloaded from here: https://nifi.apache.org/download/ (select "MINIFI' and click download link for Toolkit).   Execute:

./minifi-toolkit/bin/config.sh transform-nifi <exported flow definition> flow.json.raw​

 

  • Now edit the flow.json.raw file and edit the following property at start of file (value can not be 0.) 

"maxTimerDrivenThreadCount":5
  •  Now you can start your MiNiFi and it will create the flow.json.gz as it starts.

Please help our community thrive. If you found any of the suggestions/solutions provided helped you with solving your issue or answering your question, please take a moment to login and click "Accept as Solution" on one or more of them that helped.

Thank you,
Matt