From 97d6509cf85232d0cb2be671daade7328eafc00a Mon Sep 17 00:00:00 2001 From: Eric Liang Date: Wed, 29 Apr 2020 14:17:54 -0700 Subject: [PATCH] [rllib] Copy plasma memory before adding data to replay buffer --- rllib/optimizers/async_replay_optimizer.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rllib/optimizers/async_replay_optimizer.py b/rllib/optimizers/async_replay_optimizer.py index b1cd70430..460c475b6 100644 --- a/rllib/optimizers/async_replay_optimizer.py +++ b/rllib/optimizers/async_replay_optimizer.py @@ -323,6 +323,8 @@ class LocalReplayBuffer(ParallelIteratorWorker): return os.uname()[1] def add_batch(self, batch): + # Make a copy so the replay buffer doesn't pin plasma memory. + batch = batch.copy() # Handle everything as if multiagent if isinstance(batch, SampleBatch): batch = MultiAgentBatch({DEFAULT_POLICY_ID: batch}, batch.count)