Uploaded image for project: 'Drools'
  1. Drools
  2. DROOLS-5342

Default value of "drools.lambda.introspector.cache.size" for externalized lambda

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Won't Do
    • Icon: Major Major
    • None
    • 7.37.0.Final
    • executable model
    • None
    • 2020 Week 19-21 (from May 4), 2020 Week 22-24 (from May 25)
    • 1
    • NEW
    • NEW

      Regarding the cache size default value of LambdaIntrospector.methodFingerprintsMap,

      If "drools.externaliseCanonicalModelLambda" option is not enabled, the cache is frequently used so it will not likely retain old classloaders. So the default value '32' would be fine.

      If "drools.externaliseCanonicalModelLambda" option is enabled, the cache is used in rare occasions:

      A) Lambda for binding variable (DROOLS-5328)
      B) Lambda which ExecModelLambdaPostProcessor failed to externalize (DROOLS-5329)

      So one build may use only a few entries in a cache Map. Then, the cache eventually may retain several old classloaders after multiple builds. Generally, the classloader leak issue is prioritized over build time performance benefit so '0' is the good default value when externaliseCanonicalModelLambda is enabled.

              rhn-support-tkobayas Toshiya Kobayashi
              rhn-support-tkobayas Toshiya Kobayashi
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: