... I forgot to add, I don't think I've any more comments
on the regex changes, now that the duplicate-suppression
and RegexXerces are in.

Chris

On 13 April 2017 at 14:57, Chris Dollin <chris.dol...@epimorphics.com>
wrote:

> On 13 April 2017 at 11:43, Andy Seaborne <a...@apache.org> wrote:
>
>>
>>
>> On 12/04/17 15:43, Chris Dollin wrote:
>>
>>> Andy,
>>>
>>> If I can work out how to look at logs when
>>> running tests (viz Log.warn in E_Regex) then
>>> I can make a test that shows duplicate log lines
>>> are dropped.
>>>
>>
>> I tested the changes locally - the functionality change is the fact that
>> FILTER becomes false, not a query error.
>>
>
> And I checked by execution that the duplicate-removing code
> was working.
>
>
>> For log messages, as long as there no stacktraces (which I checked), the
>> volume is much less.  Much responsibility is on the deployment to configure
>> logs.  Jena can only do so much.
>>
>
> That's true, if we were still getting too many log messages we
> could disable E_Regex's log messages.
>
> Do you think the changes we've been working
>>> on will land in 3.3.0?
>>>
>>
>> It would be quicker if you could provide the content in unbroken form.
>>
>
> Yes.
>
>  Chris
>
> (tips/guidelines/protocols?)
>
>
>>         Andy
>>
>>
>>
>>> Chris
>>>
>>>
>>>
>>> On 12 April 2017 at 13:11, Chris Dollin <chris.dol...@epimorphics.com>
>>> wrote:
>>>
>>> On 12 April 2017 at 11:53, Andy Seaborne <a...@apache.org> wrote:
>>>>
>>>>
>>>>>
>>>>> On 11/04/17 15:49, Chris Dollin wrote:
>>>>>
>>>>> diff --git
>>>>>> a/jena-arq/src/main/java/org/apache/jena/sparql/engine/itera
>>>>>> tor/QueryIterSort.java
>>>>>> b/jena-arq/src/main/java/org/apache/jena/sparql/engine/itera
>>>>>> tor/QueryIterSort.java
>>>>>> index 173da34..04c2655 100644
>>>>>> ---
>>>>>> a/jena-arq/src/main/java/org/apache/jena/sparql/engine/itera
>>>>>> tor/QueryIterSort.java
>>>>>> +++
>>>>>> b/jena-arq/src/main/java/org/apache/jena/sparql/engine/itera
>>>>>> tor/QueryIterSort.java
>>>>>> @@ -92,6 +92,7 @@ public class QueryIterSort extends
>>>>>> QueryIterPlainWrapper {
>>>>>>              // iterator in a try/finally block, and thus will call
>>>>>>              // close() themselves.
>>>>>>              catch (QueryCancelledException e) {
>>>>>> +               QueryIterSort.this.close();
>>>>>>
>>>>>>
>>>>> Is this needed? The query is cancelled so QueryIterSort.requestCancel
>>>>> happens?
>>>>>
>>>>>
>>>> Without it, the test fails, but of course that could be an error
>>>> in the test.
>>>>
>>>> I ran the failing test in the debugger with a breakpoint
>>>> at the QueryIterSort.close() and println()s at the catch above
>>>> and in requestCancel -- the former message was printed, the
>>>> latter not.
>>>>
>>>> I went back to the close() and looked at the call stack. All
>>>> the active methods from the test to the breakpoint were in
>>>> code that did not obviously catch exceptions. Interestingly
>>>> at line 113/114 of QueryIteratorBase we see
>>>>
>>>>         // Handles exceptions
>>>>         boolean r = hasNextBinding() ;
>>>>
>>>> which will let any QueryCancelledExceptions on upwards
>>>> without doing, say, a local cancel or close.
>>>>
>>>> In actual use the code at the top of the query execution
>>>> will itself catch any QueryCancelledException and then
>>>> close() the entire query, so there's a case for saying the
>>>> code is overkill and that the test can be dropped.
>>>> Belt and braces or clutter?
>>>>
>>>> Chris
>>>>
>>>> (Same applies to QueryIteratorTopN)
>>>>
>>>> --
>>>> "What I don't understand is this ..."   Trevor Chaplin, /The Beiderbeck
>>>> Affair/
>>>>
>>>> Epimorphics Ltd, http://www.epimorphics.com
>>>> Registered address: Court Lodge, 105 High Street, Portishead, Bristol
>>>> BS20
>>>> 6PT
>>>> Epimorphics Ltd. is a limited company registered in England (number
>>>> 7016688)
>>>>
>>>>
>>>
>>>
>>>
>
>
> --
> "What I don't understand is this ..."   Trevor Chaplin, /The Beiderbeck
> Affair/
>
> Epimorphics Ltd, http://www.epimorphics.com
> Registered address: Court Lodge, 105 High Street, Portishead, Bristol BS20
> 6PT
> Epimorphics Ltd. is a limited company registered in England (number
> 7016688)
>



-- 
"What I don't understand is this ..."   Trevor Chaplin, /The Beiderbeck
Affair/

Epimorphics Ltd, http://www.epimorphics.com
Registered address: Court Lodge, 105 High Street, Portishead, Bristol BS20
6PT
Epimorphics Ltd. is a limited company registered in England (number 7016688)

Reply via email to