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
