Uploaded image for project: 'Livy (READ-ONLY)'
  1. Livy (READ-ONLY)
  2. LIVY-60

Json deserialization in JsonServlet ignores default values

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 0.2
    • Fix Version/s: None
    • Component/s: API
    • Labels:
      None

      Description

      Json deserialization in JsonServlet ignores default value defined in case class definitions.
      Instead of using the default value, Jackson uses null.

      Default values in following classes are ignored and substitute by null.

      case class CreateInteractiveRequest(
          kind: Kind,
          proxyUser: Option[String] = None,
          jars: List[String] = List(),
          pyFiles: List[String] = List(),
          files: List[String] = List(),
          driverMemory: Option[String] = None,
          driverCores: Option[Int] = None,
          executorMemory: Option[String] = None,
          executorCores: Option[Int] = None,
          numExecutors: Option[Int] = None,
          archives: List[String] = List(),
          queue: Option[String] = None,
          name: Option[String] = None,
          conf: Map[String, String] = Map())
      
      case class CreateBatchRequest(
          file: String,
          proxyUser: Option[String] = None,
          args: List[String] = List(),
          className: Option[String] = None,
          jars: List[String] = List(),
          pyFiles: List[String] = List(),
          files: List[String] = List(),
          driverMemory: Option[String] = None,
          driverCores: Option[Int] = None,
          executorMemory: Option[String] = None,
          executorCores: Option[Int] = None,
          numExecutors: Option[Int] = None,
          archives: List[String] = List(),
          queue: Option[String] = None,
          name: Option[String] = None,
          conf: Map[String, String] = Map())
      

      Right now both batch and interactive modes are broken because of NullPointerException unless users specify every attribute in the create requests.

      It's a known bug in the library: https://github.com/FasterXML/jackson-module-scala/issues/87

        Attachments

          Activity

            People

            • Assignee:
              vanzin Marcelo Vanzin
              Reporter:
              tc0312 Alex Man
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: