kevinjmh opened a new pull request, #5144:
URL: https://github.com/apache/zeppelin/pull/5144
### What is this PR for?
Fix concurrent case throws java.nio.file.NoSuchFileException
#### Problem
When multiple interpreters download dependencies simultaneously during
startup or other cases, the saveToFile() method can be called concurrently by
multiple threads. This happens because loadInterpreterDependencies() spawns
asynchronous threads that call saveToFile() when dependency download completes.
#### Solution
Add synchronized keyword to InterpreterSettingManager.saveToFile() method to
ensure thread-safe file operations. This prevents multiple threads from writing
to the configuration file simultaneously.
#### Impact
- Startup: Multiple interpreters downloading dependencies will serialize
their save operations, ensuring data consistency
- Runtime: All file save operations (interpreter settings, repositories) are
protected from race conditions
- Performance: Minimal impact as file save operations are fast and
infrequent relative to dependency download time
### What type of PR is it?
Bug Fix
### Todos
* [ ] - Task
### What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-6394
### How should this be tested?
* Strongly recommended: add automated unit tests for any new or changed
behavior
* Outline any manual steps to test the PR here.
### Screenshots (if appropriate)
### Questions:
* Does the license files need to update?
* Is there breaking changes for older versions?
* Does this needs documentation?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]