Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.0.0
    • Fix Version/s: None
    • Component/s: core/index
    • Labels:
      None
    • Lucene Fields:
      New

      Description

      A non-recursive implementation of MultiTermDocs.next() and skipTo() would be nice as it's currently possible to get a stack overflow in very rare situations.

        Activity

        Hide
        yseeley@gmail.com Yonik Seeley added a comment -

        Attaching non-recursive version.
        Seems simple enough, but I'll wait till tomorrow to commit as I'm home sick today with a fever, and I tend to make far more mistakes

        Show
        yseeley@gmail.com Yonik Seeley added a comment - Attaching non-recursive version. Seems simple enough, but I'll wait till tomorrow to commit as I'm home sick today with a fever, and I tend to make far more mistakes
        Hide
        mikemccand Michael McCandless added a comment -

        This patch looks good to me. Do we know if there are any other places where we consume one stack frame per segment?

        Show
        mikemccand Michael McCandless added a comment - This patch looks good to me. Do we know if there are any other places where we consume one stack frame per segment?
        Hide
        yseeley@gmail.com Yonik Seeley added a comment -

        Committed.
        Thanks for the review Michael, off the top of my head, I don't know of other recursive functions like this.

        Show
        yseeley@gmail.com Yonik Seeley added a comment - Committed. Thanks for the review Michael, off the top of my head, I don't know of other recursive functions like this.

          People

          • Assignee:
            yseeley@gmail.com Yonik Seeley
            Reporter:
            yseeley@gmail.com Yonik Seeley
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development