Commit Graph

13 Commits

Author SHA1 Message Date
Tomasz Grabiec
6a5943267a tests: Extract tmpdir class from commitlog_test to tmpdir.hh
It will be useful in other tests too.
2015-07-14 19:58:18 +02:00
Tomasz Grabiec
0dc49434ad tests: Make tmpdir more generic 2015-07-14 19:58:17 +02:00
Tomasz Grabiec
5cab8bc759 tests: Deal with non-empty directory in ~tmpdir 2015-07-14 19:58:17 +02:00
Tomasz Grabiec
3d7049f0de tests: Fix commitlog_test.cc
"file" should not go out of scope until async stat() completes.
2015-06-03 14:12:06 +02:00
Avi Kivity
cc94019326 Merge seastar upstream
Added missing includes to tests/urchin/commitlog_test.cc.
2015-05-26 17:08:31 +03:00
Avi Kivity
548646d4ba Merge branch 'master' of github.com:cloudius-systems/seastar into db
Should fix use-after-free when a frozen_mutation is applied to the
local shard.

Includes two adjustments to urchin collectd usage from Calle:

  - Updated thrift collectd registration to use proper move semantics
  - Commitlog: Fix collectd registration to use move semantics + test

Signed-off-by: Calle Wilund <calle@cloudius-systems.com>
2015-05-12 14:47:07 +03:00
Calle Wilund
46e0676a7d commitlog: Add reader stream/subscription
Generic read-all-stream from a commit log segmen file.
Provides a byte view for each data entry, doing CRC checks and padding skips.

Signed-off-by: Calle Wilund <calle@cloudius-systems.com>
2015-05-06 16:45:13 +03:00
Calle Wilund
07f1208926 Make commitlog respect max disk size setting. 2015-04-29 10:10:21 +02:00
Tomasz Grabiec
d086f131cf tests: Optimize includes
boost/test/unit_test.hpp is sufficient for tests which link with boost
UTF dynamically. It includes much less headers than
boost/test/included/unit_test.hpp.
2015-04-15 14:27:08 +03:00
Tomasz Grabiec
3758fb5dcf tests: Fix build failure caused by the merge 2015-04-14 10:28:20 +02:00
Calle Wilund
9979ee8d45 Modify commit log to use dataoutput
Both internal usage and external interface.
2015-04-01 10:08:00 +02:00
Calle Wilund
d5ba374495 Test fix. Retain commitlog until it is cleared, which is a potentially "blocking" op. Should fix jenkins test crashes.
Signed-off-by: Calle Wilund <calle@cloudius-systems.com>
2015-03-10 08:48:16 +01:00
Calle Wilund
054f9ed082 Initial commit log support.
Implements a cassandra-file-compatible segmented log
of "mutations". Handles "batch" and "periodic" mode like
stock version. Also includes "dirty" management for the
interaction log/memtable.

Supports:
* add
* sync/flush
* clear dirty bits (thus discarding segments)

Many more estoric stock functions not yet implemented.

Missing: Storage management. Does not deal with total
size on disk of segments yet. Nor does it have any provisions
for dealing with active buffer bloat should async writes stall.

[avi: adjust for future<>::rescue() removal]
Signed-off-by: Calle Wilund <calle@cloudius-systems.com>
2015-03-05 11:06:09 +02:00