On 16.03.2015 17:54, Bert Huijben wrote:
A fix for this generic problem has been applied to trunk in r1664938 (further tweaks/extensions in 1664939,1664940,1664978,1664984).
Great -- this is exactly what I was looking for.
This introduces some behavior changes (such as the one you noted), so backporting needs discussion here. Thanks for starting the discussion ;-)
Silently dropping an exception and continuing to process the operation is quite unexpected. Hence, this could be considered as bugfix instead of behavior change :)
SVNKit usually allows to return a SubversionException from its various callbacks. As far as I understand your patch, it delivers the same Exception object which is thrown in Java code (possibly wrapped). So extending JavaHL's callback signatures by SubversionException would be reasonable, too. Use cases are mainly to deliver checked ProgressCancelledExceptions.
-Marc On 16.03.2015 17:54, Bert Huijben wrote:
-----Original Message----- From: Marc Strapetz [mailto:[email protected]] Sent: maandag 16 maart 2015 17:30 To: [email protected] Subject: JavaHL: Exceptions in LogMessageCallback.singleMessage should abort the log immediately If e.g. a RuntimeException is thrown in LogMessageCallback#singleMessage, it's not processed in LogMessageCallback::singleMessage and the log is continued nevertheless: (1) At line 77 in LogMessageCallback.cpp, there should be returned an appropriate error code. (2) After line 122, JNIUtil::isJavaExceptionThrown() should be called and there should be returned an appropriate error code. In both cases, the returned error code should result in stopping the low-level log; rethrowing the Exception in RemoteSession::getLog won't be necessary, as this can be established easily from within client code itself.This is a common problem that applies to almost all callbacks in JavaHL in <= 1.9. A fix for this generic problem has been applied to trunk in r1664938 (further tweaks/extensions in 1664939,1664940,1664978,1664984). This introduces some behavior changes (such as the one you noted), so backporting needs discussion here. Thanks for starting the discussion ;-) Bert

