+1 raising a JIRA and summarizing some findings would be great. On Wed, Apr 22, 2020 at 8:38 AM leesf <[email protected]> wrote:
> hi tison, > > It is always better to make the codebase more clear, so it would be great > if you would do an investigation. > > tison <[email protected]> 于2020年4月22日周三 下午2:42写道: > > > Hi Vinoth, > > > > >much of the code actually does not depend on the templatized type at all > > > > Agree. > > > > Let's say I'm ok with untyped HoodieRecordPayload since all payload is > > effectively untyped(Object) which we deal with type and cast at runtime. > > > > Though, it is noisy we implement it in a half-generic form. Meanwhile, > > wildcard doesn't work for every case since <? capture > HoodieRecordPayload> > > is NOT compatible with <? capture HoodieRecordPayload> and any > > exact T extends HoodieRecordPayload. > > > > We don't actually use the type parameter heavily, so it is an alternative > > that we define HoodieRecordPayload just > > > > public class HoodieRecordPayload { } > > > > If the community think it is a worth effort, I'm glad to do more > > investigation > > and evaluate its impact, also find a practical way. > > > > Best, > > tison. > > > > > > Vinoth Chandar <[email protected]> 于2020年4月22日周三 下午2:22写道: > > > > > Hi Tison, > > > > > > Thanks for raising this.. In most places doing a HoodieTable<?> > wildcard > > > should be totally acceptable, since much of the code actually does not > > > depend on the templatized type at all.. > > > > > > Def, worth taking another look holistically and see if we can address > > > this.. > > > > > > My 2c. > > > Vinoth > > > > > > > > > On Mon, Apr 20, 2020 at 11:32 PM tison <[email protected]> wrote: > > > > > > > Hi developers, > > > > > > > > Recently when I went through Hudi codebase, I found some annoying > > warning > > > > 'raw use of > > > > parameterized class' and some other generic type related. > > > > > > > > It seems the root of this wide usage of raw type is > HoodieRecordPayload > > > > where > > > > > > > > HoodieRecordPayload<T extends HoodieRecordPayload> > > > > > > > > should have been > > > > > > > > HoodieRecordPayload<T extends HoodieRecordPayload<T>> > > > > > > > > I'm not sure what community think of this wide usage of raw type and > > > given > > > > it affect most of our > > > > code I'd like to start this thread for advice. Personally explicit > type > > > > signature benefits from strong > > > > type system but it might cause some signature breaking changes as > well > > as > > > > require a huge > > > > engineering effort. > > > > > > > > Shall Hudi live with these raw types? Or we will have a plan migrate > to > > > > explicit generic type? > > > > > > > > Best, > > > > tison. > > > > > > > > > >
