Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-4262 Hadoop Accelerator performance improvements.
  3. IGNITE-4426

Hadoop: allow optional classloader reuse between tasks.

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.8
    • 2.0
    • hadoop
    • None

    Description

      Problem
      Currently we create separate HadoopClassLoader for each and every MR task. It has serious performance implications:
      1) Every task have to reload classes form disk;
      2) Every task starts from "cold" state with not-compiled classes;
      3) Very high permgen/metaspace and code cache regions usage.

      We can observe, that every task classloader works with the same JARs. It means that the only case when we really need to isolate tasks through classloaders is when they depend on some static data, which should not be shared.

      Proposal

      • Share HadoopClassLoader between tasks by default;
      • Allow to optionally disable this opto.

      Attachments

        Issue Links

          Activity

            People

              vozerov Vladimir Ozerov
              vozerov Vladimir Ozerov
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: