Uploaded image for project: 'CDAP'
  1. CDAP
  2. CDAP-12170

Committed Partition's files may be improperly removed in case of partition already exists

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 4.2.0
    • Fix Version/s: 4.3.0, 4.2.1
    • Component/s: Datasets
    • Labels:
      None
    • Release Notes:
      Hide
      Fixed a bug where committed files of a PartitionedFileSet could be removed during transaction rollback in the case PartitionOutput#addPartition was called for a partition that already existed.
      Because of the fix, PartitionedFileSet#getPartitionOutput should now only be called within a transaction.
      Show
      Fixed a bug where committed files of a PartitionedFileSet could be removed during transaction rollback in the case PartitionOutput#addPartition was called for a partition that already existed. Because of the fix, PartitionedFileSet#getPartitionOutput should now only be called within a transaction.
    • Rank:
      1|i005bz:

      Description

      Committed Partition's files may be improperly removed in case of PartitionAlreadyExists exception.
      Suppose that a partition exists and is already committed. Some time later, the same partition is attempted to be added (within a Service or MapReduce using DynamicPartitioner). This later operation will get a PartitionAlreadyExists exception, and as a part of its rollback, it will remove the files of the existing partition. This is improper behavior, because the existing/committed partition's files shouldn't be affected.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                ali.anwar Ali Anwar
                Reporter:
                ali.anwar Ali Anwar
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: