[
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)