summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Jay Doane [Thu, 21 Feb 2019 22:53:32 +0000 (14:53 -0800)]
Merge pull request #9 from cloudant/time-unit-parameterization
Time unit parameterization
Jay Doane [Thu, 21 Feb 2019 03:49:21 +0000 (19:49 -0800)]
Remove unnecessary modules application property
Jay Doane [Thu, 21 Feb 2019 03:48:29 +0000 (19:48 -0800)]
Change ctime to strict monotonic time
Jay Doane [Sun, 23 Dec 2018 04:45:17 +0000 (20:45 -0800)]
Parameterize time unit
Previously, time values took the form {MegaSec, Sec, MicroSec}, and
erlang:now/0 was used to guarantee strict monotonic uniqueness for
access time. With the deprecation of erlang:now/0, tuples of the form
{time_value, unique_monotonic_integer} now guarantee uniqueness of
access time. By default, the time unit for internal comparison remains
'millisecond', although it can now be optionally parameterized by any
time unit supported by erlang:monotonic_time/1.
Jay Doane [Sun, 23 Dec 2018 02:04:11 +0000 (18:04 -0800)]
Drop support for Erlang versions pre OTP 19
Jay Doane [Sun, 23 Dec 2018 02:00:41 +0000 (18:00 -0800)]
Remove unnecessary export_all
Joan Touzet [Fri, 20 Oct 2017 20:22:28 +0000 (16:22 -0400)]
Ignore build artefacts
Eric Avdey [Fri, 1 Sep 2017 14:17:38 +0000 (11:17 -0300)]
Remove unused var in tests
Paul J. Davis [Thu, 13 Jul 2017 16:34:20 +0000 (11:34 -0500)]
Merge branch '670-fix-flaky-test'
Paul J. Davis [Thu, 13 Jul 2017 16:24:45 +0000 (11:24 -0500)]
Fix flaky tests
The bad options test had a race condition between the process exit and
the unregistering of the name. If the unregister didn't happen quickly
enough then the next bad options test would break with an
already_started error.
Fixes apache/couchdb#670
Joan Touzet [Fri, 2 Jun 2017 20:30:56 +0000 (16:30 -0400)]
Merge branch '559-disable-ddoc-cache'
Joan Touzet [Fri, 2 Jun 2017 07:09:13 +0000 (03:09 -0400)]
Allow an ets_lru to be completely disabled
Nick Vatamaniuc [Wed, 7 Oct 2015 17:09:33 +0000 (13:09 -0400)]
Fix flaky limits test.
In the limits test we check statistics with ets:info right after
eviction. Sometimes ets:info does not update immediately.
On first failure, delay for 1ms, then try again.
Alexander Shorin [Fri, 24 Jul 2015 02:49:38 +0000 (05:49 +0300)]
Integrate with Travis CI
Alexander Shorin [Fri, 24 Jul 2015 02:49:21 +0000 (05:49 +0300)]
Add Makefile
Eric Avdey [Thu, 30 Apr 2015 12:16:19 +0000 (09:16 -0300)]
Migrate the tests from etap to eunit
All the etap tests converted to eunit. The tests for the validating
of the correct handeling of the bad options for LRU are re-enabled.
This work is a part of COUCHDB-2590.
Robert Kowalski [Sat, 14 Mar 2015 19:01:02 +0000 (20:01 +0100)]
add license file
Brian Mitchell [Fri, 6 Dec 2013 16:07:09 +0000 (11:07 -0500)]
Allow direct access when using a registered process
The match_object API currently takes both atoms and pids.
This change allows the atom case to skip a synchronous call
to the gen_server state. The old path remains to allow pids
to continue to work through the old call path since it
can't easily infer the lru objects table name.
BugzId: 26105
Robert Newson [Fri, 22 Nov 2013 16:38:15 +0000 (16:38 +0000)]
set module version to 1
Brian Mitchell [Tue, 15 Oct 2013 14:04:09 +0000 (10:04 -0400)]
Add new match and match_object functions
Brian Mitchell [Tue, 15 Oct 2013 14:02:55 +0000 (10:02 -0400)]
Fix a bug related to the change in
5aab9df
Paul J. Davis [Tue, 11 Feb 2014 07:54:01 +0000 (01:54 -0600)]
Add license headers
Robert Newson [Wed, 18 Dec 2013 14:04:59 +0000 (14:04 +0000)]
Build with rebar
Robert Newson [Thu, 13 Jun 2013 12:42:11 +0000 (13:42 +0100)]
Fix up copyright headers
Paul J. Davis [Tue, 5 Mar 2013 23:03:02 +0000 (17:03 -0600)]
New build system for ets_lru
Paul J. Davis [Wed, 20 Mar 2013 10:04:53 +0000 (05:04 -0500)]
Remove Cloudant build system remnants
Paul J. Davis [Wed, 23 Jan 2013 22:04:05 +0000 (16:04 -0600)]
Don't confuse argument ordering
Paul J. Davis [Fri, 28 Dec 2012 08:14:00 +0000 (02:14 -0600)]
Refactor ets_lru into a gen_server
The max_lifetime eviction made me realize this really does need to be an
active process model. This is written as a gen_server with the intention
that it'll be inserted into the supervision tree appropriately by
applications that use it.
Paul J. Davis [Mon, 24 Dec 2012 19:13:11 +0000 (13:13 -0600)]
Just use ETap
PropEr is fun and all but its super hard to debug failing tests and its
really not buying me that much in this case because I'm not really using
its generators for anything. ETap is good enough here.
Paul J. Davis [Tue, 18 Dec 2012 08:56:03 +0000 (02:56 -0600)]
Some PropEr tests
These are only semi-thorough but I'm resanobly confident that the LRU
works as advertised. I still need to go through and add tests for lease expirations though.
Paul J. Davis [Tue, 18 Dec 2012 05:25:30 +0000 (23:25 -0600)]
Initial import