diff options
Diffstat (limited to 'java/com/google/gerrit/server/events/StreamEventsApiListener.java')
-rw-r--r-- | java/com/google/gerrit/server/events/StreamEventsApiListener.java | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/java/com/google/gerrit/server/events/StreamEventsApiListener.java b/java/com/google/gerrit/server/events/StreamEventsApiListener.java index 272c835c0b..413269a6fa 100644 --- a/java/com/google/gerrit/server/events/StreamEventsApiListener.java +++ b/java/com/google/gerrit/server/events/StreamEventsApiListener.java @@ -441,14 +441,18 @@ public class StreamEventsApiListener @Override public void onChangeMerged(ChangeMergedListener.Event ev) { try { - ChangeNotes notes = getNotes(ev.getChange()); - Change change = notes.getChange(); - ChangeMergedEvent event = new ChangeMergedEvent(change); + ChangeMergedEvent event; + Change change; + try (ReadonlyRequestWindow window = PerThreadCache.openReadonlyRequestWindow()) { + ChangeNotes notes = getNotes(ev.getChange()); + change = notes.getChange(); + event = new ChangeMergedEvent(change); - event.change = changeAttributeSupplier(change, notes); - event.submitter = accountAttributeSupplier(ev.getWho()); - event.patchSet = patchSetAttributeSupplier(change, psUtil.current(db.get(), notes)); - event.newRev = ev.getNewRevisionId(); + event.change = changeAttributeSupplier(change, notes); + event.submitter = accountAttributeSupplier(ev.getWho()); + event.patchSet = patchSetAttributeSupplier(change, psUtil.current(db.get(), notes)); + event.newRev = ev.getNewRevisionId(); + } dispatcher.run(d -> d.postEvent(change, event)); } catch (OrmException e) { |