[ 
https://issues.apache.org/jira/browse/MINIFICPP-1802?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Marton Szasz updated MINIFICPP-1802:
------------------------------------
    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 easy fix. For the proper fix, see MINIFICPP-1803.

  was:
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 easy fix.


> We should not make http calls to AWS during initialization
> ----------------------------------------------------------
>
>                 Key: MINIFICPP-1802
>                 URL: https://issues.apache.org/jira/browse/MINIFICPP-1802
>             Project: Apache NiFi MiNiFi C++
>          Issue Type: Bug
>    Affects Versions: 0.10.0, 0.11.0
>            Reporter: Marton Szasz
>            Priority: Major
>
> 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 easy fix. For the proper fix, see MINIFICPP-1803.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to