Uploaded image for project: 'IMPALA'
  1. IMPALA
  2. IMPALA-7556

Clean up ScanRange

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • Impala 4.1.0
    • Backend
    • ghx-label-8

    Description

      For IMPALA-7543 I want to add some additional functionality to scan ranges.

      However, the code of the ScanRange class is already quite messy. It handles different types of files, does some buffer management, updates all kinds of counters.

      So, instead of complicating the code further, let's refactor the ScanRange class a bit.

      • Do the file operations in separate classes
        • A new, abstract class could be invented to provide an API for file operations, i.e. Open(), ReadFromPos(), Close(), etc.
          • Keep in mind that the interface must be a good fit for IMPALA-7543, i.e. we need positional reads from files
        • Operations for local files and HDFS files could be implemented in child classes
      • Buffer management
        • A new BufferStore class could be created
        • This new class would be responsible for managing the unused buffers
          • if possible, it would also handle the client and cached buffers as well
      • Counters and metrics would be updated by the corresponding new classes
        • E.g. ImpaladMetrics::IO_MGR_NUM_OPEN_FILES would be updated by the file handling classes

      Attachments

        Issue Links

          Activity

            People

              amargoor Amogh Margoor
              boroknagyz Zoltán Borók-Nagy
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: