Uploaded image for project: 'Apache Blur'
  1. Apache Blur
  2. BLUR-79 Issue with TThreadPoolServer
  3. BLUR-101

Create sessions in the shard servers to store indexreader between calls

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.2.0
    • 0.2.0
    • None
    • None

    Description

      Make use of the TServerEventHandler in Thrift that can give you sessions tied to Thrift connections. In the every call to Thrift always reset the IndexReaders in the session except for when a query is followed by a fetch with locationIds happens. That's when the controller issues a query then after it has the top answers from all the shards in the table are calculated, it fetches the data.

      The reason we need to do this is because in between those 2 calls the indexreader could have been refreshed from the writer, and thus the lucene doc ids could changed. This could cause the fetch to fetch the wrong data back to the controller.

      Attachments

        Activity

          People

            Unassigned Unassigned
            amccurry Aaron McCurry
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: