v0.0.7 (2022-04-05)
- journal: make the testsuite compile with new bytebuffer changes (8571fd5)
- sut: Add missing port to places (ff056ac)
- sut: another off by one bug with indexes in the state machine (ea410f7)
- sut: Better from/to in Dumblog debug-file (856e03a)
- sut: Make dumblog compile after faulty merge (447c43f)
- sut: remove another +1 on index (b85a147)
- sut: remove +1 from backup (61162f5)
- sut: correlate requests and responses with key (2e7c365)
- new-debugger: Always add spacing for messages (580a3cf)
- sut: Make dumblog warning-free (8883f40)
- journal: add sleep to avoid spin loop on macos (9c274b0)
- journal: Add
threadDelay
to fix maxos issue (0ee9632) - journal: make streaming blocking read work (51c1c06)
- sut: change back snapshot threadshold (c1d01fe)
- sut: change back iterations and clients (633d1a4)
- sut: workaround for rowid starting at 1 in SQLite (41f7dea)
- sut: make the zero-copy variant work by blocking cleaning (5b7895e)
- sut: avoid crashing metrics if metadata file gets removed (4e41132)
- sut: try to fix latency (309f72b)
- sut: make it more clear that fromBS is a hack (8f8c949)
- sut: more accurate throughput (a7f48cf)
- sut: Dumblog should still replay from beginning if no snapshot exists (80ab149)
- sut: increase wake up retries (ec14931)
- sut: the unit for service time was wrong. (25e229b)
- sut: total number of ops should be iterations * num of clients (368a714)
- sut: Update dumblog with the new changes to bytesConsumed (7bd7167)
- sut: make the benchmark for zero copy variant work (aab9e8e)
- sut: return 404 when reading from unwritten index in zero copy (ef13ec5)
- journal: make cleaning thread safe by changing read (d371ebc)
- journal: make dump journal not crash if body length isn't positive (59e143d)
- sut: down throw errors in http client (9c59a0a)
- sut: make it easier to parse the appended index in journal variant (db06cfa)
- journal: fallocate metrics file if it doesn't exist (50155c0)
- sut: remove *_ versions of read and write in http client (81e4929)
- sut: add missing overloaded strings extension (26760e0)
- journal: retry read on empty tag (8906236)
- journal: block read on negative length (fd08085)
- journal: don't filter invalid sequential programs when shrinking concurrent ones (f709f30)
- journal: return nothing in read if padding len is negative (a727860)
- journal: make hard limit more precise (2602030)
- journal: fix two bugs in the model (5221e40)
- journal: change back to returning admin action in tryClaim (efa6158)
- journal: Fix CAS for 64-bits (c4532de)
- journal: change admin action to rotation (0b33e58)
- journal: take slice into account for cas ops (994dd36)
- journal: previous commit was not quite right (0cac51d)
- journal: initialise all partitions with the initial term (97a86cb)
- journal: make read return nothing if length isn't positive (72e4e0e)
- journal: remove hardLimit and increment of term count (5e59157)
- journal: allocate journal should fallocate if file is empty (991eea8)
- journal: sometimes there's no padding (e4652ea)
- journal: pre-condition was wrong and filtered out big appends (9518904)
- journal: calculation of journal length was using wrong alignment (01cc50f)
- journal: add frame alignment (2653ac3)
- journal: use > rather than >= in rotation condition. (bc87e55)
- journal: check for backpressure before rotation (30ef619)
- journal: include padding in model (1f22f3b)
- journal: in the model backpressure check if position is below the limit (40f9d97)
- journal: unread bytes function didn't account for headers (764dbb2)
- sut: Dumblog, didn't check
wakeUp
everywhere (2843a75) - journal: padding should reset accumulator when padding is added (512d1d7)
- journal: account for padding in the model (6b4d249)
- journal: relative read offset depends on the read term count (3e3adba)
- journal: use position instead of term offset in read (883210b)
- journal: Asserts in tests failed to compile with previous assert changes (34cb231)
- journal: set initial term count to the same value as initial term id (9bc7e7a)
- journal: Fix metrics histogram since bytebuffer fixes broke it (2df6924)
- journal: Use slice in
fetchAddIntArray{_}
(171bbd4) - bytebuffer:
wrapPart
don't use offset in the limit (eeac2d1) - journal: Metadata needs more space (76e3bbd)
- bytebuffer:
mmapped
should report correct size (1842213) - journal: appendBS should append the bytestring after the header (4e24eca)
- journal: commit should write header at position zero (c31cb31)
- journal: writeWord32OffAddr didn't account for slice (e34159a)
- journal: account for slice in more places (085e4fa)
- journal: write body after header (instead of over) (9ce2980)
- journal: check minBounds when casting (87dde3b)
- journal: copyBytes takes destination as first argument (4b93867)
- journal: take slice into account when indexing (82dc085)
- go: bump some deps (5369ed1)
- course: generate readme from lhs files (8137a23)
- course: add lhs files for the lectures (462ce66)
- add link to Riak simulation testing (b27a6f5)
- journal: update date and minor tweaks (fdfc1a7)
- journal: add note about simulation testing workshop/mini course (476462c)
- journal: make slides more consise and fix typos (326ed05)
- journal: tweak slides (02d971b)
- journal: add more to demo script (e2eff5c)
- journal: add slide about t-test and more data for 512 case (df5de3f)
- journal: add benchmark graph to slides (38f30c3)
- journal: tweak slides (b5cf732)
- journal: tweak metric slide, move zero-copy read to future future work (fa0b5cf)
- journal: remove bullet point about Little's law from slide (da35c59)
- journal: add more slides for journal presentation (bd62665)
- mini-course: add more on simulation (0957fc6)
- remove diagram that was accidently added (a1a7226)
- course: add regression test section (c9577ac)
- course: add motivation for each chapter (37408a3)
- course: add goals, pre-requsites and some more content (da54e89)
- course: update example to match network type (3fc2cea)
- course: add a few more additions to plain state machine testing (116ea80)
- course: Add more ideas (5985b0a)
- course: add comment about connect all nodes to each other (45bdf87)
- course: remove connect from network interface (26af5c6)
- course: add preliminary table of content (547934c)
- journal: add first draft of journal demo slides (9b87f82)
- new-debugger: Align columns in the event table (e343591)
- new-debugger: Make Output look a little nicer (3ab6837)
- new-debugger: Add timestamps to debugger (d41d8d6)
- sut: Dumblog, don't reset peer list when triggering bug (36475f1)
- sut: Remove spoiler in dumblog-demo (6ceb73b)
- sut: Add simple
connect.sh
script to connect main and backup dumblog (417c7e1) - new-debugger: Add scrolling to the new sequence-diagram (7b6ca0d)
- dumblog: fix debug-file support for internal-messages/admin (df8bb7e)
- sut: add backup and ack to http client (fbb323a)
- sut: parametrise paths by port (0f13e90)
- sut: more work towards being able to run multiple dumblogs (06827f2)
- sut: add peer port to state (cbfa699)
- new-debugger: Display the sequence diagram in the debugger (dd1200f)
- new-debugger: Generate sequence diagram from the debug-file (18d0c68)
- new-debugger: Add module for displaying sequence diagrams (5bd367e)
- sut: add internal message support to frontend (06369ab)
- sut: first step towards supporting internal messages in dumblog (38f0e76)
- new-debugger: Display running version (dcea4ec)
- new-debugger: Use color in the state-diff (3030caa)
- sut: Make dumblog use
Show
for inputs (15d8688) - sut: Indent
Latency
label in the metrics app (1ea76b8) - sut: Make dumblog always print out what port it is running on (b34e32e)
- journal: Notify reader on write (fa8e94d)
- journal: inline some bytebuffer operations (2e50a5c)
- journal: wait for journal change (53b06f1)
- journal: add a streaming and blocking read (b949dd2)
- journal: add batching read (57ae88c)
- sut: make clients in benchmark always start with a write (a2a560a)
- sut: add benchmark scripts and tweak slides (459e249)
- sut: Dumblog add versions in the journal of which state-machine to run (a00ca8b)
- debugger: refresh ever half second instead of full second (05e9ba4)
- sut: update debug file only when journal changes (f751969)
- sut: add debug file watch (f1aa445)
- sut: make a copy of journal before creating debug file (8447a2d)
- debugger: add watch functionality for debug file (f4fbcaa)
- sut: Fix the (debug)state in dumblog (026e10a)
- sut: Make dumblog show sent messages (8b8f44d)
- sut: Add bug to dumblog, currently not active (706c631)
- sut: add metrics for sqlite variant (8746674)
- sut: add write size and metrics memory usage to metrics output (6d7fa72)
- sut: Add a
Logger
to dumblog (9084a00) - sut: add response time to metrics (14ab5e0)
- sut: remove sqlite db related files before running the benchmark (870301f)
- sut: make journal variant work with 400 clients by making the journal larger (3ade558)
- sut: try to add latency to metrics (still not working) (0512e62)
- sut: make zero copy variant deterministic (ff3afa8)
- sut: msync metadata and metrics (4221557)
- sut: add utilisation (not working yet) (98d9a89)
- sut: add queue depth and errors to metrics (53e8810)
- sut: add throughput to metrics (67ee633)
- sut: split up service time into reads and writes (32448e1)
- sut: Make dumblog debug-file contain state changes (42baec7)
- sut: Make dumblog debug-file more informative (9db5e06)
- sut: add concurrent number of connections to metrics (afa21b5)
- sut: display journal metadata (bytes produced and consumed) (9fa26e2)
- sut: add metrics app that displays service time in real-time (d8c776e)
- sut: Update dumblog demo to use two subscribers (57c7c26)
- journal: Add support for a secondary subscriber (e620308)
- sut: Dumblog add generate debug file option (d8d0f7b)
- new-debugger: New debugger now reads input from a debug-file (c0bfb89)
- sut: check if rts stats are enabled (+RTS -T) (71b1ee6)
- sut: add memory stats to benchmarks (03dec2a)
- sut: use an unsafe way to get a bytestring, which doesn't copy (e285971)
- sut: make http client requests return a maybe (662e4c0)
- sut: remove journal before running benchmark (221dd14)
- sut: Dumblog zero-copy use sendfile package (2c8c057)
- journal: Persist bytesConsumed (fead270)
- sut: add benchmark for zero copy variant (41851b1)
- sut: finish zero copy dumblog variant (48e3431)
- sut: get sendfile working (42b3161)
- sut: use recv bytes from journal in zero copy variant (26889c2)
- sut: parse commands from reqs in "zero copy" dumblog (7b9fffc)
- sut: hide compilation of persistent db module behind flag (ef4e7c3)
- sut: use WAL in sqlite variant (348ec01)
- sut: add fullfsync flag in sqlite benchmark (7e931e1)
- journal: try to make clean up thread-safe (dcc4140)
- journal: implement buffer cleaning (fe7f86b)
- sut: add benchmark for journal based dumblog (5e7869d)
- sut: add benchmark for sqlite journal (954b4ea)
- sut: add common http client for dumblog (11cccee)
- sut: run skeleton modules for benchmarks (5f11e49)
- sut: add worker that works in batches (8a7a044)
- sut: implement main for sqlite dumblog (5bbc585)
- sut: add worker for sqlite dumblog (257b0f3)
- sut: add frontend for sqlite dumblog (a33365b)
- sut: add stylish-haskell config for dumblog (c36fd8b)
- sut: add db module for sqlite dumblog (2019aaa)
- journal: filter away empty concurrent chunks after shrinking (f513437)
- journal: add more resolution to bytes written classification (31b8132)
- journal: add stats about responses (db7e010)
- journal: try to account for rotation in MP case (6319115)
- journal: try to account for MP rotation case (fa61399)
- journal: add assert for concurrent programs (e0deca0)
- journal: more on concurrent property (07584dd)
- journal: add MP append, move MP read and restore old SP read (23c68df)
- journal: add multiple producer version of write side (854c705)
- sut: Add simple form of Snapshot to Dumblog (ec19499)
- sut: Dumblog should now re-use old journal and do replay (f499fd4)
- journal: try to make read thread-safe (f930f13)
- journal: only print one history when concurrent property fails (c0129b7)
- journal: take model intro account when generating and shrinking (3288617)
- journal: add type annotation (c37f975)
- journal: add shrinking for concurrent programs (9197858)
- journal: add concurrent testing property (8f9b759)
- journal: use ns for latencies rather than ms (cbb369b)
- sut: Dumblog should use the
nullLogger
(7d3954e) - journal: add latency classification in prop_journal (67ee333)
- journal: Add Logger interface to abstract logging (33ac322)
- journal: add new failing test (2b7f953)
- journal: collect stats about how many bytes have been written (da5ece2)
- journal: classify the length of the generated commands (fec41d9)
- sut: Dumblog get commands working (2df50b9)
- sut: Dumblog, interpret commands (f401518)
- sut: Dumblog Add Codec module (c1d892a)
- journal: separate rotation from backpressure during failing writes (942e97d)
- sut: Dumblog, Add way of communicating responses back to frontend (2f38e53)
- journal: debug problem of the relative position of reads (84e62a1)
- sut: Add New SUT called dumblog (337f018)
- journal: use new assert machinary (3a2812c)
- journal: add dumping of term buffers for debugging (6251bb4)
- journal: Add
getCounter
to Metrics (2c4a760) - journal: Add Assert module that can be controlled by cabal flag
SkipAssert
(34d3dbf) - journal: Model test
wrapPart
(a042c47) - journal:
boundCheck
should check lower bounds as well (879ca1c) - journal: narrow down test case further (9944198)
- journal: add smaller failing test (dc98b39)
- journal: add read for new journal type (d61e7a2)
- journal: reintroduce more of the happy path in the
tj
test (9933095) - mmap-go: Fix falloc darwin (629c817)
- mmap-go: make fallocate work on both linux and darwin (a7933c6)
- mmap+go: Add Falloc for mac in the go mmap experiment (850448b)
- journal: remove old bytebuffer implementation (4ccbdcd)
- journal: use init term id, buffer length and pos bits to shift from journal type (4ced244)
- sut: Split dumblog library to smaller libraries (acc2282)
- journal: don't clean the active term buffer (4989371)
- journal: remove iorefs from bytebuffer (bb525f8)
- sut: Remove the key from
Envelope
(f0193da) - new-debugger: Add missing type signature (75aa484)
- new-debugger: Remove the sequence diagram, move I/O to its place (989041b)
- sut: Use
initState
in bug for dumblog (15ac6ed) - sut: Move handling of versions so only one file need to be changed in demo (99c25e8)
- sut: use lazy bytestring instead of bytestring in journal variant (3fd6eaf)
- journal: add comment about boundCheck (ae9f3f0)
- journal: remove commented out code (7fe5287)
- journal: cache values that don't change when reading (0effab0)
- sut: shuffle worker loop around a bit (16f03d3)
- sut: Make dumblog-journal respond 404 on not found (57301dd)
- debugger: fix warnings and rename some panels in ui (dc39d84)
- debugger: remove unnecessary int in helper function (e1d351c)
- sut: move metrics to common directory (7e966ac)
- sut: share the timestamp between latency and service time measures (d5853f2)
- sut: Change the
Blocker
interface for dumblog (a38363b) - journal: Change order between
cleanPosition
andbytesConsumed
(4adbdc9) - sut: add some comments and small fixes (ef2b6c3)
- new-debugger: Split out the UI into own module (7ee4314)
- new-debugger: Move main to library (d8f04e3)
- sut: add -Wall and fix compiler warnings (56e2307)
- sut: clean up error handling (9741c1d)
- debugger: Remove files from runtime-prototype (a72056e)
- debugger: Move out the new debugger from runtime-prototype (61c9f8e)
- sut: move journaling dumblog app one directory down (9a84f89)
- sut: rename modules for journaling dumblog (e75fa02)
- journal: use run length encoding in model and responses (fb78c75)
- journal: remove use of slice (f5fa91b)
- journal: remove mmap dep, add random dep and initialise term id properly (8a0cffc)
- sut: Dumblog clean up cabal file dependencies (5430ba5)
- sut: Dumblog, prune module imports (4c47b49)
- sut: Dumblog add Worker module (4f7dfcd)
- sut: Dumblog Add StateMachine module (2606a56)
- sut: Dumblog add FrontEnd module (369925f)
- sut: Dumblog add Types module (34d382c)
- sut: Dumblog, refactor Metrics to own module (9395acf)
- journal: avoid Vector.cons and combine pad calculations (a85fd53)
- journal: Refactor Metrics size computation (10ca450)
- journal: generate run length encodings rather than bytestrings (d7391be)
- journal: remove old journal type and associated functions (3817116)
- journal: small fixes to bytebuffer tests (d3e1134)
- journal: ByteBuffer refactor the writes (e665e9a)
- sut: Remove old comments from dumblog (6de59fa)
- sut: Add failing test-case for Dumblog-test (4d1bd0f)
- journal: add new regression test (8680854)
- journal: add new regression test (e10ad66)
- journal: add a couple of more regression tests related to backpressure (5ec214a)
- journal: add more regression tests from counterexamples (ded0d2e)
- journal: add another counterexample (f50d6a1)
- journal: add new regression test (685019f)
- journal: add a few tests around cas (afde1ea)
- journal: Make journal model be non-determ (f05eab4)
- journal: Add property test testing the linearisable function (09638d1)
- journal: add two new failing tests (7227075)
- journal: Add Model test for metrics (b6156fa)
- journal: first go at modelling backpressure (038d9fc)
- journal: add logging for when backpressure happens (288026f)
- journal: add more logging for debugging (c1f6dad)
- journal: add unit tests for two bugs found by prop_journal (ce46b8b)
- journal: add tests for run length encoding (0833b58)
- journal: generate long enough bytestrings to cause rotations (11d531c)
- journal: use new journal type in the model-based tests (1e2817a)
- journal: make off by few bytes common than off by lots of bytes (bfc8f3e)
- journal: ByteBuffer
boundCheck
now takes a size (in bytes) (99ef2e3) - journal: narrow down the problem with multiple write/reads (b89d151)
- journal: extend test with another append and read (c988b8c)
- journal: Extend model-check for
ByteBuffer
to support failure cases (9f41c1f) - journal: add 64 bit ops to the tests (c39426c)
- optimise(sut): Make dumblog with journal use a better in-memory representation (1b0e43e)
- Update src/journal/src/Journal/Internal/ByteBufferPtr.hs (226e841)
v0.0.6 (2022-01-12)
- journal: make bytebuffer tests pass (3bb9264)
- journal: more plusAddr and zero offset fixes (96aa320)
- journal: use plusAddr and 0 offset in byte buffer (4f49ad1)
- journal: use plusAddr# and zero offset (bae5ff3)
- journal: use os agnostic fileAllocate (1c2e2cb)
- journal: take slice into account when indexing (95698c3)
- journal: make the extra libs atomic conditional only linux (4c7146d)
- journal: Remove file that accidently got commited (5a65f1d)
- journal: bound check all absolute operations and use HasCallStack (23a8ed8)
- journal: increment position of dest in putBytes (ff65e63)
- journal: bug in claim (eeaf6b0)
- journal: don't advance mmaped pointer upon startup (ddf553d)
- journal: make replay work on truncated journals (5c91541)
- runtime: fix off by one error in test (585357a)
- runtime: fix bug in get in the MP case (68bcbcb)
- runtime: the shiftL trick doesn't work for Int when calculating buckets (0043e32)
- runtime: fix bug in SP histogram (e2477f6)
- runtime: make incrCounter return the new value, thanks Daniel (24e3e8f)
- runtime: remove sleep from read path and fix test (108d5fb)
- runtime: fix MP case by adding setGatingSequences, thanks Daniel (4001a86)
- runtime: fix SP case by adding nextSequence field to ring-buffer (b960072)
- runtime: fix the multi producer test and expand it to five producers (60a3329)
- runtime: make the test suite compile and pass again (05c86ba)
- runtime: make debugger not start unless it finds the scheduler's pipes (88f163c)
- scheduler: Fix so that timer messages can't be scheduled to the past (61ed266)
- add note about not sharing the repo (d3827be)
- make some old slides more context free (5fa4744)
- improve readability of USL formula and add more explaination (5769d15)
- fix spelling mistakes found by Daniel and add comment about reboot (443d6fd)
- fix comments for Daniel on performance doc (e4bdfa6)
- add first draft of performance document (ebdefd1)
- runtime: make gc comment more clear, thanks Daniel (dacf98d)
- runtime: add how it works section to disruptor readme (de13406)
- runtime: add example and explainations to disruptor readme (ebf4964)
- journal: Make own version of
fileAllocate
that works on Mac OS (34c251f) - go-mmap: do some initial go mmap testing (d7e9a4a)
- journal: make it possible to dump the metadata (eb76c8f)
- journal: add casInt for ptr (9ab2b6e)
- journal: persist some metadata when allocating journal (c52a77a)
- journal: add casInt for ptr (cd8fc82)
- journal: towards using ByteBufferPtr for journal (3c11fd4)
- journal: towards using ByteBufferPtr for journal (d4735f8)
- journal: add allocateJournal (9bb77f9)
- journal: Update
Metrics
to useByteBufferPtr
(fcea79c) - journal: add test for atomics (a55aba9)
- journal: rename module to Atomics and add bindings for the different byte sizes (b8c1d38)
- journal: add extra-libraries atomic (f38a2b2)
- journal: add atomic prim ops for addr (007ad4d)
- journal: add ptr version of bytebuffer (d48f3c9)
- journal: add free for bytebuffer and metrics (ebc88d0)
- journal: Make metrics twice polymorphic, histograms (e290f42)
- journal: add and use buffer claim datatype (8058946)
- journal: add term addpender claim and handle end of log condition (ee8611b)
- journal: introduce more newtypes and term rotation (bee8690)
- runtime: Use .hsc to get _SC_PAGE_SIZE (673c640)
- journal: add a few more byte buffer operations (4fba44e)
- journal: add more journal helper functions (008d616)
- journal: add rotateLog and a few other metadata helper functions (e2bcc39)
- journal: add posix compatible way of getting the page size (ac30608)
- journal: make mmapped bytebuffer work (cf2b2fd)
- journal: add aligned malloc needed for mmap (81ad352)
- journal: sketch more of the bytebuffer api (b9e30d1)
- journal: add mmap module (d7dffcb)
- journal: add beginnings of bytebuffer and metrics modules (5691fed)
- runtime: We can now add duplication fault (54ac69b)
- runtime: Scheduler now manipulate outgoing events using faultstate (cf0db64)
- runtime: Add new faultstate for duplicated messages (8a3ed11)
- runtime: Add more functions to
RandomInterval
(cd98cae) - runtime: Add an
Delayed
unscheduled-event (97a424f) - journal: add parsing of journal into ast, improve readability of test output (1ebc4aa)
- journal: add padding and archiving (86b2af7)
- journal: merge in Daniel's test/journal branch (ffec274)
- journal: start on file rotation (6ea1437)
- journal: add crc32 checksum (fa7852d)
- journal: add tag and version to journal headers (3521efc)
- journal: add snapshotting and reply (still borken) (cafeabb)
- journal: add atomic counter module and start working on file overflow (315b40c)
- journal: add consumer side (e28865a)
- journal: use claim (5428ae6)
- journal: start implementing api (cf394c1)
- journal: sketch more of the api (a8e3e29)
- journal: add skeleton for journal (932f9ed)
- runtime: WIP) Start of internal debugger (5c5f532)
- runtime: Debugger should not print
LogicalTimeInt
constructor (7dac324) - runtime: Use json serialisation for the event log (#385) (a06be05)
- runtime: generate arrival times for new messages in scheduler (f0eeeda)
- runtime: Executor now give a
LogWriter
to all reactors in the constructor (6d2cbbe) - runtime: show which case was missing when pattern matching fails in
on
(a6fb735) - runtime: Add support for restart fault in the new executor (d15621c)
- runtime: Add restart fault to scheduler (db67da8)
- runtime: When resetting the log for executor, also reset the logical time (5a383d5)
- runtime: Read all the request from the unix sockets (9b82c7c)
- runtime: Add support for timer messages (bd02a09)
- runtime: Executors can now restart the reactors (edbd869)
- runtime: Add init messages to new scheduler (aca71c9)
- runtime+executor: Use more consistent logical times (05d27c1)
- debugger: Merge logs from scheduler and executor (7c42761)
- runtime: Add function to merge
Log
s (d6646e1) - executor: Use Haskell format for debugger (53b7e88)
- executor: Normal transport constructor can't fail (45d01c4)
- executor: Make admin interface use unix domain sockets (42d5ca6)
- runtime: Add unix domain socket transport (b9cc0f7)
- executor: executor as event loop (fad2176)
- runtime: add readme and more benchmarks (6f97a61)
- runtime: add unboxed ring buffer (ab19884)
- runtime: add more counter operations to padded counter (b15e621)
- runtime: add first draft of SP histogram (46ef03b)
- runtime: add more logging to understand the MP problem (44a8f4c)
- runtime: add SPSC test (fails sometimes with appears twice error message) (045663e)
- runtime: add highest published is available functions (in the MP case) (6ae3464)
- runtime: Add clock-skew faults (f646ba1)
- runtime: add blocking verison of next (41d6e94)
- runtime: add read side for multi producer disruptor (d4a7927)
- runtime: implement publish side of multi-producer disruptor (7935dfc)
- runtime: Add Partition fault (db80bd0)
- runtime: Add LoadTest that also loads faults (6ae9a1d)
- runtime: add scheduleEvents from Daniel's branch (4499ef5)
- runtime: Add faults to new scheduler (a6b0db9)
- runtime: add logical time to scheduler (120421d)
- runtime: add whatToDo from Daniel's branch (c06e685)
- runtime: fix Daniel's comments (46b4397)
- runtime: add disruptor module (not quite working yet) (c384aa9)
- runtime: word wrap the messages in debugger (c1838cb)
- runtime: display message content on right hand side in debugger (188f05e)
- runtime: make debugger display log (4d5143e)
- runtime: make debugger be able to request the log from the event loop (a777458)
- runtime: add skeleton for event loop debugger (fbf648d)
- runtime: add logging of received replies (65165b3)
- runtime: timestamp events using logical clock (2232b9a)
- runtime: add ability to execute many sql inserts/updates (75c8243)
- runtime: make scheudler keep track of test and run id (78dc484)
- runtime: add single op benchmarks for threadDelay and yield (5b1d841)
- runtime: make MP benchmark use three producers (ed52cbb)
- runtime: some minor tweaks and add profiling counters for MP benchmark (38932e9)
- runtime: make the mp test actually have multiple producers and add mp unagi (64fa525)
- runtime: add benchmark comparison with unagi-chan (a630761)
- runtime: fix non-termination bug in unboxed benchmark and make it more similar to boxed version (3290980)
- runtime: use unsafe shift and move looping into waitFor (50b1547)
- runtime: use unsafe array ops in single producer ringbuffer and unpack seq nr for consumer (4bd4f6d)
- runtime: use padded counter in benchmarks (ddd3dae)
- runtime: save perf output (b9a0c85)
- runtime: various performance improvements to histogram (e341ea2)
- runtime: add unpacked type for maybe sequence number (18c26b9)
- runtime: turn gating sequences from list to vector (d427861)
- runtime: add benchmark shell script (fddba06)
- runtime: start separating SP from MP ringbuffer (c17da26)
- runtime: unpack and bang all fields in the ring buffer (74ecda0)
- runtime: add max concurrent transactions to output (9f16c58)
- runtime: make the tbqueue benchmark also use measureInt_ (a6ed14b)
- runtime: remove polymorphism from histogram (2f160ea)
- runtime: tweak SP version of histogram (588de5c)
- runtime: add a padded variant of atomic counter (8053e20)
- runtime: add latency histogram (0f9e419)
- runtime: measure single ops using CPUTime and in nano sec (6698385)
- runtime: benchmark a bunch of single ops (c4a8991)
- runtime: add cost centers and use atomic counter thater than ioref int (8b8bbd1)
- runtime: use writeIORef instead of atomicWriteIORef where possilbe and do some inlining (252a7b6)
- journal: make it work regardless of target byteorder (12fc98e)
- journal: remove ghc-prim dependency (20022dc)
- journal: ffi bind and use C constants for mmap (3d12c1c)
- journal: use bulk copy in getByteString (0e8a33d)
- journal: almost finish new try claim (ad1aae1)
- journal: more work towards using new journal type (1f7290e)
- journal: add new metadata bytebuffer to journal (3a3c4a5)
- journal: revert back to using bytearray for bytebuffer (930edda)
- journal: use ptr instead of bytearray so that we can implement slice (1ef9be7)
- journal: fix assertions and use field newtypes (a622c32)
- runtime: Move
TimeInterval
to its own module (75ee08f) - Scheduler: Add
scheduleAgenda
helper function (48a1532) - journal: introduce newtypes for header fields (cb2c288)
- journal: remove unused functions and use unsafe ffi (feca5c1)
- journal: remove bytes produced from consumer (90cd226)
- runtime: remove internal message without arguments (05b2042)
- runtime: make codec work on message level rather than envelope level (d95668d)
- runtime: remove executor envelope (05c9c2f)
- runtime: New executor split up how we build topology (4c54c76)
- runtime: New scheduler, faults can now add events to the agenda (dd398fe)
- runtime: don't send node name part of logical time over the wire (72392a6)
- runtime: remove old disruptor files and rename verb to tag (49c4daa)
- runtime: remove disruptor as it's now in its own repo (40b51f8)
- runtime: split mp1p1c test into two (717637e)
- runtime: clean up benchmarks a bit more, especially mp cases (efd4206)
- runtime: make sp benchmarks more similar (7488026)
- runtime: use atomic counter instead of ioref sequence number (573487b)
- runtime: remove old combined ringbuffer and restructure the module tree (1a7f0de)
- runtime: remove shutdown variable (55df2c1)
- runtime: finish standalone MP version of ringbuffer (9d0e6fb)
- runtime: simplify SPSC test, thanks Daniel (368e0c0)
- runtime: remove old test (365ca49)
- runtime: nextSequence field is actually not needed, thanks Daniel (a2552cb)
- runtime: FaultState is now per actor (8e2ddd2)
- runtime: start using whatToDo (549d71c)
- runtime: s/LogicalTime/LogicalClock/ and s/LogicalTimestamp/LogicalTime/ (91af53a)
- runtime: add bitwise and instead of mod for disruptor indexing (0b94c37)
- runtime: remove sequence barrier and parametrise back pressure and wait for disruptor (b1d64b0)
- runtime: move executor related stuff to separate scheduler module (815216e)
- runtime: split up scheduler into modules (d1b1d81)
- journal: add mmap and bytebuffer tests (611f553)
- journal: add improved CAS test (that Daniel came up with) (d980415)
- journal: add test for casIntPtr (44be27f)
- journal: add improved CAS test (that Daniel came up with) (ab7232c)
- journal: add test for casIntPtr (75c0619)
- journal: add model based tests (29a3a01)
- runtime: add test for two producers and one consumer (still fails) (ed16243)
- runtime: add first round of disruptor tests (29dc17c)
- license: add 2022 (a9a7b19)
- Update src/journal/src/Journal/Internal/ByteBuffer.hs (e05a081)
- license: update license to MIT and include Real Logic's license (9910b66)
- Update src/journal/src/Journal/Types.hs (047ca24)
- license: change to the MIT license (428e32d)
- reactor(runtime): improve comment about atomic counter padding, thanks Daniel (9fd29ad)
- bench(runtime): add tbqueue variant to benchmark for comparison (0187f19)
- bench(runtime): add simple SPSC benchmark (7554e64)
- Update src/runtime-prototype/src/Disruptor.hs (2b662a0)
- comment(runtime): add node about nextBatch being multi-producer (92fd66e)
- Update src/runtime-prototype/src/Debugger.hs (d385469)
v0.0.5 (2021-09-29)
- scheduler: Fix infinite loop in scheduler (d26fe5b)
- nix: Update vendor sha256 hashes (1d2c4f8)
- runtime: unbreak backwards compat with old scheduler (b77f9da)
- runtime: fix bug with put state not being persisted (1aec066)
- runtime: fix compilation (f0236f3)
- runtime: fix bug in dequeue (38b09a0)
- scheduler: When client calls timeout, the time wasn't set correctly (2673493)
- debugger: Fix the tests that got broken for debugger (9e353c6)
- runtime: make benchmark pass (still doesn't do much though) (f9ee761)
- runtime: add todo about actually using the i/o queue (79c0714)
- fix nix-build (e7914a6)
- add note about comparing disruptor to data aqueduct (2271279)
- add a more detailed event loop design doc (9f2f632)
- remove third part from event loop design doc (7b9e203)
- add note about disruptor pattern (bfaad7a)
- add some more newlines for better readability in raw format (3b537c7)
- add bit about benchmark to event loop design (9050a68)
- add bits about synchronisation, saturation and backpressure (443c359)
- add pseudo code for network producer (b25903e)
- clean up (re)actor api (99c9b58)
- event loop design, more on reactors and other minor changes (5842803)
- event loop design restructure a bit (5af75de)
- add Sean's timer to event loop design (b29cf8a)
- add a note and reference to event loop design (860d783)
- more on event loop desigdocs: more on event loop design (2ee9f69)
- add first draft of event loop design doc (ab7d7d5)
- runtime: add comment about other postscript viewers (4764f12)
- runtime: more work on event log (568e52c)
- runtime: make it possible to receive responses from admin commands (bcce23a)
- runtime: add the first parts of the admin commands (1cc79d5)
- scheduler: Expire client-request when simulation finish (34d3d94)
- checker: Add new model that reads history from stdin (6795fb9)
- runtime: step through the whole agenda (9eca574)
- runtime: fix correlation id propagation (a32b5d0)
- runtime: work towards scheduler being able to communicate with executor (cb72120)
- runtime: make client request for "CreateTest" do db I/O and respond (437ebd6)
- runtime: make actors polymorphic in state (2b1e934)
- runtime: extend messages with args and add sqlite disk (cc98053)
- runtime: make generation of command length depend on qc's size (9b069eb)
- runtime: add tests for move as wlel (0164e48)
- runtime: add proper tests for queue (5d2e5ce)
- runtime: move scheduler to library and make it possible to build executable (973a8a7)
- runtime: start reviving fake scheduler (85b74f3)
- stats: Add
detsys-stats
program for getting stats of test run (03c4a49) - ltl: Add new command for ltl to check many formulas (d0a0be3)
- runtime: add execution strategy based on ghc.event (a2c2184)
- runtime: make it possible to run clients in async mode (af534eb)
- runtime: add pure warp server benchmark for comparison (7affcea)
- runtime: use client requests via http frontend in benchmark (5e2271c)
- runtime: benchmark simple actor, plus fix a couple of bottlenecks (bc320dd)
- runtime: add memory footprint to reporter (ee8b3d2)
- runtime: more on benchmark (bcbc854)
- runtime: add skeleton for benchmarks (5ed12fe)
- runtime: add fake disk implementation of puts and deletes (5ff744d)
- runtime: implement thread pool for async i/o (54ff880)
- runtime: add way of displaying the stats of histogram (fd18d2a)
- runtime: remove datatype and state modules (85dbf6e)
- scheduler: remove assert that was causing trouble before above commit (4039487)
- runtime: add comment about kebab-casing and restore test used for debugging (2ddcd30)
- runtime: add comment about arrival times and clean up a bit (cd9ce0b)
- runtime: fix native types for db interface (c65312d)
- runtime: try to use native types for db interface (c2cadc6)
- runtime: use native types instead of
Datatype
in scheduler (7992c07) - runtime: improve, test and rename enqueues to enqueueList (66d695c)
- doc(runtime): expand on removing spawn admin command comment (c26a9d8)
v0.0.4 (2021-06-30)
- runtime: fix a precondition in histogram and improve docs and tests (72b89d7)
- runtime: unbreak tests after previous async io change (c9f8c03)
- runtime: revert back to blocking version of handleEvent for handleEvents (96cf428)
- runtime: make single threaded execution of tests work (b3b331f)
- runtime: fix flaky tests (d58eb8b)
- runtime: seed changed somewhere (?), so need to update output of random (28f378a)
- runtime: also check if file handle is ready in hMaybeGetLine (e1f2cdb)
- runtime: update seed and use next promise everywhere (cffb2d5)
- runtime: fix bug with
on
not working (a239308) - runtime: and test for admin send and fix a bug in the implementation (88105c8)
- runtime: disable http transport by default (6140c4e)
- runtime: namespace the event loops on the name of the tests (311b35f)
- runtime: remove hack that hardcoded the resp var to make the sendLater test pass (935dee5)
- ltl: Fix wrong package in cabal.project file (0e81bb3)
- runtime: narrow down the problem (acde0a8)
- runtime: fix bug in pipe transport (7c94d09)
- runtime: unbreak test1 (38c56c8)
- runtime: document how to run tests (ea4bb46)
- add seaslug to readme (10b7ef6)
- add merge PR step to release steps (9a52ea6)
- runtime: add histogram module (a96f335)
- runtime: first draft of async disk io (78f662c)
- runtime: add wait for event loop modulo timeouts (25bc784)
- runtime: add better waiting mechanism for http transport liveness (3005638)
- runtime: introduce wait-for-eventloop-to-finish combinator and use in tests (c024ca2)
- runtime: add flag for single / multi threaded (1b408de)
- runtime: single threaded event handling (6cfc27d)
- runtime: add shuffling of lists (5861424)
- runtime: add stm transport (cede8b6)
- runtime: add http frontend (e028770)
- runtime: extend message type with client requests (d1188a5)
- runtime: towards being able to handle client requests and responses (849f2b2)
- runtime: start on event log (92e7615)
- runtime: finish prng implementation (fa7e3dc)
- runtime: finish get current time implementation (45e5221)
- runtime: first steps towards adding timers, prng and get current time (71a2442)
- runtime: finish timeout handler for sends (e615232)
- runtime: lay groundwork for send timeouts (ee3befe)
- runtime: add support for failing async i/o (def0fc9)
- runtime: almost done with new make event loop (b753993)
- runtime: parametrise makeEventloop on which transport it supports (ac08be7)
- runtime: add timeout for send (978d1df)
- runtime: add initial state of actors (57c0a54)
- runtime: more flexibility around state (7236107)
- runtime: add skeleton for scheudler test (49be08c)
- runtime: add concrete datatype for datatypes (71a0ceb)
- runtime: add await and make state more flexible (7952e61)
- runtime: add http transport (7ea5a6e)
- runtime: add basic support for state (ec98bad)
- runtime: make async i/o test pass (0c88812)
- runtime: towards support for async i/o (89a1a97)
- debugger: Check tests when building with nix (9129f36)
- divergence: Add formatting checking in nix build (fa99272)
- ltl: Add formatting checks in nix build (b28b8d9)
- ldfi: Add ormolu to preconfigure check (41e5377)
- ldfi: Add check for formatting in nix-build (9723f36)
- nix: Add divergence tool to outer default.nix (5b3be98)
- ltl: Add more atoms to LTL checker (9c0913e)
- divergence: A simple tool to find divergence between two equivalent tests (53cb5d3)
- runtime: add event log and proper tests (560f5e5)
- runtime: more debug info (3247b8d)
- runtime: almost got remote call working (bc8c932)
- runtime: support remote calls that return now (12d9396)
- runtime: fix send to work with named pipes (62672c0)
- ltl: Add events as atoms (a058d5b)
- runtime: add send doesn't work yet, because we always send to ourselves (98ab4bc)
- runtime: cancel all handlers instead of just the main one (46567c1)
- runtime: make invoke work (a96fe21)
- runtime: finish initial state (47e8ab0)
- runtime: add free monad module (796c196)
- runtime: improve the actor definition (409095c)
- prototype runtime system (19fc265)
- db: Add index for run-id (c45dd9d)
- runtime: remove sleep from tests (b99f378)
- runtime: use case instead of if for threaded (5714597)
- runtime: remove unnecessary sleeps (d15ab1d)
- runtime: few cosmetic changes (fcc3370)
- runtime: inline a few local helper functions (cbe1ec4)
- runtime: don't print the caught async cancelled exceptions (26c4ce1)
- runtime: fix and test shuffle (8ffafb5)
- runtime: make transport receive non-blocking (3916d71)
- runtime: move named pipe transport to separate module (bfaa447)
- runtime: shorten import lists for test modules (68cd44f)
- runtime: remove old code (6d0dbe5)
- runtime: introduce a new type for resolutions (5e1d402)
- runtime: various small fixes (ddf4bde)
- runtime: simplify async io slightly (7beb822)
- runtime: finish admin send (a9ba383)
- runtime: finish handle events (c428f84)
- runtime: add impure async resolution (72dd099)
- runtime: introduce a pure way of running actors (93fa874)
- runtime: remove response comment from event datatype (a873450)
- runtime: remove transport test from library (5e99880)
- runtime: move transport test to testsuite (14e7a6e)
- runtime: abstract out event loop names (95ababb)
- runtime: more on handle receive (0d276ee)
- runtime: add async io (03f3573)
- runtime: more on actors and events (e0e4ade)
- runtime: minor fixes to previous commit (620ad37)
- runtime: add external request handler and named pipe transport (ca4c185)
- runtime: add async handler (67a619c)
- runtime: add first test for quit (cf07ec5)
- runtime: add support for quit command (ebea069)
- runtime: start reimplementing the event loop (c3fdedd)
- runtime: old vat module (51d0933)
- runtime: add test for http frontend (afaf89b)
- runtime: add test for timers (116629d)
- runtime: add (still broken) test for prng and get current time (af3eac6)
- runtime: add test for send timeout (ec2bd05)
- runtime: add failing test for
On
(9903f59)
v0.0.3 (2021-04-20)
- debugger: More gracious handling of missing heap diffs (5f66d5b)
- add steps to commit the changelog changes (0439616)
- document the steps involved in a release (06bcbda)
- add changes for v0.0.2 release (cd765c9)
- add simplified changelog generator (ed16441)
- conventional-changelog (69428d3)
v0.0.2 (2021-04-19)
- sut/broadcast: partial revert of 5b27e7cc666d7c496b5622e84999d3d5794c7bc6 (753f33a)
- debugger: Fix tests that broke in last commit (41eb1a1)
- nix: Fix vendorSha256 for go packages (43939d4)
- lib: Non-determ when specifing the to-fields (a66716b)
- bazael: Fix ldfi2 build on mac osx (0e59ef0)
- nix: Fix go vendorSha256 sums (14affbc)
- nix: Latest update of nixpkgs broke our go builds (941a67c)
- ldfi2: LDFI v2 should only use non-dropped messages in traces (670dcfb)
- ldfi2: Fix lineage, don't try to be too clever (b275f4d)
- ldfi2: don't crash nodes until after they have sent something (9b20522)
- ldfi2: marshalling of events and replace partial foldl1 (99eae68)
- ldfi2: Fix the test using logical equivalences (089aa42)
- ldfi: negation of formula should only happen once (3095355)
- nix: Update vendorSha256 (6bb138f)
- executor: The init handler was not deterministic (bddc98f)
- executor: Logs for reactors were attributed to wrong handler (6a39915)
- ldfi: s/runid/run-id/ (ffdad0e)
- ldfi: Fix order of previous faults (d26a3c2)
- logger: add sleep to avoid 100% cpu issue, adjust buffer length and fix logging (1942174)
- logger: use bufio reader rather than scanner (68d5186)
- logger: make a new buffer slice and fix logging (a025d5f)
- logger: remove starve (thanks Daniel), and rename item to entry (9e3b1a0)
- logger: lower max starve count from 32 to 8. (e654d3d)
- logger: len(buffer) >= BUFFER_LEN rather than <= (738807f)
- logger: use tab instead of semicolon for separator, make dequeue blocking (1a0cbc5)
- scheduler: Expire clients before we decide to delay message (5ccb071)
- cli: add ldfi to the output of the versions subcommand (580952a)
- checker: add back graalvm flag that got accidently removed (1881ab8)
- checker: test- and run-ids need to be parsed (f36317c)
- debugger: Debugger crashed if logs were nil (68249ec)
- bazel: remove more vendored deps (b80b3ba)
- bazel: fix deps for cli/cmd shouldn't be vendored (1ba2932)
- ldfi: crashes were not handled correctly, also disable debugging output (0083094)
- executor: Log lines not copied correctly (99fd6cb)
- executor: ScheduledEvent was not parsing meta field properly (eb10a31)
- ldfi: fix bug where previous faults couldn't be reintroduced at all (15ec138)
- ldfi: add db migration for faults (22b43c3)
- ldfi: previous faults constraint is too strong (a6fd21b)
- ldfi: avoid reintroducing the same crashes (d195b2c)
- sut/broadcast: make round 4 pass by unmarshaling ack properly (3bbf4c4)
- sut/broadcast: make round 2 fail in the right way (bfa5eaf)
- ldfi: reenable crashes, if --crashes flag is greater than 0 (561ab93)
- scheduler: set :sent-logical-time on initial messages (aa8a161)
- sut/broadcast: use timers instead of ticks (611a8ad)
- sut/broadcast: add event logger (0e9055c)
- sut: make the testsuites compile again. (e93bb7e)
- executor: update comment about message shuffling and move inits code. (4510c52)
- sut/register: fix module names and imports. (f433103)
- scheduler: bug in execute-or-tick not returning a tuple. (0ec0059)
- readme: spelling mistakes. (9f13c5e)
- shell: remove python related stuff previously used for ldfi1 (18f36f5)
- nix: Bump version of nixpkgs (efbc07e)
- cli, db, debugger, ltl: move stamping version out of buildPhase (2b819c9)
- ldfi2, checker, scheduler: move stamping version out of buildPhase (cdc84e9)
- default to building with bazel on linux (0b0f69f)
- build ltl using bazel by default (df03dcd)
- ltl: add build rules for library and binary (5fcf16e)
- suffix version output with -bazel or -nix (b09ee34)
- checker: make passing --version flag work (8ff3e41)
- scheduler: make passing --version flag work (603b48b)
- ldfi2: make passing the --version flag work (dd432d1)
- ldfi2: patchelf the dynamically linked libraries on linux (236173e)
- clean up bazelrc (659e5b1)
- lib: fix build by adding ltl.go to srcs (7ba0894)
- make it work when there's no bazel-bin/src directory (b5e5128)
- changelog: fix stdenv.lib deprecation warning (50e4a45)
- also install db migrations (f5f9db1)
- make it easier to switch between building with bazel or nix (ff429e1)
- checker: make it build and run on linux (b07c7cd)
- parametrise build by if checker or scheduler should be built by nix (4473a6a)
- build checker using nix (a023db9)
- checker: only pass X11 related flags if building on linux (ae4ebed)
- checker: fix build on linux with graalvm 21.0.0 (bf3bbe7)
- use posix toolchain from nixpkgs (02c12a3)
- ldfi2: update to latest rules_haskell and clean up workspace (d37675f)
- ldfi2: add rules for building the binary (8c6e163)
- package up all binaries (bf6a2fc)
- graalvm: add graal_rules and use them for scheduler (890d08a)
- go: make --version flag work with bazel built go binaries (7a5b448)
- checker: make it build (e35ee21)
- shell: pin ghc to 8.10.3 (0c2516f)
- scheduler: tryt to pin java versions in .bazelrc (a2bc67b)
- ldfi2: bump version of haskell_rules to get bazel 4.0 support (9935d2e)
- scheduler: make it build (aedc76b)
- ldfi2: make building work (9fbc9ef)
- ldfi2: use callCabal2nix for z3-haskell dependency (e0a24fa)
- ldfi2: remove ldfi2.nix and use callCabal2nix instead (e0acda6)
- ldfi2: fix build (3530299)
- update to latest nixpkgs-unstable, which includes bazel 4.0 (2545aec)
- ldfi2: pin nixpkgs in shell to the ones pinned by niv (8f98a4a)
- ldfi2: Make nix configs for ldfi2 (23c05d1)
- ldfi: unbreak the binary (14ab8ce)
- ldfi2: add stylish-haskell and cabal-fmt (63fd7be)
- ldfi2: add tasty-discover to shell (9b8dd91)
- ldfi2: pin z3 dependency to a specific commit (0c27ca9)
- update nixpkgs to get recently merged bazel 3.7.2 and graalvm-20.3.0 (aedc05d)
- ldfi: fix pythonpath env var (ad3b1af)
- ldfi: set z3_library_path (834368e)
- logger: add dependency on lib (d27693a)
- ldfi: initial python support (fadacc6)
- add initial nix support (3213dd1)
- db: add JSON1 support (f67e46d)
- add a name to the workspace and a .bazelversion file (cef4573)
- sut: add json1 to gotags (3540925)
- executor: add event.go to srcs (a843890)
- cli: bump vendor hash (77bae6b)
- lib: remove removed files from srcs in build.bazel (ac47833)
- logger: add initial build.bazel file (07fbed8)
- logger: add default.nix file (bca076a)
- checker: add --initialize-at-build-time flags for sqlite (90554d9)
- cli, db, debugger: revert back to pinning vendor hash (2201fcc)
- shell: add comment about bazel 4.0 (d83d642)
- bazel: make
bazel build //...
work (e71a3a1)
- rename milestones to always be on vX.Y.Z form (02633b1)
- first draft of the lower-level overview (d8ed9bc)
- finish first draft of high-level overview (806d359)
- ldfi: More on estimate for ldfi (792aa44)
- ldfi2: remove no longer relevant note about cabal2nix (335e6db)
- ldfi2: fix grammar mistake (a84cdc6)
- ldfi2: add table with gross estimate output (4f1b446)
- ldfi2: add info about state space estimation (3463b46)
- refer to ROADMAP.md under how to contribute (716c334)
- swap order of -tags and -run to make it easier to switch between tests (db24ff7)
- add -tags json1 and correct the test and run ids (3336611)
- make nix default build system as the bazel build still has some problems (3c5059c)
- more accurate pseudo code for reactor interface (e7f024b)
- better phrasing (3eddfe7)
- add more under the high-level overview section (de717f8)
- make it more clear when detsys is ready to start testing (719e894)
- fix typo (0d3c5c4)
- update bazel and nix instructions (601035a)
- add auto generated changelog (81d81a6)
- readme: add link to stateright (7961c02)
- debugger: Use wordwrap for reator logs (ef2685d)
- lib: Get the reason for LTL checker (a30964e)
- debugger: Display crash information in sequence diagram (89ba312)
- debugger: Have word-wrapping for the current message (f4110e5)
- ltl: Introduce proof terms in ltl (c524c02)
- debugger: Have a window with events that were sent for the current event. (a597ea3)
- debugger: Add
f
as a shortcut to go back in time to when the message was sent (f5ad32b) - debugger: Add sent time to the event table (733f48c)
- debugger: Show time as duration rather than absolute time (5476ed3)
- debugger: Make header of sequence diagram always be shown (d2d349e)
- debugger: Make the change reactor be inside the reactor state widget (9244b7f)
- debugger: Scroll sequence diagram to active event (4eca7a9)
- cli: Add LTL version in the versions command (5c202d3)
- ltl: Make version command output the git commit (3eb9909)
- sut: Make broadcast SUT use the new LTL checker (a6ab9b4)
- ltl: First stab at an LTL checker (8f83625)
- ldfi2: add estimation from the molly ldfi implementation (7a1872c)
- ldfi2: first go at trying to estimate the size of the fault space (85239ef)
- ldfi: Add optional limit of number of faults. (dd6f9d9)
- ldfi2: Add option(s) to tell about previous failed runs (927068b)
- executor: Fix go.mod file (c1a5a97)
- ldfi2: add bazel support for haskell (7a73572)
- ldfi2: Make events have a sent field, so we can be better at generating crashes (74e0783)
- ldfi2: add limit to how many solution solve all returns (c3acb24)
- ldfi2: add a variant of the solve function which gives back all models (82f5024)
- ldfi2: Make ldfi output omissions/crashes (89ddf06)
- ldfi2: parse command line args in executable (878e18b)
- ldfi2: more work towards integrating library with executable (c982c57)
- ldfi2: add iff formula and clean up z3_same (45453d8)
- ldfi2: introduce solver interface (4f1683b)
- ldfi2: print unknown version of version env var is unset (9f38a45)
- ldfi2: Use stevana's branch for z3 (764e200)
- ldfi2: add command line parsing (5235ca1)
- ldfi2: add database and git commit version support (a472ca7)
- ldfi2: translate our formulae into sat and solve them (7fdb7c9)
- ldfi2: introduce skeleton for translating formulae to sat (f248786)
- ldfi2: add z3 haskell dependency (c4ebdbc)
- ldfi2: add failure spec and at field to events (f639a5a)
- logger: towards supporting linearisable reads (43bdcd5)
- lib: Make
Topology
be a custom type (b30d21e) - ldfi: try to be deterministic by setting random_seed (c2d6915)
- db: add down migration for event_log (0fcf1ac)
- cli: add generator to the output of the versions subcommand (a5ad6b4)
- db: CHECK constraint on json columns (f6fb62d)
- scheduler: Support multiple receivers (eddc4de)
- lib: add ability to broadcast a message to multiple recipients (8516bef)
- scheduler: Emit CreateRun event + add view for runs (a74608c)
- cli: add logger up and down subcommands (911101c)
- scheduler: add new create-run-event! endpoint in Scheduler (d9a957d)
- logger: add first iteration of logging component (751b7a3)
- lib: Add TimeFromString (3febbc3)
- scheduler: Emit NetworkTrace event from the scheduler (d5f6936)
- executor: Executor now sends the ExecutionStep event (47a2b75)
- executor+scheduler: Add MetaInfo for each execution step (f929d76)
- scheduler: add support for crashes (9d4fdfc)
- lib: add crashes to InjectFaults (a5fab2c)
- bazel: add and run gazelle (df36561)
- cli: make it possible to step through the scheduler (5296932)
- lib: add Init() method to reactor interface. (700bb5a)
- nix: Use bbe to patch the version (0d70032)
- logger: use prepared statements (c85b631)
- db: Add index for test-id (2471476)
- debugger: Implement our own sequence diagrams (cc4e1fd)
- executor: Don't do db-lookup to figure out topology (b3a0139)
- scheduler: Use connection pool (6a2b843)
- executor+scheduler: Remove events only used for profiling (e5b17fd)
- ldfi2: fix bullet list in ldfi comment (d952f9f)
- ldfi2: introduce ormolu and nixpkgs-fmt and reformat all ldfi2 files (f9958c1)
- ldfi2: move marshalling to json into run (b1121ba)
- ldfi2: move makeFaults from tests to ldfi module (87411ae)
- ldfi2: rename fixpoint to simplify (e547ed6)
- ldfi2: clean up translate (edd4fec)
- ldfi2: use text instead of bytestring (0769d2b)
- ldfi2: Remove unnecessary Maybe in test (410d6fd)
- ldfi2: Split Ldfi module (b3d7b40)
- ldfi2: Make it clearer what is lineage and what is ldfi (638a2d5)
- logger: remove one layer of json (3adf676)
- logger: make it possible to deploy the reactor (d589bf8)
- logger: start turning logger into a reactor (e6f2e5d)
- Rename
component
toreactor
in tick event (2988df6) - executor: return without creating a variable (b9b8c7a)
- lib: replace log.Fatal with panics (c1e5682)
- db: squash all migrations (aba11ab)
- executor: remove some unused code (70c7f37)
- Use CreateTest event (d224bf3)
- scheduler: Remove run table (f659315)
- checker: Emit Analysis event (b53cf7e)
- ldfi: Emit LdfiAnalysis event rather than update faults table (3eba406)
- ldfi: Use CreateRun event instead of faults table (ae92e0b)
- logger: rename module from logger to main so that we get a binary when compiling (479d8f1)
- logger: specify buffer capacity and keep allocated memory of buffer (c9e5632)
- checker: remove comment with code used for debugging (b266c25)
- executor: Prepare executor for CreateRun event (06719c1)
- checker: use sqlite library rather than shell out to binary (1d0f5f2)
- Remobe old network_trace and use a view (eb79616)
- scheduler: remove uberjar and native-image targets from deps.edn (af9ef9a)
- checker: Use the new NetworkTrace and introduce jepsen_history view (18255a6)
- ldfi: test and use new functions for db loading and formula building (030a0eb)
- Remove heap_trace and log_trace (8cd8be8)
- ldfi: create sat formula in separate step from loading from db (00b6c63)
- debugger: Use ExecutionStep event (5b084ed)
- executor: Log messages in the handler instead of inline (031e66a)
- ldfi: break ldfi into smaller pieces and start trying to test them (f5a3a66)
- lib: Move get inits from lib to scheduler. (9d63e5e)
- cli: move scheduler status and update module name and imports. (7ea97b6)
- ldfiv1: and rename ldfi2 to just ldfi (81f4dc8)
- repo: Remove old projects, and move demo to doc (339e6de)
- ldfi2: add estimation tests from molly (c23fb44)
- sut/register: add asserts about expected runs and faults needed (5707712)
- sut/broadcast: more asserts about expected runs and faults needed (5b27e7c)
- sut/broadcast: add assertions about expected runs and faults needed (7c1ec70)
- sut/broadcast: fix classic delivery implementation (f8ad7f8)
- sut/register: document frontend 3 and 4 and tweak eff to make all tests pass (d07f57e)
- sut/register: remove old tick implementation from frontend1 (61dbb38)
- sut/register: document frontend1 and 2 (bc70069)
- sut/register: make the field public for frontend2 so they can be seen in the debugger (194bb45)
- ldfi2: fix tests after merge (2d8896d)
- ldfi2: add more broadcast unit tests (9cf9536)
- ldfi2: add test case for possible failures for cache example (30675ad)
- ldfi2: Use quickcheck to test simplify (c8e7606)
- ldfi2: introduce custom test main in case we need to tweak it (3c41e36)
- ldfi2: Use z3 to compare logical-equivalences (eca485f)
- ldfi2: add broadcast 1 test (79e7edb)
- logger: add reads to test client (28247f5)
- logger: write 50k messages in test client (2b30c1d)
- logger: add test client (4b952c4)
- ldfi: separate db loading from sat forumla creation (df32cb9)
- ldfi: fix unit tests (788d661)
- ldfi: run tests as part of nix build (f4dc61d)
- sut(broadcast): Use LTL reason in error message (526d35d)
- Revert "nix: default to building with bazel on linux" (19e00ba)
- prototype(ldfi v2): add cabal freeze file (bc7884f)
- prototype(ldfi v2): add basic project structure including testsuite (d2bd105)
- prototype(ldfi v2): more simplifying rules from Daniel and some minor fixes (33dbd29)
- prototype(ldfi v2): do something less than a cross product (6d029e0)
- prototype(ldfi v2): add simplification of formulae (523abe3)
- prototype(ldfi v2): fix type error (67942f9)
- prototype(ldfi v2): add remaining disjunctive part (5415cf9)
- prototype(ldfi v2): add ghc to nix shell (9caf970)
- prototype(ldfi v2): start with the disjunction part of the formula (0fb002b)
- prototype(ldfi v2): add the first conjunction of ldfi (07bdeed)
- prototype(ldfi v2): add example traces (dd421f6)
- prototype(ldfi v2): initial commit (ca450e7)
- comment(logger): add comment about linearisable reads (0e08de7)
- Add event-log (c7841bc)
- Fix module name and imports. (084f833)
- WIP: adding bazel support. (5eb4e87)
- Add more docs about nix. (615f9ae)
- Protect from being able to start multiple schedulers. (7635ba0)
- Add scheduler stop. (0b870e6)
- Don't use require in executor for lib since we have a replace (aac1dd0)
- Make nix shell build again. (ea8c5b9)