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

Java thin 3.0: Use all replicas for partition awareness

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • 3.1
    • thin client

    Description

      Currently, client uses primary replicas for partition awareness:

      • Get primary replica per partition from server (Map<Partition, Replica>)
      • Compute target replica from key
      • If a direct connection exists to that replica, use it. Otherwise, use any other connection.

      We can improve performance for certain requests (RO transactions) by using non-primary replicas as well:

      • Get all replicas per partition from server (first = primary) (Map<Partition, List<Replica>>)
      • Compute target partition from key
      • Iterate over the list of replicas in original order to find an active direct connection

      In other words, "use primary replica if possible, otherwise use non-primary replica, otherwise use any connection".

      Attachments

        Activity

          People

            ptupitsyn Pavel Tupitsyn
            ptupitsyn Pavel Tupitsyn
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: