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

Infinispan Query module should load entities using getAll

XMLWordPrintable

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

      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.

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

              Created:
              Updated:
              Resolved: