Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-9905

Add NullStream to isolate the performance of the ExportWriter

    Details

    • Type: New Feature
    • Status: Resolved
    • Priority: Major
    • Resolution: Resolved
    • Affects Version/s: None
    • Fix Version/s: 6.4, 7.0
    • Component/s: None
    • Security Level: Public (Default Security Level. Issues are Public)
    • Labels:
      None

      Description

      The NullStream is a utility function to test the raw performance of the ExportWriter. This is a nice utility to have to diagnose bottlenecks in streaming MapReduce operations. The NullStream will allow developers to test the performance of the shuffling (Sorting, Partitioning, Exporting) in isolation from the reduce operation (Rollup, Join, Group, etc..).

      The NullStream simply iterates it's internal stream and eats the tuples. It returns a single Tuple from each worker with the number of Tuples processed. The idea is to iterate the stream without additional overhead so the performance of the underlying stream can be isolated.

      Sample syntax:

      parallel(collection2, workers=7, sort="nullCount desc", 
            null(search(collection1, 
                         q=*:*, 
                         fl="id", 
                         sort="id desc", 
                         qt="/export", 
                         wt="javabin", 
                         partitionKeys=id)))
      

      In the example above the NullStream is sent to 7 workers. Each worker will iterate the search() expression and the NullStream will eat the tuples so the raw performance of the search() can be understood.

        Attachments

        1. SOLR-9905.patch
          9 kB
          Joel Bernstein

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              joel.bernstein Joel Bernstein
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: