Details

    • Type: Bug
    • Status: Reopened
    • Resolution: Unresolved
    • Affects Version/s: BIGDATA_RELEASE_1_2_2
    • Fix Version/s: None
    • Component/s: Query Plan Generator
    • Labels:
      None

      Description

      The query always runs fine by itself. The problem is only ever observed under a sustained high concurrent query workload. Even submitting the query (by hand) to the server during the heavy sustained workload does not cause the problem to materialize with repeated trials.

      ERROR: 6287385 2013-05-08 13:46:04,018      qtp1797054482-3442 com.bigdata.rdf.sail.webapp.BigdataRDFServlet.launderThrowable(BigdataRDFServlet.java:189): cause=java.lang.IllegalStateException: Required property: com.bigdata.rdf.sparql.ast.FunctionNode.functionURI : class com.bigdata.rdf.sparql.ast.FunctionNode, query=
      
      PREFIX bsbm: <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/vocabulary/>
      PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
      PREFIX dc: <http://purl.org/dc/elements/1.1/>
      
      SELECT DISTINCT ?offer ?price
      WHERE {
              ?offer bsbm:product <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer3995/Product202004> .
              ?offer bsbm:vendor ?vendor .
          ?offer dc:publisher ?vendor .
              ?vendor bsbm:country <http://downlode.org/rdf/iso-3166/countries#US> .
              ?offer bsbm:deliveryDays ?deliveryDays .
              FILTER (?deliveryDays <= 3)
              ?offer bsbm:price ?price .
          ?offer bsbm:validTo ?date .
          FILTER (?date > "2008-06-20T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> )
      }
      ORDER BY xsd:double(str(?price))
      LIMIT 10
      

      The stack trace is against the READ_CACHE branch r7118.

      java.lang.IllegalStateException: Required property: com.bigdata.rdf.sparql.ast.FunctionNode.functionURI : class com.bigdata.rdf.sparql.ast.FunctionNode
              at com.bigdata.bop.CoreBaseBOp.getRequiredProperty(CoreBaseBOp.java:189)
              at com.bigdata.rdf.sparql.ast.FunctionNode.getFunctionURI(FunctionNode.java:83)
              at com.bigdata.rdf.sparql.ast.eval.AST2BOpUtility.toVE1(AST2BOpUtility.java:4475)
              at com.bigdata.rdf.sparql.ast.eval.AST2BOpUtility.toVE(AST2BOpUtility.java:4286)
              at com.bigdata.rdf.sparql.ast.optimizers.ASTSetValueExpressionsOptimizer.convert2(ASTSetValueExpressionsOptimizer.java:192)
              at com.bigdata.rdf.sparql.ast.optimizers.ASTSetValueExpressionsOptimizer.optimize(ASTSetValueExpressionsOptimizer.java:93)
              at com.bigdata.rdf.sail.sparql.Bigdata2ASTSPARQLParser.parseQuery2(Bigdata2ASTSPARQLParser.java:435)
              at com.bigdata.rdf.sail.webapp.BigdataRDFContext.getQueryTask(BigdataRDFContext.java:1793)
              at com.bigdata.rdf.sail.webapp.QueryServlet.doQuery(QueryServlet.java:452)
              at com.bigdata.rdf.sail.webapp.QueryServlet.doGet(QueryServlet.java:171)
              at com.bigdata.rdf.sail.webapp.RESTServlet.doGet(RESTServlet.java:180)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
              at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:534)
              at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:475)
              at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:929)
              at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:403)
              at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:864)
              at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
              at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:47)
              at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:114)
              at org.eclipse.jetty.server.Server.handle(Server.java:352)
              at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:596)
              at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1051)
              at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:590)
              at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:212)
              at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:426)
              at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:508)
              at org.eclipse.jetty.io.nio.SelectChannelEndPoint.access$000(SelectChannelEndPoint.java:34)
              at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40)
              at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:451)
              at java.lang.Thread.run(Thread.java:662)
      

        Issue Links

          Activity

          Hide
          bryanthompson bryanthompson added a comment -

          Mike wrote: You can see the FUNCTION_URI property is set via setProperty instead of via initialization of the annotations map.

          public FunctionNode(// 
          final URI functionURI, 
                  final Map<String,Object> scalarValues,
          final ValueExpressionNode... args) {
          super(args, null/*anns*/);
          super.setProperty(Annotations.SCALAR_VALS, scalarValues);
          super.setProperty(Annotations.FUNCTION_URI, functionURI);
          }
          
          Show
          bryanthompson bryanthompson added a comment - Mike wrote: You can see the FUNCTION_URI property is set via setProperty instead of via initialization of the annotations map. public FunctionNode(// final URI functionURI, final Map<String,Object> scalarValues, final ValueExpressionNode... args) { super(args, null/*anns*/); super.setProperty(Annotations.SCALAR_VALS, scalarValues); super.setProperty(Annotations.FUNCTION_URI, functionURI); }
          Hide
          bryanthompson bryanthompson added a comment -

          The relevant super class is ModifiableBOpBase. The constructor is being provided with a null argument. It then substitutes a LinkedHashMap instance.

                  this.annotations = (annotations == null ? new LinkedHashMap<String, Object>(
                          DEFAULT_INITIAL_CAPACITY) : annotations);
          

          One suggestion is to replace the calls to

          super.setProperty(Annotations.SCALAR_VALS, scalarValues);
          super.setProperty(Annotations.FUNCTION_URI, functionURI);
          

          with a pre-initialized LinkedHashMap having the desired values.

          However, the problem may be that the annotations are being examined from another thread without appropriate synchronization.

          Show
          bryanthompson bryanthompson added a comment - The relevant super class is ModifiableBOpBase. The constructor is being provided with a null argument. It then substitutes a LinkedHashMap instance. this.annotations = (annotations == null ? new LinkedHashMap<String, Object>( DEFAULT_INITIAL_CAPACITY) : annotations); One suggestion is to replace the calls to super.setProperty(Annotations.SCALAR_VALS, scalarValues); super.setProperty(Annotations.FUNCTION_URI, functionURI); with a pre-initialized LinkedHashMap having the desired values. However, the problem may be that the annotations are being examined from another thread without appropriate synchronization.
          Hide
          bryanthompson bryanthompson added a comment -

          On inspection of the stack trace, it looks like everything is happening in the same thread. The parser runs and then the optimizer runs and it is all in the same thread from within Bigdata2ASTSPARQLParser. parseQuery2().

                      final ASTSetValueExpressionsOptimizer opt = 
                      		new ASTSetValueExpressionsOptimizer();
                      
                      final AST2BOpContext context2 = new AST2BOpContext(ast, context.tripleStore);
                      
                      final QueryRoot queryRoot2 = (QueryRoot)
                      		opt.optimize(context2, queryRoot, null);
          

          I do not see a problem with the code construction or threading/visibility. My only suggestion at this time is the change suggested above. For example, the constructor could be rewritten as follows to avoid changing the annotations after the call to the superclass constructor.

                  super(args, NV.asMap(new NV[] {
                          new NV(Annotations.SCALAR_VALS, scalarValues),
                          new NV(Annotations.FUNCTION_URI, functionURI), }));
          
          Show
          bryanthompson bryanthompson added a comment - On inspection of the stack trace, it looks like everything is happening in the same thread. The parser runs and then the optimizer runs and it is all in the same thread from within Bigdata2ASTSPARQLParser. parseQuery2(). final ASTSetValueExpressionsOptimizer opt = new ASTSetValueExpressionsOptimizer(); final AST2BOpContext context2 = new AST2BOpContext(ast, context.tripleStore); final QueryRoot queryRoot2 = (QueryRoot) opt.optimize(context2, queryRoot, null); I do not see a problem with the code construction or threading/visibility. My only suggestion at this time is the change suggested above. For example, the constructor could be rewritten as follows to avoid changing the annotations after the call to the superclass constructor. super(args, NV.asMap(new NV[] { new NV(Annotations.SCALAR_VALS, scalarValues), new NV(Annotations.FUNCTION_URI, functionURI), }));
          Hide
          bryanthompson bryanthompson added a comment -

          I have applied a potential workaround for the issue described above. This commit is agaisnt the development branch. The change will be migrated to the READ_CACHE branch shortly and we will follow up on its impact then.

          BigdataSparqlTest is green (no new errors) with this commit.

          Committed revision r7119.

          Show
          bryanthompson bryanthompson added a comment - I have applied a potential workaround for the issue described above. This commit is agaisnt the development branch. The change will be migrated to the READ_CACHE branch shortly and we will follow up on its impact then. BigdataSparqlTest is green (no new errors) with this commit. Committed revision r7119.
          Hide
          bryanthompson bryanthompson added a comment -

          This issue appears to be resolved by r7210 (a bug fix to the WCS).

          See https://sourceforge.net/apps/trac/bigdata/ticket/674#comment:6

          Show
          bryanthompson bryanthompson added a comment - This issue appears to be resolved by r7210 (a bug fix to the WCS). See https://sourceforge.net/apps/trac/bigdata/ticket/674#comment:6
          Hide
          bryanthompson bryanthompson added a comment -

          Re-opened.

          It is possible that this issue is unrelated to HA.

          I am seeing a failure mode again when I start the BSBM EXPLORE on the 1st follower while BSBM UPDATE is running on the leader. I am not seeing it on the 2nd follower, which was already running BSBM EXPLORE and had a hot working set before I starting the BSBM UPDATE mixture against the leader.

          However, the failure mode is different from the original failure mode for this ticket, even though it is failing for the same query template. Weird.

          Query execution: Received error code 400 from server
          Error message: Bad Request
          
          For query:
          
          PREFIX bsbm: <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/vocabulary/>
          PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
          PREFIX dc: <http://purl.org/dc/elements/1.1/>
          
          SELECT DISTINCT ?offer ?price
          WHERE {
          	?offer bsbm:product <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer3532/Product178359> .
          	?offer bsbm:vendor ?vendor .
              ?offer dc:publisher ?vendor .
          	?vendor bsbm:country <http://downlode.org/rdf/iso-3166/countries#US> .
          	?offer bsbm:deliveryDays ?deliveryDays .
          	FILTER (?deliveryDays <= 3)
          	?offer bsbm:price ?price .
              ?offer bsbm:validTo ?date .
              FILTER (?date > "2008-06-20T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> )
          }
          ORDER BY xsd:double(str(?price))
          LIMIT 10
          ----
          
          Query execution error:
          java.io.IOException: Server returned HTTP response code: 400 for URL: http://localhost:8090/sparql?query=PREFIX+bsbm%3A+%3Chttp%3A%2F%2Fwww4.wiwiss.fu-berlin.de%2Fbizer%2Fbsbm%2Fv01%2Fvocabulary%2F%3E%0APREFIX+xsd%3A+%3Chttp%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema%23%3E+%0APREFIX+dc%3A+%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%2F%3E%0A%0ASELECT+DISTINCT+%3Foffer+%3Fprice%0AWHERE+%7B%0A%09%3Foffer+bsbm%3Aproduct+%3Chttp%3A%2F%2Fwww4.wiwiss.fu-berlin.de%2Fbizer%2Fbsbm%2Fv01%2Finstances%2FdataFromProducer4355%2FProduct220334%3E+.%0A%09%3Foffer+bsbm%3Avendor+%3Fvendor+.%0A++++%3Foffer+dc%3Apublisher+%3Fvendor+.%0A%09%3Fvendor+bsbm%3Acountry+%3Chttp%3A%2F%2Fdownlode.org%2Frdf%2Fiso-3166%2Fcountries%23US%3E+.%0A%09%3Foffer+bsbm%3AdeliveryDays+%3FdeliveryDays+.%0A%09FILTER+%28%3FdeliveryDays+%3C%3D+3%29%0A%09%3Foffer+bsbm%3Aprice+%3Fprice+.%0A++++%3Foffer+bsbm%3AvalidTo+%3Fdate+.%0A++++FILTER+%28%3Fdate+%3E+%222008-06-20T00%3A00%3A00%22%5E%5E%3Chttp%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema%23dateTime%3E+%29%0A%7D%0AORDER+BY+xsd%3Adouble%28str%28%3Fprice%29%29%0ALIMIT+10%0A
          	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
          	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
          	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
          	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
          	at sun.net.www.protocol.http.HttpURLConnection$6.run(HttpURLConnection.java:1491)
          	at java.security.AccessController.doPrivileged(Native Method)
          	at sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:1485)
          	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1139)
          	at benchmark.testdriver.NetQuery.exec(NetQuery.java:94)
          	at benchmark.testdriver.SPARQLConnection.executeQuery(SPARQLConnection.java:109)
          	at benchmark.testdriver.ClientThread.run(ClientThread.java:74)
          Caused by: java.io.IOException: Server returned HTTP response code: 400 for URL: http://localhost:8090/sparql?query=PREFIX+bsbm%3A+%3Chttp%3A%2F%2Fwww4.wiwiss.fu-berlin.de%2Fbizer%2Fbsbm%2Fv01%2Fvocabulary%2F%3E%0APREFIX+xsd%3A+%3Chttp%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema%23%3E+%0APREFIX+dc%3A+%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%2F%3E%0A%0ASELECT+DISTINCT+%3Foffer+%3Fprice%0AWHERE+%7B%0A%09%3Foffer+bsbm%3Aproduct+%3Chttp%3A%2F%2Fwww4.wiwiss.fu-berlin.de%2Fbizer%2Fbsbm%2Fv01%2Finstances%2FdataFromProducer4355%2FProduct220334%3E+.%0A%09%3Foffer+bsbm%3Avendor+%3Fvendor+.%0A++++%3Foffer+dc%3Apublisher+%3Fvendor+.%0A%09%3Fvendor+bsbm%3Acountry+%3Chttp%3A%2F%2Fdownlode.org%2Frdf%2Fiso-3166%2Fcountries%23US%3E+.%0A%09%3Foffer+bsbm%3AdeliveryDays+%3FdeliveryDays+.%0A%09FILTER+%28%3FdeliveryDays+%3C%3D+3%29%0A%09%3Foffer+bsbm%3Aprice+%3Fprice+.%0A++++%3Foffer+bsbm%3AvalidTo+%3Fdate+.%0A++++FILTER+%28%3Fdate+%3E+%222008-06-20T00%3A00%3A00%22%5E%5E%3Chttp%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema%23dateTime%3E+%29%0A%7D%0AORDER+BY+xsd%3Adouble%28str%28%3Fprice%29%29%0ALIMIT+10%0A
          	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1436)
          	at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:379)
          	at benchmark.testdriver.NetQuery.exec(NetQuery.java:88)
          	... 2 more
          
          Show
          bryanthompson bryanthompson added a comment - Re-opened. It is possible that this issue is unrelated to HA. I am seeing a failure mode again when I start the BSBM EXPLORE on the 1st follower while BSBM UPDATE is running on the leader. I am not seeing it on the 2nd follower, which was already running BSBM EXPLORE and had a hot working set before I starting the BSBM UPDATE mixture against the leader. However, the failure mode is different from the original failure mode for this ticket, even though it is failing for the same query template. Weird. Query execution: Received error code 400 from server Error message: Bad Request For query: PREFIX bsbm: <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/vocabulary/> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT DISTINCT ?offer ?price WHERE { ?offer bsbm:product <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer3532/Product178359> . ?offer bsbm:vendor ?vendor . ?offer dc:publisher ?vendor . ?vendor bsbm:country <http://downlode.org/rdf/iso-3166/countries#US> . ?offer bsbm:deliveryDays ?deliveryDays . FILTER (?deliveryDays <= 3) ?offer bsbm:price ?price . ?offer bsbm:validTo ?date . FILTER (?date > "2008-06-20T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ) } ORDER BY xsd:double(str(?price)) LIMIT 10 ---- Query execution error: java.io.IOException: Server returned HTTP response code: 400 for URL: http://localhost:8090/sparql?query=PREFIX+bsbm%3A+%3Chttp%3A%2F%2Fwww4.wiwiss.fu-berlin.de%2Fbizer%2Fbsbm%2Fv01%2Fvocabulary%2F%3E%0APREFIX+xsd%3A+%3Chttp%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema%23%3E+%0APREFIX+dc%3A+%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%2F%3E%0A%0ASELECT+DISTINCT+%3Foffer+%3Fprice%0AWHERE+%7B%0A%09%3Foffer+bsbm%3Aproduct+%3Chttp%3A%2F%2Fwww4.wiwiss.fu-berlin.de%2Fbizer%2Fbsbm%2Fv01%2Finstances%2FdataFromProducer4355%2FProduct220334%3E+.%0A%09%3Foffer+bsbm%3Avendor+%3Fvendor+.%0A++++%3Foffer+dc%3Apublisher+%3Fvendor+.%0A%09%3Fvendor+bsbm%3Acountry+%3Chttp%3A%2F%2Fdownlode.org%2Frdf%2Fiso-3166%2Fcountries%23US%3E+.%0A%09%3Foffer+bsbm%3AdeliveryDays+%3FdeliveryDays+.%0A%09FILTER+%28%3FdeliveryDays+%3C%3D+3%29%0A%09%3Foffer+bsbm%3Aprice+%3Fprice+.%0A++++%3Foffer+bsbm%3AvalidTo+%3Fdate+.%0A++++FILTER+%28%3Fdate+%3E+%222008-06-20T00%3A00%3A00%22%5E%5E%3Chttp%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema%23dateTime%3E+%29%0A%7D%0AORDER+BY+xsd%3Adouble%28str%28%3Fprice%29%29%0ALIMIT+10%0A at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at sun.net.www.protocol.http.HttpURLConnection$6.run(HttpURLConnection.java:1491) at java.security.AccessController.doPrivileged(Native Method) at sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:1485) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1139) at benchmark.testdriver.NetQuery.exec(NetQuery.java:94) at benchmark.testdriver.SPARQLConnection.executeQuery(SPARQLConnection.java:109) at benchmark.testdriver.ClientThread.run(ClientThread.java:74) Caused by: java.io.IOException: Server returned HTTP response code: 400 for URL: http://localhost:8090/sparql?query=PREFIX+bsbm%3A+%3Chttp%3A%2F%2Fwww4.wiwiss.fu-berlin.de%2Fbizer%2Fbsbm%2Fv01%2Fvocabulary%2F%3E%0APREFIX+xsd%3A+%3Chttp%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema%23%3E+%0APREFIX+dc%3A+%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%2F%3E%0A%0ASELECT+DISTINCT+%3Foffer+%3Fprice%0AWHERE+%7B%0A%09%3Foffer+bsbm%3Aproduct+%3Chttp%3A%2F%2Fwww4.wiwiss.fu-berlin.de%2Fbizer%2Fbsbm%2Fv01%2Finstances%2FdataFromProducer4355%2FProduct220334%3E+.%0A%09%3Foffer+bsbm%3Avendor+%3Fvendor+.%0A++++%3Foffer+dc%3Apublisher+%3Fvendor+.%0A%09%3Fvendor+bsbm%3Acountry+%3Chttp%3A%2F%2Fdownlode.org%2Frdf%2Fiso-3166%2Fcountries%23US%3E+.%0A%09%3Foffer+bsbm%3AdeliveryDays+%3FdeliveryDays+.%0A%09FILTER+%28%3FdeliveryDays+%3C%3D+3%29%0A%09%3Foffer+bsbm%3Aprice+%3Fprice+.%0A++++%3Foffer+bsbm%3AvalidTo+%3Fdate+.%0A++++FILTER+%28%3Fdate+%3E+%222008-06-20T00%3A00%3A00%22%5E%5E%3Chttp%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema%23dateTime%3E+%29%0A%7D%0AORDER+BY+xsd%3Adouble%28str%28%3Fprice%29%29%0ALIMIT+10%0A at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1436) at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:379) at benchmark.testdriver.NetQuery.exec(NetQuery.java:88) ... 2 more
          Hide
          bryanthompson bryanthompson added a comment -

          I am still seeing this problem in HA3 configuration. The query template occasionally fails when there is a concurrent UPDATE workload. However, there might be 1 failure across 50 warmup trials + 500 benchmark trials. It is not on each presentation of the query template, but it does recur.

          PREFIX bsbm: <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/vocabulary/>
          PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
          PREFIX dc: <http://purl.org/dc/elements/1.1/>
          
          SELECT DISTINCT ?offer ?price
          WHERE {
          	?offer bsbm:product <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer3211/Product162408> .
          	?offer bsbm:vendor ?vendor .
              ?offer dc:publisher ?vendor .
          	?vendor bsbm:country <http://downlode.org/rdf/iso-3166/countries#US> .
          	?offer bsbm:deliveryDays ?deliveryDays .
          	FILTER (?deliveryDays <= 3)
          	?offer bsbm:price ?price .
              ?offer bsbm:validTo ?date .
              FILTER (?date > "2008-06-20T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> )
          }
          ORDER BY xsd:double(str(?price))
          LIMIT 10
          
          Show
          bryanthompson bryanthompson added a comment - I am still seeing this problem in HA3 configuration. The query template occasionally fails when there is a concurrent UPDATE workload. However, there might be 1 failure across 50 warmup trials + 500 benchmark trials. It is not on each presentation of the query template, but it does recur. PREFIX bsbm: <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/vocabulary/> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT DISTINCT ?offer ?price WHERE { ?offer bsbm:product <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer3211/Product162408> . ?offer bsbm:vendor ?vendor . ?offer dc:publisher ?vendor . ?vendor bsbm:country <http://downlode.org/rdf/iso-3166/countries#US> . ?offer bsbm:deliveryDays ?deliveryDays . FILTER (?deliveryDays <= 3) ?offer bsbm:price ?price . ?offer bsbm:validTo ?date . FILTER (?date > "2008-06-20T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ) } ORDER BY xsd:double(str(?price)) LIMIT 10
          Hide
          bryanthompson bryanthompson added a comment -

          I am seeing this during concurrent query on bigdata13 and bigdata14 (each running the EXPLORE mixture) with the UPDATE mixture running on bigdata12 during HA3 longevity testing for the 1.5.1 release. This appears to be the same stack trace and still does not make any sense.

          ERROR: 172544060 2015-03-10 10:24:16,454      qtp1005206950-28272 com.bigdata.rdf.sail.webapp.BigdataRDFServlet.launderThrowable(BigdataRDFServlet.java:191): cause=java.util.concurrent.ExecutionException: org.openrdf.query.MalformedQueryException, query=SPARQL-QUERY: queryStr=PREFIX bsbm: <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/vocabulary/>
          PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
          PREFIX dc: <http://purl.org/dc/elements/1.1/>
          
          SELECT DISTINCT ?offer ?price
          WHERE {
                  ?offer bsbm:product <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer2555/Product129163> .
                  ?offer bsbm:vendor ?vendor .
              ?offer dc:publisher ?vendor .
                  ?vendor bsbm:country <http://downlode.org/rdf/iso-3166/countries#US> .
                  ?offer bsbm:deliveryDays ?deliveryDays .
                  FILTER (?deliveryDays <= 3)
                  ?offer bsbm:price ?price .
              ?offer bsbm:validTo ?date .
              FILTER (?date > "2008-06-20T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> )
          }
          ORDER BY xsd:double(str(?price))
          LIMIT 10
          
          java.util.concurrent.ExecutionException: org.openrdf.query.MalformedQueryException
                  at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252)
                  at java.util.concurrent.FutureTask.get(FutureTask.java:111)
                  at com.bigdata.rdf.sail.webapp.BigdataServlet.submitApiTask(BigdataServlet.java:261)
                  at com.bigdata.rdf.sail.webapp.QueryServlet.doSparqlQuery(QueryServlet.java:532)
                  at com.bigdata.rdf.sail.webapp.QueryServlet.doGet(QueryServlet.java:204)
                  at com.bigdata.rdf.sail.webapp.RESTServlet.doGet(RESTServlet.java:210)
                  at com.bigdata.rdf.sail.webapp.MultiTenancyServlet.doGet(MultiTenancyServlet.java:213)
                  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:769)
                  at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
                  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:1125)
                  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:1059)
                  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:311)
                  at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:248)
                  at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
                  at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:610)
                  at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:539)
                  at java.lang.Thread.run(Thread.java:724)
          Caused by: org.openrdf.query.MalformedQueryException
                  at com.bigdata.rdf.sail.sparql.Bigdata2ASTSPARQLParser.parseQuery2(Bigdata2ASTSPARQLParser.java:443)
                  at com.bigdata.rdf.sail.webapp.BigdataRDFContext.getQueryTask(BigdataRDFContext.java:2087)
                  at com.bigdata.rdf.sail.webapp.QueryServlet$SparqlQueryTask.call(QueryServlet.java:604)
                  at com.bigdata.rdf.sail.webapp.QueryServlet$SparqlQueryTask.call(QueryServlet.java:549)
                  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:769)
                  at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
                  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:1125)
                  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:1059)
                  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:311)
                  at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:248)
                  at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
                  at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:610)
                  at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:539)
                  at java.lang.Thread.run(Thread.java:724)
          Caused by: org.openrdf.query.MalformedQueryException
                  at com.bigdata.rdf.sail.sparql.Bigdata2ASTSPARQLParser.parseQuery2(Bigdata2ASTSPARQLParser.java:443)
                  at com.bigdata.rdf.sail.webapp.BigdataRDFContext.getQueryTask(BigdataRDFContext.java:2087)
                  at com.bigdata.rdf.sail.webapp.QueryServlet$SparqlQueryTask.call(QueryServlet.java:604)
                  at com.bigdata.rdf.sail.webapp.QueryServlet$SparqlQueryTask.call(QueryServlet.java:549)
                  at com.bigdata.rdf.task.ApiTaskForIndexManager.call(ApiTaskForIndexManager.java:68)
                  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
                  at java.util.concurrent.FutureTask.run(FutureTask.java:166)
                  at com.bigdata.rdf.task.AbstractApiTask.submitApiTask(AbstractApiTask.java:365)
                  at com.bigdata.rdf.sail.webapp.BigdataServlet.submitApiTask(BigdataServlet.java:258)
          	... 26 more
          Caused by: java.lang.IllegalArgumentException
                  at com.bigdata.rdf.sparql.ast.FunctionNode.<init>(FunctionNode.java:69)
                  at com.bigdata.rdf.sail.sparql.ValueExprBuilder.visit(ValueExprBuilder.java:484)
                  at com.bigdata.rdf.sail.sparql.ValueExprBuilder.visit(ValueExprBuilder.java:142)
                  at com.bigdata.rdf.sail.sparql.ast.ASTFunctionCall.jjtAccept(ASTFunctionCall.java:24)
                  at com.bigdata.rdf.sail.sparql.BigdataExprBuilder.visit(BigdataExprBuilder.java:489)
                  at com.bigdata.rdf.sail.sparql.BigdataExprBuilder.visit(BigdataExprBuilder.java:120)
                  at com.bigdata.rdf.sail.sparql.ast.ASTOrderCondition.jjtAccept(ASTOrderCondition.java:26)
                  at com.bigdata.rdf.sail.sparql.BigdataExprBuilder.visit(BigdataExprBuilder.java:473)
                  at com.bigdata.rdf.sail.sparql.BigdataExprBuilder.visit(BigdataExprBuilder.java:120)
                  at com.bigdata.rdf.sail.sparql.ast.ASTOrderClause.jjtAccept(ASTOrderClause.java:24)
                  at com.bigdata.rdf.sail.sparql.BigdataExprBuilder.handleOrderBy(BigdataExprBuilder.java:826)
                  at com.bigdata.rdf.sail.sparql.BigdataExprBuilder.visit(BigdataExprBuilder.java:185)
                  at com.bigdata.rdf.sail.sparql.BigdataExprBuilder.visit(BigdataExprBuilder.java:120)
          	at com.bigdata.rdf.sail.sparql.ast.ASTSelectQuery.jjtAccept(ASTSelectQuery.java:25)
                  at com.bigdata.rdf.sail.sparql.BigdataExprBuilder.visit(BigdataExprBuilder.java:149)
                  at com.bigdata.rdf.sail.sparql.BigdataExprBuilder.visit(BigdataExprBuilder.java:120)
                  at com.bigdata.rdf.sail.sparql.ast.ASTQueryContainer.jjtAccept(ASTQueryContainer.java:25)
                  at com.bigdata.rdf.sail.sparql.Bigdata2ASTSPARQLParser.buildQueryModel(Bigdata2ASTSPARQLParser.java:482)
                  at com.bigdata.rdf.sail.sparql.Bigdata2ASTSPARQLParser.parseQuery2(Bigdata2ASTSPARQLParser.java:376)
                  ... 34 more
          
          Show
          bryanthompson bryanthompson added a comment - I am seeing this during concurrent query on bigdata13 and bigdata14 (each running the EXPLORE mixture) with the UPDATE mixture running on bigdata12 during HA3 longevity testing for the 1.5.1 release. This appears to be the same stack trace and still does not make any sense. ERROR: 172544060 2015-03-10 10:24:16,454 qtp1005206950-28272 com.bigdata.rdf.sail.webapp.BigdataRDFServlet.launderThrowable(BigdataRDFServlet.java:191): cause=java.util.concurrent.ExecutionException: org.openrdf.query.MalformedQueryException, query=SPARQL-QUERY: queryStr=PREFIX bsbm: <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/vocabulary/> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT DISTINCT ?offer ?price WHERE { ?offer bsbm:product <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer2555/Product129163> . ?offer bsbm:vendor ?vendor . ?offer dc:publisher ?vendor . ?vendor bsbm:country <http://downlode.org/rdf/iso-3166/countries#US> . ?offer bsbm:deliveryDays ?deliveryDays . FILTER (?deliveryDays <= 3) ?offer bsbm:price ?price . ?offer bsbm:validTo ?date . FILTER (?date > "2008-06-20T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ) } ORDER BY xsd:double(str(?price)) LIMIT 10 java.util.concurrent.ExecutionException: org.openrdf.query.MalformedQueryException at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252) at java.util.concurrent.FutureTask.get(FutureTask.java:111) at com.bigdata.rdf.sail.webapp.BigdataServlet.submitApiTask(BigdataServlet.java:261) at com.bigdata.rdf.sail.webapp.QueryServlet.doSparqlQuery(QueryServlet.java:532) at com.bigdata.rdf.sail.webapp.QueryServlet.doGet(QueryServlet.java:204) at com.bigdata.rdf.sail.webapp.RESTServlet.doGet(RESTServlet.java:210) at com.bigdata.rdf.sail.webapp.MultiTenancyServlet.doGet(MultiTenancyServlet.java:213) 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:769) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) 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:1125) 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:1059) 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:311) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:248) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:610) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:539) at java.lang.Thread.run(Thread.java:724) Caused by: org.openrdf.query.MalformedQueryException at com.bigdata.rdf.sail.sparql.Bigdata2ASTSPARQLParser.parseQuery2(Bigdata2ASTSPARQLParser.java:443) at com.bigdata.rdf.sail.webapp.BigdataRDFContext.getQueryTask(BigdataRDFContext.java:2087) at com.bigdata.rdf.sail.webapp.QueryServlet$SparqlQueryTask.call(QueryServlet.java:604) at com.bigdata.rdf.sail.webapp.QueryServlet$SparqlQueryTask.call(QueryServlet.java:549) 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:769) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) 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:1125) 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:1059) 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:311) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:248) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:610) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:539) at java.lang.Thread.run(Thread.java:724) Caused by: org.openrdf.query.MalformedQueryException at com.bigdata.rdf.sail.sparql.Bigdata2ASTSPARQLParser.parseQuery2(Bigdata2ASTSPARQLParser.java:443) at com.bigdata.rdf.sail.webapp.BigdataRDFContext.getQueryTask(BigdataRDFContext.java:2087) at com.bigdata.rdf.sail.webapp.QueryServlet$SparqlQueryTask.call(QueryServlet.java:604) at com.bigdata.rdf.sail.webapp.QueryServlet$SparqlQueryTask.call(QueryServlet.java:549) at com.bigdata.rdf.task.ApiTaskForIndexManager.call(ApiTaskForIndexManager.java:68) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at com.bigdata.rdf.task.AbstractApiTask.submitApiTask(AbstractApiTask.java:365) at com.bigdata.rdf.sail.webapp.BigdataServlet.submitApiTask(BigdataServlet.java:258) ... 26 more Caused by: java.lang.IllegalArgumentException at com.bigdata.rdf.sparql.ast.FunctionNode.<init>(FunctionNode.java:69) at com.bigdata.rdf.sail.sparql.ValueExprBuilder.visit(ValueExprBuilder.java:484) at com.bigdata.rdf.sail.sparql.ValueExprBuilder.visit(ValueExprBuilder.java:142) at com.bigdata.rdf.sail.sparql.ast.ASTFunctionCall.jjtAccept(ASTFunctionCall.java:24) at com.bigdata.rdf.sail.sparql.BigdataExprBuilder.visit(BigdataExprBuilder.java:489) at com.bigdata.rdf.sail.sparql.BigdataExprBuilder.visit(BigdataExprBuilder.java:120) at com.bigdata.rdf.sail.sparql.ast.ASTOrderCondition.jjtAccept(ASTOrderCondition.java:26) at com.bigdata.rdf.sail.sparql.BigdataExprBuilder.visit(BigdataExprBuilder.java:473) at com.bigdata.rdf.sail.sparql.BigdataExprBuilder.visit(BigdataExprBuilder.java:120) at com.bigdata.rdf.sail.sparql.ast.ASTOrderClause.jjtAccept(ASTOrderClause.java:24) at com.bigdata.rdf.sail.sparql.BigdataExprBuilder.handleOrderBy(BigdataExprBuilder.java:826) at com.bigdata.rdf.sail.sparql.BigdataExprBuilder.visit(BigdataExprBuilder.java:185) at com.bigdata.rdf.sail.sparql.BigdataExprBuilder.visit(BigdataExprBuilder.java:120) at com.bigdata.rdf.sail.sparql.ast.ASTSelectQuery.jjtAccept(ASTSelectQuery.java:25) at com.bigdata.rdf.sail.sparql.BigdataExprBuilder.visit(BigdataExprBuilder.java:149) at com.bigdata.rdf.sail.sparql.BigdataExprBuilder.visit(BigdataExprBuilder.java:120) at com.bigdata.rdf.sail.sparql.ast.ASTQueryContainer.jjtAccept(ASTQueryContainer.java:25) at com.bigdata.rdf.sail.sparql.Bigdata2ASTSPARQLParser.buildQueryModel(Bigdata2ASTSPARQLParser.java:482) at com.bigdata.rdf.sail.sparql.Bigdata2ASTSPARQLParser.parseQuery2(Bigdata2ASTSPARQLParser.java:376) ... 34 more

            People

            • Assignee:
              mikepersonick mikepersonick
              Reporter:
              bryanthompson bryanthompson
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated: