Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-8286

ScanQuery ignore setLocal with non local partition

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.4
    • Fix Version/s: 2.7
    • Component/s: None
    • Labels:
      None
    • Ignite Flags:
      Docs Required

      Description

      1) Create partitioned cache on 2+ nodes cluster
      2) Select some partition N, local node should not be OWNER of partition N
      3) execute: cache.query(new ScanQuery<>().setLocal(true).setPartition(N))
      Expected result:
      empty result (probaply with logging smth like "Trying to execute local query <query> with non local partition N") or even throw exception
      Actual result:
      executing (with ScanQueryFallbackClosableIterator) query on remote node.
      Problem is that we execute local query on remote node.
      Same behaviour can be achieved if we get empty node list from GridCacheQueryAdapter.node() by any reasons, for example - if we run "local" query from non data node from given cache (see GridDiscoveryNamager.cacheAffinityNode(ClusterNode node, String cacheName) in GridcacheQueryAdapter.executeScanQuery()

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                shroman Roman Shtykh
                Reporter:
                sbberkov Alexander Belyak
              • Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: