Uploaded image for project: 'Application Server 7'
  1. Application Server 7
  2. AS7-3435

No cloning for parameters of primitive types should be performed if 'pass-by-value' option is disabled for LocalEJBReceiver

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Minor
    • 7.1.0.Final
    • 7.1.0.CR1b
    • EJB
    • None

    Description

      If 'pass-by-value' is disabled for the ejb client, then no cloning should be performed for parameters of primitive types. Current version of code still tries to clone them, as declared parameter class (primitive type) is not equal to runtime parameter value used during the invocation ('boxed' class for primitive type), this results a lot of cloning requests in case of remote methods with primitive types.

      This problem was noticed while looking at results of profiling sampling for intensive concurrent in-vm invocations of remote methods. Despite the disabled 'pass-by-value' option and correct class-pathes for all components, profiling results still show a lot of call to cloners in case of primitive type parameters. The performance impact is not significant, however it's still additional overhead which can be avoided.

      In general, I'm not sure if cloning for primitive types is required in other cases as well, however it definitely shouldn't performed if 'pass-by-value' is disabled.

      Attachments

        Activity

          People

            jaikiran Jaikiran Pai (Inactive)
            alexeymakhmutov Alexey Makhmutov
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: