Skip to content

Commit 292932b

Browse files
committed
polishing
1 parent 1062dc1 commit 292932b

File tree

3 files changed

+12
-12
lines changed

3 files changed

+12
-12
lines changed

splitio/client/factory.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -553,15 +553,15 @@ def _build_localhost_factory(cfg):
553553

554554
sdk_metadata = util.get_metadata(cfg)
555555
ready_event = threading.Event()
556-
synchronizer = LocalhostSynchronizer(synchronizers, tasks)
556+
synchronizer = LocalhostSynchronizer(synchronizers, tasks, localhost_mode)
557557
manager = Manager(ready_event, synchronizer, None, False, sdk_metadata, telemetry_runtime_producer)
558558

559559
# TODO: BUR is only applied for Localhost JSON mode, in future legacy and yaml will also use BUR
560560
if localhost_mode == LocalhostMode.JSON:
561561
initialization_thread = threading.Thread(target=manager.start, args = [_ON_DEMAND_FETCH_BACKOFF_MAX_RETRIES], name="SDKInitializer", daemon=True)
562562
initialization_thread.start()
563563
else:
564-
manager.start(1)
564+
manager.start()
565565

566566
recorder = StandardRecorder(
567567
ImpressionsManager(StrategyDebugMode(), telemetry_runtime_producer),

splitio/sync/synchronizer.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@
77

88
from splitio.api import APIException
99
from splitio.util.backoff import Backoff
10-
from splitio.sync.split import _ON_DEMAND_FETCH_BACKOFF_BASE, _ON_DEMAND_FETCH_BACKOFF_MAX_RETRIES, _ON_DEMAND_FETCH_BACKOFF_MAX_WAIT
11-
10+
from splitio.sync.split import _ON_DEMAND_FETCH_BACKOFF_BASE, _ON_DEMAND_FETCH_BACKOFF_MAX_RETRIES, _ON_DEMAND_FETCH_BACKOFF_MAX_WAIT, LocalhostMode
1211

1312
_LOGGER = logging.getLogger(__name__)
1413
_SYNC_ALL_NO_RETRIES = -1
@@ -492,7 +491,7 @@ def stop_periodic_fetching(self):
492491
class LocalhostSynchronizer(BaseSynchronizer):
493492
"""LocalhostSynchronizer."""
494493

495-
def __init__(self, split_synchronizers, split_tasks):
494+
def __init__(self, split_synchronizers, split_tasks, localhost_mode):
496495
"""
497496
Class constructor.
498497
@@ -503,6 +502,7 @@ def __init__(self, split_synchronizers, split_tasks):
503502
"""
504503
self._split_synchronizers = split_synchronizers
505504
self._split_tasks = split_tasks
505+
self._localhost_mode = localhost_mode
506506
self._backoff = Backoff(
507507
_ON_DEMAND_FETCH_BACKOFF_BASE,
508508
_ON_DEMAND_FETCH_BACKOFF_MAX_WAIT)
@@ -511,6 +511,10 @@ def sync_all(self, till=None):
511511
"""
512512
Synchronize all splits.
513513
"""
514+
# TODO: to be removed when legacy and yaml use BUR
515+
if self._localhost_mode != LocalhostMode.JSON:
516+
return self.synchronize_splits()
517+
514518
self._backoff.reset()
515519
remaining_attempts = _ON_DEMAND_FETCH_BACKOFF_MAX_RETRIES if till == None else till
516520
while remaining_attempts > 0:
@@ -521,10 +525,6 @@ def sync_all(self, till=None):
521525
_LOGGER.error('Failed syncing all')
522526
_LOGGER.error(str(exc))
523527

524-
# TODO: to be removed when legacy use BUR
525-
if till == 1: # Legacy mode
526-
raise Exception("Failed to fetch Splits")
527-
528528
how_long = self._backoff.get()
529529
time.sleep(how_long)
530530

tests/sync/test_synchronizer.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from splitio.tasks.segment_sync import SegmentSynchronizationTask
1010
from splitio.tasks.impressions_sync import ImpressionsSyncTask, ImpressionsCountSyncTask
1111
from splitio.tasks.events_sync import EventsSyncTask
12-
from splitio.sync.split import SplitSynchronizer, LocalSplitSynchronizer
12+
from splitio.sync.split import SplitSynchronizer, LocalSplitSynchronizer, LocalhostMode
1313
from splitio.sync.segment import SegmentSynchronizer, LocalSegmentSynchronizer
1414
from splitio.sync.impression import ImpressionSynchronizer, ImpressionsCountSynchronizer
1515
from splitio.sync.event import EventSynchronizer
@@ -349,7 +349,7 @@ def test_synchronize_splits(self, mocker):
349349
split_sync = LocalSplitSynchronizer(mocker.Mock(), mocker.Mock(), mocker.Mock())
350350
segment_sync = LocalSegmentSynchronizer(mocker.Mock(), mocker.Mock(), mocker.Mock())
351351
synchronizers = SplitSynchronizers(split_sync, segment_sync, None, None, None)
352-
local_synchronizer = LocalhostSynchronizer(synchronizers, mocker.Mock())
352+
local_synchronizer = LocalhostSynchronizer(synchronizers, mocker.Mock(), mocker.Mock())
353353

354354
def synchronize_splits(*args, **kwargs):
355355
return ["segmentA", "segmentB"]
@@ -390,7 +390,7 @@ def segment_task_stop(*args, **kwargs):
390390
self.segment_task_stop_called = True
391391
segment_task.stop = segment_task_stop
392392

393-
local_synchronizer = LocalhostSynchronizer(synchronizers, tasks)
393+
local_synchronizer = LocalhostSynchronizer(synchronizers, tasks, LocalhostMode.JSON)
394394
local_synchronizer.start_periodic_fetching()
395395
assert(self.split_task_start_called)
396396
assert(self.segment_task_start_called)

0 commit comments

Comments
 (0)