summaryrefslogtreecommitdiffstats
path: root/java/com/google/gerrit/server/events/StreamEventsApiListener.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/google/gerrit/server/events/StreamEventsApiListener.java')
-rw-r--r--java/com/google/gerrit/server/events/StreamEventsApiListener.java18
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) {