Releases: mirage/index
1.6.2
1.6.1
CHANGES:
Added
- Support all version of cmdliner (#386)
Fixed
- Make
index-bench
'sbench
executable private, avoiding executable
name collisions in opam-monorepo projects. (#389, @NathanReb)
1.6.0
1.5.0
1.4.2
1.3.3
1.4.1
CHANGES:
Fixed
-
Proper cleaning of merge file descriptors when aborting a merge (#326)
-
Recover from crash of the merge thread. When this happen, the main thread can
continue to run and will need to recover from the crash before doing a new
merge. This fixes a critical issue which might cause data loss (#339) -
Make sure that no entries can disappear for read-only instances during
log_async recovery (#338)
1.3.2
CHANGES:
Fixed
-
Recover from crash of the merge thread. When this happen, the main thread can
continue to run and will need to recover from the crash before doing a new
merge. This fixes a critical issue which might cause data loss (#339) -
Make sure that no entries can disappear for read-only instances during
log_async recovery (#338)
1.4.0
CHANGES:
Fixed
-
Fixed a crash-consistency bug due to a potential flush of an incomplete entry
to disk. Entries are now flushed as complete strings. (#301) -
Fixed a performance issue for
Index.sync
when there is a blocking merge in
progress: thelog_async
file was not cached properly and fully reloaded
from disk every time. (#310) -
Added fsync after
Index.clear
to signal more quickly to read-only instances
than something has changed in the file (#308) -
Attempt to recover from
log_async
invariant violations during an explicit
sync operation, rather than failing immediately. (#329)
Changed
-
Release overly defensive warnings occuring when pre-fetching the disk. (#322)
-
Specialise
IO.v
to create read-only or read-write instances. (#291) -
Optimised the in-memory representation of index handles and intermediate
buffers, resulting in a significant reduction in memory use. (#273, #279) -
Benches are now executed 3 times and a new option
nb-exec
has been added (#292) -
clear
removes the files on disks and opens new ones containing only the
header. (#288) -
Index.Make
now requires an implementation of a monotonic time source.
(#321) -
The
Index.Make
functor now takes a singlePlatform
argument containing
all system dependencies (i.e.IO
,Clock
,Semaphore
andThread
). The
Platform
module holds the necessary types for these modules. (#321, #330)
Added
-
Added benchmarks that replay a trace of index operations. (#300)
-
Log reporter for the benches
1.3.1
CHANGES:
Fixed
-
Protect concurrent syncs with a lock (#309)
-
Fixed a performance issue for
Index.sync
when there is a blocking merge in
progress: thelog_async
file was not cached properly and fully reloaded
from disk every time. (#310) -
Release the merge lock if a merge raises an exception (#312)
-
Added fsync after
Index.clear
to signal more quickly to read-only instances
than something has changed in the file (#308)