Add an option to make bucket notifications synchronous (#17406)

With the current asynchronous behaviour in sending notification events
to the targets, we can't provide guaranteed delivery as the systems
might go for restarts.

For such event-driven use-cases, we can provide an option to enable
synchronous events where the APIs wait until the event is successfully
sent or persisted.

This commit adds 'MINIO_API_SYNC_EVENTS' env which when set to 'on'
will enable sending/persisting events to targets synchronously.
This commit is contained in:
Praveen raj Mani
2023-06-21 06:08:59 +05:30
committed by GitHub
parent 02c2ec3027
commit 7c72b25ef0
8 changed files with 74 additions and 60 deletions

View File

@@ -249,7 +249,7 @@ func TestTargetListSend(t *testing.T) {
for i, testCase := range testCases {
testCase.targetList.Send(Event{}, map[TargetID]struct{}{
testCase.targetID: {},
}, resCh)
}, resCh, false)
res := <-resCh
expectErr := (res.Err != nil)