Rob Vesse created JENA-681:
------------------------------

             Summary: Allow the old less aggressive filter placement behaviour 
to be optionally used in place of the newer more aggressive behaviour
                 Key: JENA-681
                 URL: https://issues.apache.org/jira/browse/JENA-681
             Project: Apache Jena
          Issue Type: Improvement
          Components: ARQ, Optimizer
    Affects Versions: Jena 2.11.1
            Reporter: Rob Vesse
            Assignee: Rob Vesse
             Fix For: Jena 2.11.2


In investigating some optimiser caused performance regression issues that 
occurred after we upgraded at Cray to using 2.11.1 it was discovered that the 
new filter pushing was too aggressive for our backend in how it broke up 
BGPs/quadpatterns

Ideally we would like to use the filter placement mode where we place filters 
without breaking BGPs but as discussed in JENA-627 and JENA-628 (as well as 
other related issues) this behaviour is broken in the 2.11.1 release and indeed 
the specific problem query did get horribly mangled with this mode enabled.

I have been able to verify that the relevant fixes for those bugs means the 
affected query does now get optimised appropriately using the latest trunk code 
and I've added a sanitised version of the relevant query to the test cases.

*However* it would be nice if we had the option of switching back on the more 
conservative pre 2.11.1 filter placement behaviour if we desired.  This is 
preserved in {{TransformFilterPlacement_Old}} and currently noted in comments 
that it will be removed in future.

What I propose to do instead is to rename this to 
{{TransformFilterPlacementConservative}} and add an associated 
{{optFilterPlacementConservative}} flag which when explicitly enabled will use 
the old filter placement behaviour rather than the newer more aggressive filter 
placement behaviour.

I'll attach a proposed patch for this later today



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to