XiDuo You created SPARK-59168:
---------------------------------

             Summary: Avoid NoSuchElementException on missing keys in KVStore 
reads and writes
                 Key: SPARK-59168
                 URL: https://issues.apache.org/jira/browse/SPARK-59168
             Project: Spark
          Issue Type: Improvement
          Components: Spark Core
    Affects Versions: 5.0.0
            Reporter: XiDuo You


RocksDB.get and LevelDB.get throw NoSuchElementException for a missing key, and 
callers that treat a missing key as normal (getMetadata, the store constructor 
reading type aliases, and updateBatch probing for an existing entry) catch it. 
updateBatch does this probe on every write, and most writes during an event log 
rebuild are new entries, so each of those writes pays the cost of throwing and 
filling in an exception stack trace.

Make get return null for a missing key and let the callers check for null 
directly. read keeps throwing NoSuchElementException to preserve the KVStore 
contract.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to