On Tue, 13 Oct 2026 16:33:32 GMT, Alan Bateman <[email protected]> wrote:

>> Hi Alan,
>> 
>> I thought we wanted this to only occur when there are no available 
>> implementations. i.e., no default and no third party implementations.
>> 
>> If we throw `ISE` when no sync resolver has been set, it will be 
>> contradicting the specification, because it is specified to use the default 
>> impl when none has been set.
>> 
>> 
>>      * Retrieves the <code>SyncResolver</code> object that has been set for
>>      * this <code>SyncProviderException</code> object, or
>>      * if none has been set, an instance of the default 
>> <code>SyncResolver</code>
>>      * implementation included in the reference implementation.
>> 
>> 
>> That is why we used "cannot be loaded" because it is consistent with 
>> `RowSetProvider.newFactory()` and only throws `ISE` when no impls are 
>> available, but retains the behavior to return the default if it exists and 
>> no sync resolver has been set.
>> 
>> To be clear, I would be fine making the change you suggested, but just want 
>> to make sure we are on the same page. That change would then end up changing 
>> the behavior _even when the default implementation is available_.
>> 
>> What do you think?
>
>> I thought we wanted this to only occur when there are no available 
>> implementations
> 
> No available implementations and setSyncResolver has not set a SyncResolver. 
> The change in behavior is that it is allowed to fail, which is the intent of 
> the proposal/PR.  So I think we are in sync, it's just that the description 
> of the exception only lists one of the two conditions.

Oops, I had read the "and" in

> "if a SyncResolver is not set and the default implementation cannot be loaded"

as an "or".

Totally on the same page with you now. I will re-finalize the CSR with the new 
wording.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/33329#discussion_r4261406958

Reply via email to