@@ -246,7 +246,7 @@ public void run(String[] args) throws IOException {
246246
247247 List <Future > futs = new ArrayList <>();
248248
249- // create optout cloud sync verticle
249+ // create optout cloud sync verticle (reads from optout_s3_folder)
250250 OptOutCloudSync cs = new OptOutCloudSync (this .config , true );
251251 CloudSyncVerticle cloudSyncVerticle = new CloudSyncVerticle ("optout" , this .fsOptOut , this .fsLocal , cs , this .config );
252252
@@ -268,8 +268,21 @@ public void run(String[] args) throws IOException {
268268 OptOutLogProducer logProducer = new OptOutLogProducer (this .config , eventUpload , eventUpload );
269269 futs .add (this .deploySingleInstance (logProducer ));
270270
271+ // create cloud sync for legacy producer uploads
272+ // if optout_legacy_producer_s3_folder is set, old producer writes to that folder instead of optout_s3_folder
273+ String legacyFolder = this .config .getString (Const .Config .OptOutLegacyProducerS3FolderProp );
274+ OptOutCloudSync legacyProducerCs ;
275+ if (legacyFolder != null ) {
276+ JsonObject legacyConfig = new JsonObject ().mergeIn (this .config )
277+ .put (Const .Config .OptOutS3FolderProp , legacyFolder );
278+ legacyProducerCs = new OptOutCloudSync (legacyConfig , true );
279+ LOGGER .info ("legacy producer will write to separate folder: {}" , legacyFolder );
280+ } else {
281+ legacyProducerCs = cs ;
282+ }
283+
271284 // upload last delta produced and potentially not uploaded yet
272- futs .add ((this .uploadLastDelta (cs , logProducer , cloudSyncVerticle .eventUpload (), cloudSyncVerticle .eventRefresh ())));
285+ futs .add ((this .uploadLastDelta (legacyProducerCs , logProducer , cloudSyncVerticle .eventUpload (), cloudSyncVerticle .eventRefresh ())));
273286 }
274287
275288 // deploy sqs producer if enabled
0 commit comments