@@ -91,7 +91,7 @@ func Init(ctx context.Context, m *gorpmapper.Mapper, store cache.Store, db *gorp
91
91
if ! is {
92
92
return nil , sdk .WithStack (fmt .Errorf ("redis driver is not a buffer unit driver" ))
93
93
}
94
- bd .New (gorts , 1 , math .MaxFloat64 )
94
+ bd .New (gorts , AbstractUnitConfig { syncBandwidth : math .MaxFloat64 , syncParrallel : 1 } )
95
95
if err := bd .Init (ctx , bu .Redis , bu .BufferType ); err != nil {
96
96
return nil , err
97
97
}
@@ -106,7 +106,7 @@ func Init(ctx context.Context, m *gorpmapper.Mapper, store cache.Store, db *gorp
106
106
if ! is {
107
107
return nil , sdk .WithStack (fmt .Errorf ("local driver is not a buffer unit driver" ))
108
108
}
109
- bd .New (gorts , 1 , math .MaxFloat64 )
109
+ bd .New (gorts , AbstractUnitConfig { syncBandwidth : math .MaxFloat64 , syncParrallel : 1 } )
110
110
if err := bd .Init (ctx , bu .Local , bu .BufferType ); err != nil {
111
111
return nil , err
112
112
}
@@ -121,7 +121,7 @@ func Init(ctx context.Context, m *gorpmapper.Mapper, store cache.Store, db *gorp
121
121
if ! is {
122
122
return nil , sdk .WithStack (fmt .Errorf ("nfs buffer driver is not a buffer unit driver" ))
123
123
}
124
- bd .New (gorts , 1 , math .MaxFloat64 )
124
+ bd .New (gorts , AbstractUnitConfig { syncBandwidth : math .MaxFloat64 , syncParrallel : 1 } )
125
125
if err := bd .Init (ctx , bu .Nfs , bu .BufferType ); err != nil {
126
126
return nil , err
127
127
}
@@ -175,7 +175,7 @@ func Init(ctx context.Context, m *gorpmapper.Mapper, store cache.Store, db *gorp
175
175
if ! is {
176
176
return nil , sdk .WithStack (fmt .Errorf ("cds driver is not a storage unit driver" ))
177
177
}
178
- sd .New (gorts , cfg . SyncParallel , float64 (cfg .SyncBandwidth )* 1024 * 1024 ) // convert from MBytes to Bytes
178
+ sd .New (gorts , AbstractUnitConfig { syncBandwidth : float64 (cfg .SyncBandwidth ) * 1024 * 1024 , syncParrallel : cfg . SyncParallel , disableSync : cfg . DisableSync } ) // convert from MBytes to Bytes
179
179
180
180
if err := sd .Init (ctx , cfg .CDS ); err != nil {
181
181
return nil , err
@@ -191,7 +191,7 @@ func Init(ctx context.Context, m *gorpmapper.Mapper, store cache.Store, db *gorp
191
191
if ! is {
192
192
return nil , sdk .WithStack (fmt .Errorf ("local driver is not a storage unit driver" ))
193
193
}
194
- sd .New (gorts , cfg . SyncParallel , float64 (cfg .SyncBandwidth )* 1024 * 1024 ) // convert from MBytes to Bytes
194
+ sd .New (gorts , AbstractUnitConfig { syncBandwidth : float64 (cfg .SyncBandwidth ) * 1024 * 1024 , syncParrallel : cfg . SyncParallel , disableSync : cfg . DisableSync } ) // convert from MBytes to Bytes
195
195
196
196
if err := sd .Init (ctx , cfg .Local ); err != nil {
197
197
return nil , err
@@ -204,7 +204,7 @@ func Init(ctx context.Context, m *gorpmapper.Mapper, store cache.Store, db *gorp
204
204
if ! is {
205
205
return nil , sdk .WithStack (fmt .Errorf ("swift driver is not a storage unit driver" ))
206
206
}
207
- sd .New (gorts , cfg . SyncParallel , float64 (cfg .SyncBandwidth )* 1024 * 1024 ) // convert from MBytes to Bytes
207
+ sd .New (gorts , AbstractUnitConfig { syncBandwidth : float64 (cfg .SyncBandwidth ) * 1024 * 1024 , syncParrallel : cfg . SyncParallel , disableSync : cfg . DisableSync } ) // convert from MBytes to Bytes
208
208
209
209
if err := sd .Init (ctx , cfg .Swift ); err != nil {
210
210
return nil , err
@@ -217,7 +217,7 @@ func Init(ctx context.Context, m *gorpmapper.Mapper, store cache.Store, db *gorp
217
217
if ! is {
218
218
return nil , sdk .WithStack (fmt .Errorf ("webdav driver is not a storage unit driver" ))
219
219
}
220
- sd .New (gorts , cfg . SyncParallel , float64 (cfg .SyncBandwidth )* 1024 * 1024 ) // convert from MBytes to Bytes
220
+ sd .New (gorts , AbstractUnitConfig { syncBandwidth : float64 (cfg .SyncBandwidth ) * 1024 * 1024 , syncParrallel : cfg . SyncParallel , disableSync : cfg . DisableSync } ) // convert from MBytes to Bytes
221
221
222
222
if err := sd .Init (ctx , cfg .Webdav ); err != nil {
223
223
return nil , err
@@ -230,7 +230,7 @@ func Init(ctx context.Context, m *gorpmapper.Mapper, store cache.Store, db *gorp
230
230
if ! is {
231
231
return nil , sdk .WithStack (fmt .Errorf ("s3 driver is not a storage unit driver" ))
232
232
}
233
- sd .New (gorts , cfg . SyncParallel , float64 (cfg .SyncBandwidth )* 1024 * 1024 ) // convert from MBytes to Bytes
233
+ sd .New (gorts , AbstractUnitConfig { syncBandwidth : float64 (cfg .SyncBandwidth ) * 1024 * 1024 , syncParrallel : cfg . SyncParallel , disableSync : cfg . DisableSync } ) // convert from MBytes to Bytes
234
234
235
235
if err := sd .Init (ctx , cfg .S3 ); err != nil {
236
236
return nil , err
@@ -280,6 +280,9 @@ func (r *RunningStorageUnits) PushInSyncQueue(ctx context.Context, itemID string
280
280
return
281
281
}
282
282
for _ , sto := range r .Storages {
283
+ if ! sto .CanSync () {
284
+ continue
285
+ }
283
286
if err := r .cache .ScoredSetAdd (ctx , cache .Key (KeyBackendSync , sto .Name ()), itemID , float64 (created .Unix ())); err != nil {
284
287
log .Info (ctx , "storeLogs> cannot push item %s into scoredset for unit %s" , itemID , sto .Name ())
285
288
continue
@@ -290,6 +293,9 @@ func (r *RunningStorageUnits) PushInSyncQueue(ctx context.Context, itemID string
290
293
func (r * RunningStorageUnits ) Start (ctx context.Context , gorts * sdk.GoRoutines ) {
291
294
// Get Unknown items
292
295
for _ , s := range r .Storages {
296
+ if ! s .CanSync () {
297
+ continue
298
+ }
293
299
if err := r .FillWithUnknownItems (ctx , s , r .config .SyncNbElements ); err != nil {
294
300
log .Error (ctx , "Start> unable to get unknown items: %v" , err )
295
301
}
@@ -298,6 +304,9 @@ func (r *RunningStorageUnits) Start(ctx context.Context, gorts *sdk.GoRoutines)
298
304
// Start the sync processes
299
305
for i := range r .Storages {
300
306
s := r .Storages [i ]
307
+ if ! s .CanSync () {
308
+ continue
309
+ }
301
310
for x := 0 ; x < cap (s .SyncItemChannel ()); x ++ {
302
311
gorts .Run (ctx , fmt .Sprintf ("RunningStorageUnits.process.%s.%d" , s .Name (), x ),
303
312
func (ctx context.Context ) {
@@ -381,6 +390,9 @@ func (r *RunningStorageUnits) Start(ctx context.Context, gorts *sdk.GoRoutines)
381
390
wg := sync.WaitGroup {}
382
391
for i := range r .Storages {
383
392
s := r .Storages [i ]
393
+ if ! s .CanSync () {
394
+ continue
395
+ }
384
396
gorts .Exec (ctx , "RunningStorageUnits.run." + s .Name (),
385
397
func (ctx context.Context ) {
386
398
wg .Add (1 )
0 commit comments