From 8f0a096dd2ab7b72b7269a8b65626304e7a6c437 Mon Sep 17 00:00:00 2001 From: martinsumner Date: Sat, 14 Jan 2017 20:57:43 +0000 Subject: [PATCH] More work on timeout --- src/leveled_manifest.erl | 7 +++++-- src/leveled_penciller.erl | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/leveled_manifest.erl b/src/leveled_manifest.erl index d308cbc..cd6fc12 100644 --- a/src/leveled_manifest.erl +++ b/src/leveled_manifest.erl @@ -265,7 +265,9 @@ mergefile_selector(Manifest, Level) -> end_key = LastKey}. add_snapshot(Manifest, Pid, Timeout) -> - SnapEntry = {Pid, Manifest#manifest.manifest_sqn, Timeout}, + {MegaNow, SecNow, _} = os:timestamp(), + TimeToTimeout = MegaNow * 1000000 + SecNow + Timeout, + SnapEntry = {Pid, Manifest#manifest.manifest_sqn, TimeToTimeout}, SnapList0 = [SnapEntry|Manifest#manifest.snapshots], MinDelSQN = min(Manifest#manifest.delete_sqn, Manifest#manifest.manifest_sqn), Manifest#manifest{snapshots = SnapList0, delete_sqn = MinDelSQN}. @@ -292,9 +294,10 @@ ready_to_delete(Manifest, Filename) -> {P, infinity} -> {false, P}; {P, DeleteSQN} -> + {MegaNow, SecNow, _} = os:timestamp(), {ready_to_delete(Manifest#manifest.snapshots, DeleteSQN, - os:timestamp()), + MegaNow * 1000000 + SecNow), P} end. diff --git a/src/leveled_penciller.erl b/src/leveled_penciller.erl index a9f9520..a0fe4cb 100644 --- a/src/leveled_penciller.erl +++ b/src/leveled_penciller.erl @@ -212,7 +212,7 @@ -define(COIN_SIDECOUNT, 5). -define(SLOW_FETCH, 20000). -define(ITERATOR_SCANWIDTH, 4). --define(SNAPSHOT_TIMEOUT, 3600 * 1000). +-define(SNAPSHOT_TIMEOUT, 3600). -record(state, {manifest, % a manifest record from the leveled_manifest module persisted_sqn = 0 :: integer(), % The highest SQN persisted