syncbase/vsync: Make syncgroup publishing asynchronous with its
creation.
Fixes https://github.com/vanadium/issues/issues/1326
Change-Id: I31743b0232f28b66d308364ed199d49f43010138
diff --git a/services/syncbase/vsync/syncgroup.go b/services/syncbase/vsync/syncgroup.go
index 50256f3..847bf40 100644
--- a/services/syncbase/vsync/syncgroup.go
+++ b/services/syncbase/vsync/syncgroup.go
@@ -737,9 +737,11 @@
// Local SG create succeeded. Publish the SG at the chosen server, or if
// that fails, enqueue it for later publish retries.
if spec.PublishSyncbaseName != "" {
- if err := sd.publishSyncgroup(ctx, call, sgId, spec.PublishSyncbaseName); err != nil {
- ss.enqueuePublishSyncgroup(sgId, dbId, true)
- }
+ go func() {
+ if err := sd.publishSyncgroup(ctx, call, sgId, spec.PublishSyncbaseName); err != nil {
+ ss.enqueuePublishSyncgroup(sgId, dbId, true)
+ }
+ }()
}
return nil