Uploaded image for project: 'Red Hat 3scale API Management'
  1. Red Hat 3scale API Management
  2. THREESCALE-12110

Reduce memory bloat with Oracle database

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • None
    • None
    • None
    • False
    • Hide

      None

      Show
      None
    • False
    • Not Started
    • Not Started
    • Not Started
    • Not Started
    • Not Started
    • Not Started

      AI description, not entirely accurate:

        1. Problem

      We need to address memory bloat issues related to Oracle database connections and ensure proper cursor cleanup in our oracle-enhanced adapter usage.

        1. Background

      Related to upstream issue: https://github.com/kubo/ruby-oci8/issues/230

      The ruby-oci8 library (version 2.2.7+) introduced array fetching for LOBs which can cause:

      • Significant memory consumption (hundreds of MB to GBs)
      • Memory that appears cached and not freed
      • Potential cursor leaks if not properly managed
        1. Required Work

      1. *Investigate root cause* of memory bloat in our application

      • Identify code paths where cursors are not being properly closed
      • Review usage of ActiveRecord oracle-enhanced adapter
      • Check for explicit cursor usage that may not be cleaned up

      2. *Update oracle-enhanced adapter usage* to ensure proper cursor cleanup

      • Ensure all database queries properly close cursors when complete
      • Review and fix any long-running operations that may hold cursors
      • Add cursor cleanup in error/exception paths
        1. Acceptance Criteria
      • [ ] Root cause of memory bloat and cursor leaks identified and documented
      • [ ] Code updated to properly close cursors when no longer needed
      • [ ] Memory consumption remains stable during normal operations
        1. References

              akostadi1@redhat.com Aleksandar Kostadinov
              akostadi1@redhat.com Aleksandar Kostadinov
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: