dubbo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From kext gmail <luff...@gmail.com>
Subject Re: Consumer side Validation SPI is wrongly activated while setting validation=true for provider
Date Fri, 09 Mar 2018 02:26:07 GMT
Yes, disable default, set by user for requirement.

> 在 2018年3月8日,16:23,jun liu <ken.lj.hz@gmail.com> 写道:
> 
> I prefer to change the current behavior, consumer side should not be affected in this
case, if someone care about performance, they can add validation on consumer side explicitly.
> 
> Other opinions? 
> 
>> On 7 Mar 2018, at 3:47 PM, Sunshow <sunshow@gmail.com> wrote:
>> 
>> Yes, that's my problem.
>> 
>> from the document, consumer can enable or disable validation itself.
>> 
>> On Wed, Mar 7, 2018 at 3:41 PM jun liu <ken.lj.hz@gmail.com> wrote:
>> 
>>> Hi Sunshow, Ian
>>> 
>>> I think i have reproduced this problem, the key point is: When we switch
>>> param validation on on provider side, all consumer projects need to add
>>> necessary dependencies explicitly (param validation was force opened on
>>> consumer side). This means provider and consumer are bind together. Is this
>>> exactly your problem, sunshow?
>>> 
>>> Should we change this behavior?
>>> 
>>>>> I think it is reasonable to check validation conditions on consumer side
>>>>> before params passed to provider side as this can be more efficient.
If
>>> we
>>>>> keep it this way, we will meet the problem in your case: all consumers
>>> have
>>>>> to be aware of provider side validation configurations, for example when
>>>>> provider opened validation check, consumer side have to add necessary
>>>>> dependencies.
>>> 
>>> 
>>> Best regards,
>>> Jun Liu
>>> 
>>>> On 7 Mar 2018, at 2:44 PM, Ian Luo <ian.luo@gmail.com> wrote:
>>>> 
>>>> Hi Sunshow,
>>>> 
>>>> Could you pls. attach a test case to reproduce the issue you described
>>>> here? I'd like to further investigate once I receive the reproducer.
>>>> 
>>>> Thanks,
>>>> -Ian.
>>>> 
>>>> 
>>>> On Wed, Mar 7, 2018 at 2:14 PM, Sunshow <sunshow@gmail.com> wrote:
>>>> 
>>>>> ATT.
>>>>> 
>>>>> this case consumer leads to throw
>>>>> 
>>>>> Caused by: java.lang.NoClassDefFoundError: javax/validation/Validation
>>>>> 
>>>>> even while calling no validation method, unless add all validation
>>>>> dependencies to consumer,
>>>>> 
>>>>> that's not awesome, consumer side check should be activated by consumer
>>>>> self.
>>>>> 
>>>>> one more question about ValidationFilter:
>>>>> 
>>>>> why the condition check is isNotEmpty:
>>>>> ConfigUtils.isNotEmpty(invoker.getUrl().getMethodParameter(invocation.
>>>>> getMethodName(),
>>>>> Constants.VALIDATION_KEY))
>>>>> 
>>>>> and previous version check true or false:
>>>>> if (invoker.getUrl().getMethodParameter(invocation.getMethodName(),
>>>>> Constants.VALIDATION_KEY, false))
>>>>> 
>>>>> 
>>>>> Below is the reply from @ken.lj:
>>>>> 
>>>>> 
>>>>> I think it is reasonable to check validation conditions on consumer side
>>>>> before params passed to provider side as this can be more efficient.
If
>>> we
>>>>> keep it this way, we will meet the problem in your case: all consumers
>>> have
>>>>> to be aware of provider side validation configurations, for example when
>>>>> provider opened validation check, consumer side have to add necessary
>>>>> dependencies.
>>>>> 
>>>>> Please, send this problem to dev@dubbo.apache.org, and subscribe to
>>> this
>>>>> email address <https://github.com/alibaba/dubbo/issues/1393>. We
can
>>>>> decide
>>>>> which way to go after a full discussion.
>>>>> 
>>> 
>>> 
> 


Mime
View raw message