Details

      Description

      This query:

      SELECT * WHERE
      {
        ?p wdt:P279* ?o.
        MINUS { ?o wdt:P279* []. }
        FILTER(?o != wd:Q1).
      } LIMIT 10
      

      Produces exception:

      java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: java.lang.AssertionError: Non-required group has attached join filters: 
      JoinGroupNode [minus] [joinVars=[o]] [projectInVars=[o]] {
        ArbitraryLengthPathNode(left=VarNode(o), right=VarNode(-anon-1)[anonymous]) {
          JoinGroupNode {
            StatementPatternNode(VarNode(-tVarLeft-e50c8817-d004-4966-8c2f-b596871b5ff8)[anonymous], ConstantNode(Vocab(6)[http://www.wikidata.org/prop/direct/P]:XSDUnsignedShort(279)), VarNode(-tVarRight-df24c049-da41-496e-b2c7-4d2d6bc98e9d)[anonymous]) [scope=DEFAULT_CONTEXTS]
              AST2BOpBase.estimatedCardinality=1605477
              AST2BOpBase.originalIndex=POS
          } AST2BOpBase.estimatedCardinality=1605477
        } AST2BOpBase.estimatedCardinality=4611686018428993380
      } JOIN ON (o)
        FILTER( FunctionNode(VarNode(o),ConstantNode(Vocab(2)[http://www.wikidata.org/entity/Q]:XSDUnsignedByte(1)))[ FunctionNode.scalarVals=null, FunctionNode.functionURI=http://www.w3.org/2005/xpath-functions#not-equal-to, valueExpr=com.bigdata.rdf.internal.constraints.CompareBOp(o,Vocab(2)[http://www.wikidata.org/entity/Q]:XSDUnsignedByte(1))[ CompareBOp.op=NE]] ) AST2BOpBase.estimatedCardinality=4611686018428993380
      

        Activity

        Hide
        stasmalyshev stasmalyshev added a comment -

        Full trace:

        ERROR: SPARQL-QUERY: queryStr=SELECT * WHERE
        {
          ?p wdt:P279* ?o.
          MINUS { ?o wdt:P279* []. }
          FILTER(?o != wd:Q1).
        } LIMIT 10
        java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: java.lang.AssertionError: Non-required group has attached join filters: 
        JoinGroupNode [minus] [joinVars=[o]] [projectInVars=[o]] {
          ArbitraryLengthPathNode(left=VarNode(o), right=VarNode(-anon-1)[anonymous]) {
            JoinGroupNode {
              StatementPatternNode(VarNode(-tVarLeft-e50c8817-d004-4966-8c2f-b596871b5ff8)[anonymous], ConstantNode(Vocab(6)[http://www.wikidata.org/prop/direct/P]:XSDUnsignedShort(279)), VarNode(-tVarRight-df24c049-da41-496e-b2c7-4d2d6bc98e9d)[anonymous]) [scope=DEFAULT_CONTEXTS]
                AST2BOpBase.estimatedCardinality=1605477
                AST2BOpBase.originalIndex=POS
            } AST2BOpBase.estimatedCardinality=1605477
          } AST2BOpBase.estimatedCardinality=4611686018428993380
        } JOIN ON (o)
          FILTER( FunctionNode(VarNode(o),ConstantNode(Vocab(2)[http://www.wikidata.org/entity/Q]:XSDUnsignedByte(1)))[ FunctionNode.scalarVals=null, FunctionNode.functionURI=http://www.w3.org/2005/xpath-functions#not-equal-to, valueExpr=com.bigdata.rdf.internal.constraints.CompareBOp(o,Vocab(2)[http://www.wikidata.org/entity/Q]:XSDUnsignedByte(1))[ CompareBOp.op=NE]] ) AST2BOpBase.estimatedCardinality=4611686018428993380
        	at java.util.concurrent.FutureTask.report(FutureTask.java:122)
        	at java.util.concurrent.FutureTask.get(FutureTask.java:188)
        	at com.bigdata.rdf.sail.webapp.BigdataServlet.submitApiTask(BigdataServlet.java:281)
        	at com.bigdata.rdf.sail.webapp.QueryServlet.doSparqlQuery(QueryServlet.java:636)
        	at com.bigdata.rdf.sail.webapp.QueryServlet.doGet(QueryServlet.java:278)
        	at com.bigdata.rdf.sail.webapp.RESTServlet.doGet(RESTServlet.java:240)
        	at com.bigdata.rdf.sail.webapp.MultiTenancyServlet.doGet(MultiTenancyServlet.java:270)
        	at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
        	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
        	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808)
        	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:587)
        	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
        	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
        	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
        	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
        	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
        	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
        	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
        	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
        	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
        	at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110)
        	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
        	at org.eclipse.jetty.server.Server.handle(Server.java:497)
        	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
        	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
        	at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
        	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
        	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
        	at java.lang.Thread.run(Thread.java:745)
        Caused by: java.util.concurrent.ExecutionException: java.lang.AssertionError: Non-required group has attached join filters: 
        JoinGroupNode [minus] [joinVars=[o]] [projectInVars=[o]] {
          ArbitraryLengthPathNode(left=VarNode(o), right=VarNode(-anon-1)[anonymous]) {
            JoinGroupNode {
              StatementPatternNode(VarNode(-tVarLeft-e50c8817-d004-4966-8c2f-b596871b5ff8)[anonymous], ConstantNode(Vocab(6)[http://www.wikidata.org/prop/direct/P]:XSDUnsignedShort(279)), VarNode(-tVarRight-df24c049-da41-496e-b2c7-4d2d6bc98e9d)[anonymous]) [scope=DEFAULT_CONTEXTS]
                AST2BOpBase.estimatedCardinality=1605477
                AST2BOpBase.originalIndex=POS
            } AST2BOpBase.estimatedCardinality=1605477
          } AST2BOpBase.estimatedCardinality=4611686018428993380
        } JOIN ON (o)
          FILTER( FunctionNode(VarNode(o),ConstantNode(Vocab(2)[http://www.wikidata.org/entity/Q]:XSDUnsignedByte(1)))[ FunctionNode.scalarVals=null, FunctionNode.functionURI=http://www.w3.org/2005/xpath-functions#not-equal-to, valueExpr=com.bigdata.rdf.internal.constraints.CompareBOp(o,Vocab(2)[http://www.wikidata.org/entity/Q]:XSDUnsignedByte(1))[ CompareBOp.op=NE]] ) AST2BOpBase.estimatedCardinality=4611686018428993380
        	at java.util.concurrent.FutureTask.report(FutureTask.java:122)
        	at java.util.concurrent.FutureTask.get(FutureTask.java:188)
        	at com.bigdata.rdf.sail.webapp.QueryServlet$SparqlQueryTask.call(QueryServlet.java:834)
        	at com.bigdata.rdf.sail.webapp.QueryServlet$SparqlQueryTask.call(QueryServlet.java:653)
        	at com.bigdata.rdf.task.ApiTaskForIndexManager.call(ApiTaskForIndexManager.java:68)
        	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        	... 1 more
        Caused by: java.lang.AssertionError: Non-required group has attached join filters: 
        JoinGroupNode [minus] [joinVars=[o]] [projectInVars=[o]] {
          ArbitraryLengthPathNode(left=VarNode(o), right=VarNode(-anon-1)[anonymous]) {
            JoinGroupNode {
              StatementPatternNode(VarNode(-tVarLeft-e50c8817-d004-4966-8c2f-b596871b5ff8)[anonymous], ConstantNode(Vocab(6)[http://www.wikidata.org/prop/direct/P]:XSDUnsignedShort(279)), VarNode(-tVarRight-df24c049-da41-496e-b2c7-4d2d6bc98e9d)[anonymous]) [scope=DEFAULT_CONTEXTS]
                AST2BOpBase.estimatedCardinality=1605477
                AST2BOpBase.originalIndex=POS
            } AST2BOpBase.estimatedCardinality=1605477
          } AST2BOpBase.estimatedCardinality=4611686018428993380
        } JOIN ON (o)
          FILTER( FunctionNode(VarNode(o),ConstantNode(Vocab(2)[http://www.wikidata.org/entity/Q]:XSDUnsignedByte(1)))[ FunctionNode.scalarVals=null, FunctionNode.functionURI=http://www.w3.org/2005/xpath-functions#not-equal-to, valueExpr=com.bigdata.rdf.internal.constraints.CompareBOp(o,Vocab(2)[http://www.wikidata.org/entity/Q]:XSDUnsignedByte(1))[ CompareBOp.op=NE]] ) AST2BOpBase.estimatedCardinality=4611686018428993380
        	at com.bigdata.rdf.sparql.ast.eval.AST2BOpUtility.addSubgroup(AST2BOpUtility.java:4210)
        	at com.bigdata.rdf.sparql.ast.eval.AST2BOpUtility.convertJoinGroup(AST2BOpUtility.java:3272)
        	at com.bigdata.rdf.sparql.ast.eval.AST2BOpUtility.convertJoinGroupOrUnion(AST2BOpUtility.java:2516)
        	at com.bigdata.rdf.sparql.ast.eval.AST2BOpUtility.convertQueryBaseWithScopedVars(AST2BOpUtility.java:455)
        	at com.bigdata.rdf.sparql.ast.eval.AST2BOpUtility.convert(AST2BOpUtility.java:286)
        	at com.bigdata.rdf.sparql.ast.eval.ASTEvalHelper.optimizeQuery(ASTEvalHelper.java:426)
        	at com.bigdata.rdf.sparql.ast.eval.ASTEvalHelper.evaluateTupleQuery(ASTEvalHelper.java:211)
        	at com.bigdata.rdf.sail.BigdataSailTupleQuery.evaluate(BigdataSailTupleQuery.java:79)
        	at com.bigdata.rdf.sail.BigdataSailTupleQuery.evaluate(BigdataSailTupleQuery.java:61)
        	at org.openrdf.repository.sail.SailTupleQuery.evaluate(SailTupleQuery.java:75)
        	at com.bigdata.rdf.sail.webapp.BigdataRDFContext$TupleQueryTask.doQuery(BigdataRDFContext.java:1679)
        	at com.bigdata.rdf.sail.webapp.BigdataRDFContext$AbstractQueryTask.innerCall(BigdataRDFContext.java:1536)
        	at com.bigdata.rdf.sail.webapp.BigdataRDFContext$AbstractQueryTask.call(BigdataRDFContext.java:1501)
        	at com.bigdata.rdf.sail.webapp.BigdataRDFContext$AbstractQueryTask.call(BigdataRDFContext.java:714)
        	... 4 more
        
        Show
        stasmalyshev stasmalyshev added a comment - Full trace: ERROR: SPARQL-QUERY: queryStr=SELECT * WHERE { ?p wdt:P279* ?o. MINUS { ?o wdt:P279* []. } FILTER(?o != wd:Q1). } LIMIT 10 java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: java.lang.AssertionError: Non-required group has attached join filters: JoinGroupNode [minus] [joinVars=[o]] [projectInVars=[o]] { ArbitraryLengthPathNode(left=VarNode(o), right=VarNode(-anon-1)[anonymous]) { JoinGroupNode { StatementPatternNode(VarNode(-tVarLeft-e50c8817-d004-4966-8c2f-b596871b5ff8)[anonymous], ConstantNode(Vocab(6)[http://www.wikidata.org/prop/direct/P]:XSDUnsignedShort(279)), VarNode(-tVarRight-df24c049-da41-496e-b2c7-4d2d6bc98e9d)[anonymous]) [scope=DEFAULT_CONTEXTS] AST2BOpBase.estimatedCardinality=1605477 AST2BOpBase.originalIndex=POS } AST2BOpBase.estimatedCardinality=1605477 } AST2BOpBase.estimatedCardinality=4611686018428993380 } JOIN ON (o) FILTER( FunctionNode(VarNode(o),ConstantNode(Vocab(2)[http://www.wikidata.org/entity/Q]:XSDUnsignedByte(1)))[ FunctionNode.scalarVals=null, FunctionNode.functionURI=http://www.w3.org/2005/xpath-functions#not-equal-to, valueExpr=com.bigdata.rdf.internal.constraints.CompareBOp(o,Vocab(2)[http://www.wikidata.org/entity/Q]:XSDUnsignedByte(1))[ CompareBOp.op=NE]] ) AST2BOpBase.estimatedCardinality=4611686018428993380 at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:188) at com.bigdata.rdf.sail.webapp.BigdataServlet.submitApiTask(BigdataServlet.java:281) at com.bigdata.rdf.sail.webapp.QueryServlet.doSparqlQuery(QueryServlet.java:636) at com.bigdata.rdf.sail.webapp.QueryServlet.doGet(QueryServlet.java:278) at com.bigdata.rdf.sail.webapp.RESTServlet.doGet(RESTServlet.java:240) at com.bigdata.rdf.sail.webapp.MultiTenancyServlet.doGet(MultiTenancyServlet.java:270) at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:587) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handle(Server.java:497) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) at java.lang.Thread.run(Thread.java:745) Caused by: java.util.concurrent.ExecutionException: java.lang.AssertionError: Non-required group has attached join filters: JoinGroupNode [minus] [joinVars=[o]] [projectInVars=[o]] { ArbitraryLengthPathNode(left=VarNode(o), right=VarNode(-anon-1)[anonymous]) { JoinGroupNode { StatementPatternNode(VarNode(-tVarLeft-e50c8817-d004-4966-8c2f-b596871b5ff8)[anonymous], ConstantNode(Vocab(6)[http://www.wikidata.org/prop/direct/P]:XSDUnsignedShort(279)), VarNode(-tVarRight-df24c049-da41-496e-b2c7-4d2d6bc98e9d)[anonymous]) [scope=DEFAULT_CONTEXTS] AST2BOpBase.estimatedCardinality=1605477 AST2BOpBase.originalIndex=POS } AST2BOpBase.estimatedCardinality=1605477 } AST2BOpBase.estimatedCardinality=4611686018428993380 } JOIN ON (o) FILTER( FunctionNode(VarNode(o),ConstantNode(Vocab(2)[http://www.wikidata.org/entity/Q]:XSDUnsignedByte(1)))[ FunctionNode.scalarVals=null, FunctionNode.functionURI=http://www.w3.org/2005/xpath-functions#not-equal-to, valueExpr=com.bigdata.rdf.internal.constraints.CompareBOp(o,Vocab(2)[http://www.wikidata.org/entity/Q]:XSDUnsignedByte(1))[ CompareBOp.op=NE]] ) AST2BOpBase.estimatedCardinality=4611686018428993380 at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:188) at com.bigdata.rdf.sail.webapp.QueryServlet$SparqlQueryTask.call(QueryServlet.java:834) at com.bigdata.rdf.sail.webapp.QueryServlet$SparqlQueryTask.call(QueryServlet.java:653) at com.bigdata.rdf.task.ApiTaskForIndexManager.call(ApiTaskForIndexManager.java:68) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) ... 1 more Caused by: java.lang.AssertionError: Non-required group has attached join filters: JoinGroupNode [minus] [joinVars=[o]] [projectInVars=[o]] { ArbitraryLengthPathNode(left=VarNode(o), right=VarNode(-anon-1)[anonymous]) { JoinGroupNode { StatementPatternNode(VarNode(-tVarLeft-e50c8817-d004-4966-8c2f-b596871b5ff8)[anonymous], ConstantNode(Vocab(6)[http://www.wikidata.org/prop/direct/P]:XSDUnsignedShort(279)), VarNode(-tVarRight-df24c049-da41-496e-b2c7-4d2d6bc98e9d)[anonymous]) [scope=DEFAULT_CONTEXTS] AST2BOpBase.estimatedCardinality=1605477 AST2BOpBase.originalIndex=POS } AST2BOpBase.estimatedCardinality=1605477 } AST2BOpBase.estimatedCardinality=4611686018428993380 } JOIN ON (o) FILTER( FunctionNode(VarNode(o),ConstantNode(Vocab(2)[http://www.wikidata.org/entity/Q]:XSDUnsignedByte(1)))[ FunctionNode.scalarVals=null, FunctionNode.functionURI=http://www.w3.org/2005/xpath-functions#not-equal-to, valueExpr=com.bigdata.rdf.internal.constraints.CompareBOp(o,Vocab(2)[http://www.wikidata.org/entity/Q]:XSDUnsignedByte(1))[ CompareBOp.op=NE]] ) AST2BOpBase.estimatedCardinality=4611686018428993380 at com.bigdata.rdf.sparql.ast.eval.AST2BOpUtility.addSubgroup(AST2BOpUtility.java:4210) at com.bigdata.rdf.sparql.ast.eval.AST2BOpUtility.convertJoinGroup(AST2BOpUtility.java:3272) at com.bigdata.rdf.sparql.ast.eval.AST2BOpUtility.convertJoinGroupOrUnion(AST2BOpUtility.java:2516) at com.bigdata.rdf.sparql.ast.eval.AST2BOpUtility.convertQueryBaseWithScopedVars(AST2BOpUtility.java:455) at com.bigdata.rdf.sparql.ast.eval.AST2BOpUtility.convert(AST2BOpUtility.java:286) at com.bigdata.rdf.sparql.ast.eval.ASTEvalHelper.optimizeQuery(ASTEvalHelper.java:426) at com.bigdata.rdf.sparql.ast.eval.ASTEvalHelper.evaluateTupleQuery(ASTEvalHelper.java:211) at com.bigdata.rdf.sail.BigdataSailTupleQuery.evaluate(BigdataSailTupleQuery.java:79) at com.bigdata.rdf.sail.BigdataSailTupleQuery.evaluate(BigdataSailTupleQuery.java:61) at org.openrdf.repository.sail.SailTupleQuery.evaluate(SailTupleQuery.java:75) at com.bigdata.rdf.sail.webapp.BigdataRDFContext$TupleQueryTask.doQuery(BigdataRDFContext.java:1679) at com.bigdata.rdf.sail.webapp.BigdataRDFContext$AbstractQueryTask.innerCall(BigdataRDFContext.java:1536) at com.bigdata.rdf.sail.webapp.BigdataRDFContext$AbstractQueryTask.call(BigdataRDFContext.java:1501) at com.bigdata.rdf.sail.webapp.BigdataRDFContext$AbstractQueryTask.call(BigdataRDFContext.java:714) ... 4 more
        Hide
        michaelschmidt michaelschmidt added a comment -

        Added test case reproducing the exception in https://github.com/SYSTAP/bigdata/tree/BLZG-2066

        Show
        michaelschmidt michaelschmidt added a comment - Added test case reproducing the exception in https://github.com/SYSTAP/bigdata/tree/BLZG-2066
        Hide
        michaelschmidt michaelschmidt added a comment -

        The problem seems to be the ASTAttachJoinFiltersOptimizer attaching the join filter to the second group (namely the MINUS), which results in a non-translatable intermediate plan. The solution is probably to not attach the FILTER but leave it on top-level. Do you agree bryanthompson?

        Show
        michaelschmidt michaelschmidt added a comment - The problem seems to be the ASTAttachJoinFiltersOptimizer attaching the join filter to the second group (namely the MINUS), which results in a non-translatable intermediate plan. The solution is probably to not attach the FILTER but leave it on top-level. Do you agree bryanthompson ?
        Hide
        michaelschmidt michaelschmidt added a comment -

        Proposed fix is a one-liner (just an additional exclude for MINUS patterns). Running through CI now. PR: https://github.com/SYSTAP/bigdata/pull/478

        Show
        michaelschmidt michaelschmidt added a comment - Proposed fix is a one-liner (just an additional exclude for MINUS patterns). Running through CI now. PR: https://github.com/SYSTAP/bigdata/pull/478
        Hide
        bryanthompson bryanthompson added a comment -

        michaelschmidt Let's discuss this. If you are saying that the MINUS does not support attaching a FILTER both in concept and in practice, then I would certainly agree that it just needs to be left on top.

        Show
        bryanthompson bryanthompson added a comment - michaelschmidt Let's discuss this. If you are saying that the MINUS does not support attaching a FILTER both in concept and in practice, then I would certainly agree that it just needs to be left on top.
        Hide
        michaelschmidt michaelschmidt added a comment -

        Bryan, yes, that's how I understand the code in AST2BOp, see addSubgroup, l. 4250:

                if (!joinType.isNormal() && joinConstraints != null) {
                    /*
                     * Note: Join filters should only be attached to required joins, not
                     * to OPTIONAL joins (except for a simple optional statement pattern
                     * node) or OPTIONAL join groups.
                     */
                    throw new AssertionError(
                            "Non-required group has attached join filters: " + subgroup);
                }
        

        Happy to discuss in the sprint meeting or afterwards, just ping me.

        CI is green.

        Show
        michaelschmidt michaelschmidt added a comment - Bryan, yes, that's how I understand the code in AST2BOp, see addSubgroup, l. 4250: if (!joinType.isNormal() && joinConstraints != null ) { /* * Note: Join filters should only be attached to required joins, not * to OPTIONAL joins (except for a simple optional statement pattern * node) or OPTIONAL join groups. */ throw new AssertionError( "Non-required group has attached join filters: " + subgroup); } Happy to discuss in the sprint meeting or afterwards, just ping me. CI is green.
        Hide
        michaelschmidt michaelschmidt added a comment -

        Merged down into master. Brad Bebee: please make sure to merge into 2.2RC. Issue can be closed then.

        Show
        michaelschmidt michaelschmidt added a comment - Merged down into master. Brad Bebee : please make sure to merge into 2.2RC. Issue can be closed then.
        Hide
        michaelschmidt michaelschmidt added a comment -
        Show
        michaelschmidt michaelschmidt added a comment - See https://github.com/blazegraph/bigdata/pull/478 for PR.
        Hide
        beebs Brad Bebee added a comment -

        Cherry-picked into 2.1.5_RC.

        Show
        beebs Brad Bebee added a comment - Cherry-picked into 2.1.5_RC.

          People

          • Assignee:
            michaelschmidt michaelschmidt
            Reporter:
            stasmalyshev stasmalyshev
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: