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

Thin client: Unordered map used for putAll warning is unavoidable

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • None
    • None
    • thin client
    • None
    • Release Notes Required

    Description

      Thin client uses LinkedHashMap to preserve client-side entry order. Ignite logs a warning and there is no way to fix it for the user:

      Unordered map java.util.HashMap is used for putAll operation on cache exact. This can lead to a distributed deadlock. Switch to a sorted map like TreeMap instead.
      

      We should suppress this warning for thin client operations, since it does not make sense. Thin clients have different language-specific APIs, some of them don't even use maps. The same applies to PlatformCache (thick C# & C++).

      We should have an internal method that does not produce a warning, and, ideally, does not require a Map. Using LinkedHashMap as an intermediate collection produces unnecessary overhead and allocations, we could use an array of key-value pairs instead.

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated: