diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterFactory.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterFactory.java index 30b015368d3..0518bd22d59 100644 --- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterFactory.java +++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterFactory.java @@ -1017,15 +1017,16 @@ public List getInterpreters(String noteId) { public List getInterpreterSettings(String noteId) { List interpreterSettingIds = getNoteInterpreterSettingBinding(noteId); LinkedList settings = new LinkedList<>(); - synchronized (interpreterSettingIds) { - for (String id : interpreterSettingIds) { - InterpreterSetting setting = get(id); - if (setting == null) { - // interpreter setting is removed from factory. remove id from here, too - interpreterSettingIds.remove(id); - } else { - settings.add(setting); - } + + Iterator iter = interpreterSettingIds.iterator(); + while (iter.hasNext()) { + String id = iter.next(); + InterpreterSetting setting = get(id); + if (setting == null) { + // interpreter setting is removed from factory. remove id from here, too + iter.remove(); + } else { + settings.add(setting); } } return settings;