Uploaded image for project: 'Olingo'
  1. Olingo
  2. OLINGO-1320

Debug Response is not created due to JVM Optimization

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • (Java) V4 4.4.0
    • None
    • odata2-core
    • None
    • Patch

    Description

      There is a performance optimization in JVM when an exception is thrown a few times in a certain period of time, it doesn't send the stack trace of the exception any more.

      "The compiler in the server VM now provides correct stack backtraces for all "cold" built-in exceptions. For performance purposes, when such an exception is thrown a few times, the method may be recompiled. After recompilation, the compiler may choose a faster tactic using preallocated exceptions that do not provide a stack trace. "

      Olingo always expects the stack trace to be there in DebugTabStacktrace.java file, and when there is no stack trace it throws a generic error "ODataLibrary: Could not assemble debug response." and all the other information gets lost.

      In the patch I have attached to this task, I have done a check to see if there is a stack trace and if there is not, given a suggestion as to why, keeping the other information intact.

      Do consider that, there can be instances without any stack trace, in your future releases.

      Attachments

        1. JVMOptimization.diff
          2 kB
          Mayura Wijeyaratne

        Activity

          People

            Unassigned Unassigned
            podiman Mayura Wijeyaratne
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: