Skip to content

Commit

Permalink
V0.10.1 (#96)
Browse files Browse the repository at this point in the history
* riak_core_vnode_worker_pool to gen_statem (#19)
* Added E22 to pipeline
* Fixed Readme and descriptions to fit riak_core_lite
* Included outside dependencies again
 * Fixed deprecation warnings in those dependencies
* Added xref to pipeline
* Added badge that tracks hex.pm version
* Added coverage support
* Removed unused test dependencies (goldrush, mustache). Added missing meck dependency to tests
* Made edoc work again. Replaced macros with direct calls. Added edoc to pipeline
* Replaced mochiglobal with persistent_term (#43)
* Added lint command and lint to pipeline (#35)
* #35 (#45)
* fix riak_core_status:ringready/0 (#52) Added test case.
* Formatter (#53)
* Added default rebar3_format
* Changed to otp_formatter, fixed one issue in code by refactoring
* Adjusted pipeline
* Unused modules (#58)
* Bloom filter removed
* Removed stats util modules
* Removed one eqc files.
* property based testing (#61)
* update travis
* adjust number of test executions
* update coverage + bug fixing in riak_core_claim
* 20 replaced riak_core_gen_server with gen_server (#63)
* Erlang 23 Pipeline (#64)
* Format with E23, increased line length by 20
* Added E23 to pipeline
* PR basho#959 upstream (#65)
* Added unit test case which enforces the deadlock prior the fix
* V0.10.1 release
* #70
* Moved proper to project_plugins (#72)
* Finish removing bucket properties and buckets (#75)

Co-authored-by: Wölki <[email protected]>
Co-authored-by: Andreas Schultz <[email protected]>
Co-authored-by: woelki <[email protected]>
Co-authored-by: Peter Zeller <[email protected]>
  • Loading branch information
5 people authored Jul 13, 2021
1 parent 004205d commit 3f836ae
Show file tree
Hide file tree
Showing 86 changed files with 11,742 additions and 11,766 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,4 @@ rebar3.crashdump
core_vnode_eqc.log
.idea
*.iml
**/*.coverdata
11 changes: 10 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,20 @@
language: erlang
otp_release:
- 21.2
- 21.3
- 22.3
- 23.0
install:
- make
- ./rebar3 update
script:
- make format
- make test
- make proper
- make coverage
- ./rebar3 as test coveralls send
- make lint
- make xref
- make dialyzer
- make docs
sudo: required
dist: trusty
41 changes: 34 additions & 7 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
PULSE_TESTS = worker_pool_pulse
COVERPATH = ./_build/test/cover
REBAR ?= ./rebar3

.PHONY: deps test
.PHONY: deps test docs xref dialyzer format

all: compile

compile: deps
./rebar3 compile
${REBAR} compile

clean: clean-test
./rebar3 clean

${REBAR} clean

distclean: clean

Expand All @@ -28,7 +29,33 @@ clean-test:
# You should 'clean' before your first run of this target
# so that deps get built with PULSE where needed.
pulse:
./rebar3 compile -D PULSE
./rebar3 eunit -D PULSE skip_deps=true suite=$(PULSE_TESTS)
${REBAR} compile -D PULSE
${REBAR} eunit -D PULSE skip_deps=true suite=$(PULSE_TESTS)

proper:
${REBAR} as proper do eunit

epc:
${REBAR} as epc eunit

format:
${REBAR} format

test: compile
${REBAR} eunit

coverage: compile
cp _build/proper+test/cover/eunit.coverdata ${COVERPATH}/proper.coverdata ;\
${REBAR} cover --verbose

docs:
${REBAR} edoc

xref: compile
${REBAR} xref

dialyzer:
${REBAR} dialyzer

include tools.mk
lint:
${REBAR} lint
57 changes: 32 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,32 @@
# What is riak_core_antidote?
# What is riak_core_lite?

The 'antidote' version of riak core is a minimal and up-to-date version of riak core.
Riak Core Lite is a framework that simplifies the development of dynamo-style architectures, such as highly-available key-value stores and messaging systems.

# Riak Core
Build upon the essence of Riak KV's core with an up-to-date, modular and extensible foundation for elastic distributed services.

# riak_core_lite

![Language](https://img.shields.io/badge/language-erlang-blue.svg)
![Release](https://img.shields.io/badge/release-R21-9cf.svg)
![Build](https://img.shields.io/badge/build-rebar3%203.9.0-brightgreen.svg)
![Release](https://img.shields.io/badge/release-R21+-9cf.svg)
![Release](https://img.shields.io/badge/formatter-erlang_otp-33d.svg)
![Build](https://img.shields.io/badge/build-rebar3%203.13.0-brightgreen.svg)

[![Build Status](https://travis-ci.com/albsch/riak_core.svg?branch=master)](https://travis-ci.com/albsch/riak_core.svg?branch=master)
[![Hex pm](https://img.shields.io/hexpm/v/riak_core_lite.svg)](https://hex.pm/packages/riak_core_lite)
[![Build Status](https://api.travis-ci.org/riak-core-lite/riak_core_lite.svg?branch=master)](https://api.travis-ci.org/riak-core-lite/riak_core_lite.svg?branch=master)
[![Coverage Status](https://coveralls.io/repos/github/riak-core-lite/riak_core_lite/badge.svg?branch=master)](https://coveralls.io/github/riak-core-lite/riak_core_lite?branch=master)


Riak Core is the distributed systems framework that forms the basis of
how [Riak](http://github.com/basho/riak) distributes data and scales.
More generally, it can be thought of as a toolkit for building
distributed, scalable, fault-tolerant applications.
To get started with riak_core_lite you can follow Mariano Guerra's tutorials.
They are based on the full riak_core, but are still applicable to riak_core_lite.

For some introductory reading on Riak Core (that’s not pure code),
there’s an old but still valuable
[blog post on the Basho Blog](http://basho.com/where-to-start-with-riak-core/)
that’s well worth your time.
1. [Setup](http://marianoguerra.org/posts/riak-core-tutorial-part-1-setup.html)
2. [Starting](http://marianoguerra.org/posts/riak-core-tutorial-part-2-starting.html)
3. [Ping Command](http://marianoguerra.org/posts/riak-core-tutorial-part-3-ping-command.html)
4. [First Commands](http://marianoguerra.org/posts/riak-core-tutorial-part-4-first-commands.html)
5. [Quorum Requests](http://marianoguerra.org/posts/riak-core-tutorial-part-5-quorum-requests.html)
6. [Handoff](http://marianoguerra.org/posts/riak-core-tutorial-part-6-handoff.html)
7. [HTTP API](http://marianoguerra.org/posts/riak-core-tutorial-part-8-http-api.html)
9. [Persistent KV with leveled backend](http://marianoguerra.org/posts/riak-core-tutorial-part-9-persistent-kv-with-leveled-backend.html)

## Contributing

Expand All @@ -35,22 +42,22 @@ other code. To get started:
message, spanning multiple lines if detailed explanation is needed.
5. Push to your fork of the repository and then send a pull request.

6. A Riak committer will review your patch and merge it into the main
6. A committer will review your patch and merge it into the main
repository or send you feedback.

## Issues, Questions, and Bugs

There are numerous ways to file issues or start conversations around
something Core related

* The
[Riak Users List](http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com)
is the main place for all discussion around Riak.
* There is a
[Riak Core-specific mailing list](http://lists.basho.com/mailman/listinfo/riak-core_lists.basho.com)
for issues and questions that pertain to Core but not Riak.
* #riak on Freenode is a very active channel and can get you some
real-time help if a lot of instances.
* If you've found a bug in Riak Core,
[file](https://github.com/basho/riak_core/issues) a clear, concise,
* If you've found a bug in riak_core_lite,
[file](https://github.com/riak-core-lite/riak_core_lite/issues) a clear, concise,
explanatory issue against this repo.

## Reference Implementation

For some reference on how `riak_core_lite` can be used, you can read about projects which are using `riak_core_lite` as a library:

- [rcl_memkv](https://github.com/albsch/rcl_memkv): A minimalistic in-memory key-value store to understand how to implement the handoff behavior properly
- [rclref](https://github.com/wattlebirdaz/rclref): A reference implementation of a distributed key-value store using riak_core_lite featuring quorum reads and writes.
- [AntidoteDB](https://github.com/AntidoteDB/antidote): A a highly available geo-replicated key-value database which uses riak_core_lite for sharding of data centers.
51 changes: 51 additions & 0 deletions elvis.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
%linting and style rules
[{elvis,
[{config,
[#{dirs => ["apps/*/src", "src"],
filter => "*.erl",
rules => [{elvis_style, line_length,
#{ignore => [],
limit => 120,
skip_comments => false}},
%{elvis_style, no_tabs},
{elvis_style, no_trailing_whitespace},
{elvis_style, macro_names, #{ignore => []}},
{elvis_style, macro_module_names},
{elvis_style, operator_spaces, #{rules => [{right, ","},
{right, "++"},
{left, "++"},
{right, "--"},
{left, "--"}]}},
%{elvis_style, god_modules,
%#{limit => 40,
% ignore => []}},
{elvis_style, used_ignored_variable},
{elvis_style, no_behavior_info},
{
elvis_style,
module_naming_convention,
#{regex => "^[a-z]([a-z0-9]*_?)*(_SUITE)?$",
ignore => []}
},
{
elvis_style,
function_naming_convention,
#{regex => "^[a-z]([a-z0-9]*_?)*$"} %base: ^([a-z][a-z0-9]*_?)*$
},
{elvis_style, state_record_and_type},
{elvis_style, no_spec_with_records}
]
},
#{dirs => ["."],
filter => "Makefile",
rules => [{elvis_project, no_deps_master_erlang_mk, #{ignore => []}},
{elvis_project, protocol_for_deps_erlang_mk, #{ignore => []}}]
},
#{dirs => ["."],
filter => "rebar.config",
rules => [{elvis_project, no_deps_master_rebar, #{ignore => []}},
{elvis_project, protocol_for_deps_rebar, #{ignore => []}}]
}
]
}]
}].
47 changes: 0 additions & 47 deletions eqc/bucket_eqc_utils.erl

This file was deleted.

Loading

0 comments on commit 3f836ae

Please sign in to comment.