Uploaded image for project: 'Blazegraph (by SYSTAP)'
  1. Blazegraph (by SYSTAP)
  2. BLZG-1185

SPARQL Federated Query uses too many HttpClient objects

    Details

      Description

      The RemoteServiceCallImpl is allocating a new HttpClient object for each SPARQL federated query. The jetty HttpClient object is multi-threaded and appears to pre-allocate a pool of threads to support concurrent connections. I first noticed this in the HA test suite, and then searched globally for patterns where we create too many of these instances.

        Activity

        Hide
        bryanthompson bryanthompson added a comment -

        Old:

               	final HttpClient client = HttpClientConfigurator.getInstance().newInstance();
        

        New: Note that this reuses the same object that is initialized and managed by the QueryEngine

                final HttpClient client = params.getClientConnectionManager();
        

        Fix is in the BLZG-1178 ticket branch since I made this at the same time as modifying the HA test suite. This branch should be merged in for the 1.5.1 release.

        Commit ac90d6ed447572b6271d28a124a7632832728278

        Show
        bryanthompson bryanthompson added a comment - Old: final HttpClient client = HttpClientConfigurator.getInstance().newInstance(); New: Note that this reuses the same object that is initialized and managed by the QueryEngine final HttpClient client = params.getClientConnectionManager(); Fix is in the BLZG-1178 ticket branch since I made this at the same time as modifying the HA test suite. This branch should be merged in for the 1.5.1 release. Commit ac90d6ed447572b6271d28a124a7632832728278

          People

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

            Dates

            • Created:
              Updated:
              Resolved: