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

Stop instantiating all classes on the first heartbeat

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 0.6.0, 0.9.0, 0.7.0, 0.10.0, 0.11.0, 0.12.0
    • 0.13.0

    Description

      When producing the first heartbeat, BuildDescription::getClassDescriptions instantiates every single class of each loader. In the case of AWS, the processors happen to derive from S3Processor, and they contain a data member of type Aws::Client::ClientConfiguration, whose default constructor makes HTTP calls to AWS.

      The easy fix is to delay the initialization of this particular member to onSchedule.

      The proper fix is to change the class loading and class description generation logic to store more metadata about classes that are collected at registration time, using compile-time introspection, instead of instantiating the classes and using dynamic_cast.

      This issue is about the proper fix. For the easy fix, see MINIFICPP-1802.

      Attachments

        Issue Links

          Activity

            People

              fgerlits Ferenc Gerlits
              szaszm Marton Szasz
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 5h
                  5h