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

Use discovery custom messages instead of marshaller cache

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 2.0
    • cache
    • None

    Description

      Currently we use system caches for keeping classname to class ID mapping and for storing binary metadata
      This has several serious disadvantages:
      1) We need to introduce at least two additional thread pools for each of these caches
      2) Since cache operations require stable topology, registering a class ID or updating metadata inside a transaction or another cache operation is tricky and deadlock-prone.
      3) It may be beneficial in some cases to have nodes with no caches at all, currently this is impossible because system caches are always present.
      4) Reading binary metadata leads to huge local contention, caching metadata values in a local map doubles memory consumption

      I suggest we use discovery custom events for these purposes. Each node will have a corresponding local map (state) which will be updated inside custom event handler. From the first point of view, this should remove all the disadvantages above.

      Attachments

        Issue Links

          Activity

            People

              sergey-chugunov Sergey Chugunov
              agoncharuk Alexey Goncharuk
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: