SbloodyS commented on PR #18594: URL: https://github.com/apache/dolphinscheduler/pull/18594#issuecomment-5434107127
`StorageOperatorFactory` is a public SPI loaded through `ServiceLoader`. This PR changes the return type of `getStorageOperate()` from: `org.apache.dolphinscheduler.plugin.storage.api.StorageType` to: `org.apache.dolphinscheduler.common.enums.StorageType` Although the enum constants are similar, the fully qualified return type is part of the JVM method descriptor. An existing third-party storage plugin compiled against the previous storage API does not implement the new method descriptor. Loading or invoking that plugin after upgrading can therefore fail with `NoClassDefFoundError` or `AbstractMethodError`. Deleting `org.apache.dolphinscheduler.plugin.storage.api.StorageType` also directly breaks plugins that import or reference that public type. This is a breaking SPI change and should not be introduced as a transparent duplicate-code cleanup. I'll close this PR for now. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
