Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-14514

OrcRecordUpdater should clone writerOptions when creating delete event writers

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Critical
    • Resolution: Unresolved
    • Affects Version/s: 2.2.0
    • Fix Version/s: None
    • Component/s: Transactions
    • Labels:
      None

      Description

      When split-update is enabled for ACID, OrcRecordUpdater creates two sets of writers: one for the insert deltas and one for the delete deltas. The deleteEventWriter is initialized with similar writerOptions as the normal writer, except that it has a different callback handler. Due to the lack of copy constructor/ clone() method in writerOptions, the same writerOptions object is mutated to specify a different callback for the delete case. Although, this is harmless for now, but it may become a source of confusion and possible error in future. The ideal way to fix this would be to create a clone() method for writerOptions- however this requires that the parent class of WriterOptions in the OrcFile.WriterOptions should implement Cloneable or provide a copy constructor.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                ekoifman Eugene Koifman
                Reporter:
                saketj Saket Saurabh
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated: