Unresolved
Pinned fields
Click on the next to a field label to start pinning.
Details
Details
Assignee
Pushpender Saini
Pushpender SainiReporter
Fernando Velasquez
Fernando VelasquezReviewer
Fernando Velasquez
Fernando VelasquezComponents
Fix versions
Priority
More fields
More fields
Created January 31, 2024 at 5:52 PM
Updated December 3, 2024 at 4:01 PM
Plugins that extend from
AbstractFileSource
(link) which are outside of the Core Plugins module will not correctly export theEmptyInputFormat
that is required when we need to handle the case where the source input is empty.The
EmptyInputFormat
is under theio.cdap.plugin.format.input
package, which I see getting exported only in the core-plugins https://github.com/cdapio/hydrator-plugins/blob/48c675e8ee5b86255da17a36e93e632eb8edff5e/core-plugins/pom.xml#L292 . Other plugins (Such as the S3 Plugins) do not and should not export this package.A potential solution is to require all plugins that extend from AbstractFileSource to expose their own Empty Input Format implementation (replacing this line of code with the method to get the concrete implementation class). This way, classloading issues accross multiple plugins are mitigated.
It’s not necessary to duplicate the code from
EmptyInputFormat
. An abstract class may be provided that plugins can extend and expose under their own implementation package.