Uploaded image for project: 'Spring Data GemFire'
  1. Spring Data GemFire
  2. SGF-524

Add support for PagingAndSortingRepositories

    XMLWordPrintable

    Details

    • Sprint:
      Kay RC1, Kay RC3, Kay GA, Kay SR1, Lovelace M1, Lovelace M2 / M3, Lovelace RC1, Lovelace GA, Lovelace SR1, Moore RC1, Moore RC2, Moore SR1, Moore SR2, Neumann M3, Neumann M4, Neumann RC1, 2020.0.0 - Ockham M1, 2020.0.0 - Ockham RC2, 2021.0.0 - Pascal M1

      Description

      This JIRA will track the development of SD GemFire's support of the SD Common's PagingAndSortingRepository.

      Currently, neither Pivotal GemFire nor Apache Geode implement or support the notion of a database cursor in the querying infrastructure, which allows for such things as [pre-]fetch size, handling concurrent updates and scroll sensitivity.

      However, a good interim solution may be to collect a "list" of keys for the values satisfying the query predicate and lazily fetch the values based on the ordered, paged in results.

      GemFire/Geode could handle concurrent updates by the user flipping the copy-on-read switch, but scroll sensitivity would not be handled unless the keys were cached. Still, the "cached" keys would be invalidated the moment the user changed the sort order since the "list" is retaining the order the user initially specified, and without the values, there is no way to change the order. Therefore, subsequent queries with the origin predicate could result in a significantly different result set thus changing the number and order of the results.

        Attachments

          Activity

            People

            Assignee:
            jblum John Blum
            Reporter:
            jblum John Blum
            Last updater:
            Christoph Strobl Christoph Strobl
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:

                Time Tracking

                Estimated:
                Original Estimate - 10d
                10d
                Remaining:
                Remaining Estimate - 10d
                10d
                Logged:
                Time Spent - Not Specified
                Not Specified