Skip to content

Commit 4b4539d

Browse files
committed
Additional changes to handle alarm (Kafka) client errors
1 parent 023ac3f commit 4b4539d

File tree

10 files changed

+394
-369
lines changed

10 files changed

+394
-369
lines changed

app/alarm/datasource/src/main/java/org/phoebus/pv/alarm/AlarmContext.java

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -116,11 +116,14 @@ public static synchronized void acknowledgePV(AlarmPV alarmPV, boolean ack)
116116
}
117117
if (node != null)
118118
{
119-
try {
120-
alarmModels.get(alarmPV.getInfo().getRoot()).acknowledge(node, ack);
121-
} catch (Exception e) {
122-
logger.log(Level.WARNING, "Failed to acknowledge alarm", e);
123-
}
119+
AlarmTreeItem<?> alarmClientNode = node;
120+
JobManager.schedule("Acknowledge/unacknowledge alarm", monitor -> {
121+
try {
122+
alarmModels.get(alarmPV.getInfo().getRoot()).acknowledge(alarmClientNode, ack);
123+
} catch (Exception e) {
124+
logger.log(Level.WARNING, "Failed to acknowledge alarm", e);
125+
}
126+
});
124127
}
125128
}
126129
}
@@ -153,8 +156,14 @@ public static synchronized void enablePV(AlarmPV alarmPV, boolean enable)
153156
for (AlarmClientLeaf pv : pvs)
154157
{
155158
final AlarmClientLeaf copy = pv.createDetachedCopy();
156-
if (copy.setEnabled(enable))
157-
alarmModels.get(alarmPV.getInfo().getRoot()).sendItemConfigurationUpdate(pv.getPathName(), copy);
159+
if (copy.setEnabled(enable)){
160+
try {
161+
alarmModels.get(alarmPV.getInfo().getRoot()).sendItemConfigurationUpdate(pv.getPathName(), copy);
162+
} catch (Exception e) {
163+
logger.log(Level.WARNING, "Failed to send item configuration update to " + alarmPV.getInfo().getRoot(), e);
164+
throw e;
165+
}
166+
}
158167
}
159168
});
160169
}

app/alarm/model/src/main/java/org/phoebus/applications/alarm/AlarmSystem.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,8 @@ public class AlarmSystem extends AlarmSystemConstants
118118
/** "Disable until.." shortcuts */
119119
@Preference public static String[] shelving_options;
120120

121+
@Preference public static int max_block_ms;
122+
121123
/** Macros used in UI display/command/web links */
122124
public static MacroValueProvider macros;
123125

0 commit comments

Comments
 (0)