Xi Lyu created SPARK-49798:
------------------------------

             Summary: Fix inaccurate documentation of RuntimeConfig.get
                 Key: SPARK-49798
                 URL: https://issues.apache.org/jira/browse/SPARK-49798
             Project: Spark
          Issue Type: Documentation
          Components: Spark Core
    Affects Versions: 4.0.0
            Reporter: Xi Lyu


The existing documentation of `RuntimeConfig.get()` is misleading:
 * `get(key: String)` method will not throw any exception if the key is not set 
as long as the config entry has a default value, instead, they will just return 
the `defaultValue` of the `ConfigEntry`. An `NoSuchElementException` will only 
be thrown if there is no default value for the config entry.
 * `get(key: String, default: String)` method will ignore the `defaultValue` of 
its `ConfigEntry`, and return the given param `default` if unset. 
 * `getOption(key: String)` method will return the `defaultValue` of its 
`ConfigEntry` if the config is not set.

 

An example:

This line makes sure the config is not set.
```
scala> spark.conf.unset("spark.sql.session.timeZone") 
```

The following code returns `Etc/UTC`, which doesn't throw any exception.
```
scala> spark.conf.get("spark.sql.session.timeZone") 
res2: String = "Etc/UTC"
```

The following code returns `Europe/Berlin`, ignoring the default value. 
However, the documentation only says it returns the value, without mentioning 
ignoring the default value of the entry when the config is not explicitly set.
```
scala> spark.conf.get("spark.sql.session.timeZone", "Europe/Berlin") 
res3: String = "Europe/Berlin"
```

The incorrect documentation is likely to mislead users to weird behaviours if 
they rely on the documentation.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org

Reply via email to