class_docstr: A base class for data source writers. Data source writers are responsible for saving
  the data to the data source.
  
  .. versionadded: 4.0.0
docstr: Aborts this writing job due to task failures.
  
  This method is invoked on the driver when one or more tasks failed. The commit
  messages are collected from the ``write`` method call from each task, and are
  passed to this method. The implementation should use the commit messages to
  abort the writing job to the data source.
  
  Parameters
  ----------
  messages : List[WriterCommitMessage]
      A list of commit messages.
code: def abort(self, messages: List["WriterCommitMessage"]) -> None:
      """
      Aborts this writing job due to task failures.
  
      This method is invoked on the driver when one or more tasks failed. The commit
      messages are collected from the ``write`` method call from each task, and are
      passed to this method. The implementation should use the commit messages to
      abort the writing job to the data source.
  
      Parameters
      ----------
      messages : List[WriterCommitMessage]
          A list of commit messages.
      """
      ...
  
imports: from abc import ABC, abstractmethod
  from collections import UserDict
  from typing import Any, Dict, Iterator, List, Sequence, Tuple, Type, Union, TYPE_CHECKING
  from pyspark.sql import Row
  from pyspark.sql.types import StructType
  from pyspark.errors import PySparkNotImplementedError
label_desc: Use image node_id 3 for calling the DataSourceWriter obj's underlying member method code with example usage: obj.abort(messages) without return types