Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-951

Infinispan Query module should load entities using getAll

    XMLWordPrintable

Details

    • Enhancement
    • Resolution: Duplicate
    • Major
    • None
    • None
    • Embedded Querying
    • None

    Description

      Ideally we should use a method like List getAll(Object[] keys) from Infinispan core, but that doesn't exist yet. Such a method would be able to split the keys in such a way to minimize the number of RPCs needed to "cover" the set of all segments needed to satisfy the query, so to find the minimum set of nodes available which need to be contacted to retrieve all entries.

      Loading of each entry doesn't necessarily need to happen sequentially, I guess the minimum set of RPCs should be executed in parallel, then we block until they are all returned and need to restore the order of the list (the order of the return elements need to match the order of their respective keys from the parameter).

      We should implement such a method, or until that's possible it might be easier to run each individual get in a getAsync so that the latency of a Query returning for example 100 entries doesn't scale up to 100 sequential RPCs.

      Requires migration to new Loader API from Hibernate Search.

      Attachments

        Issue Links

          Activity

            People

              gfernand@redhat.com Gustavo Fernandes (Inactive)
              sgrinove Sanne Grinovero
              Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: