From f55cbbeac3ee93b632bcdca5a005d5083d66c536 Mon Sep 17 00:00:00 2001 From: Martin Sumner Date: Mon, 13 Nov 2017 14:02:39 +0000 Subject: [PATCH 1/3] OTP 19 requires defaults in dialyzer --- include/leveled.hrl | 8 ++++---- src/leveled_iclerk.erl | 2 +- src/leveled_inker.erl | 4 ++-- src/leveled_pclerk.erl | 2 +- src/leveled_penciller.erl | 2 +- src/leveled_sst.erl | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/include/leveled.hrl b/include/leveled.hrl index 348467f..833ba8b 100644 --- a/include/leveled.hrl +++ b/include/leveled.hrl @@ -48,8 +48,8 @@ source_inker :: pid() | undefined, reload_strategy = [] :: list(), waste_retention_period :: integer() | undefined, - compression_method :: lz4|native, - compress_on_receipt :: boolean(), + compression_method = native :: lz4|native, + compress_on_receipt = false :: boolean(), max_run_length}). -record(penciller_options, @@ -60,7 +60,7 @@ bookies_mem :: tuple() | undefined, source_penciller :: pid() | undefined, snapshot_longrunning = true :: boolean(), - compression_method :: lz4|native, + compression_method = native :: lz4|native, levelzero_cointoss = false :: boolean()}). -record(iclerk_options, @@ -68,7 +68,7 @@ max_run_length :: integer() | undefined, cdb_options = #cdb_options{} :: #cdb_options{}, waste_retention_period :: integer() | undefined, - compression_method :: lz4|native, + compression_method = native :: lz4|native, reload_strategy = [] :: list()}). -record(recent_aae, {filter :: whitelist|blacklist, diff --git a/src/leveled_iclerk.erl b/src/leveled_iclerk.erl index e5a4ed7..b884b29 100644 --- a/src/leveled_iclerk.erl +++ b/src/leveled_iclerk.erl @@ -109,7 +109,7 @@ waste_retention_period :: integer() | undefined, waste_path :: string() | undefined, reload_strategy = ?DEFAULT_RELOAD_STRATEGY :: list(), - compression_method :: lz4|native}). + compression_method = native :: lz4|native}). -record(candidate, {low_sqn :: integer() | undefined, filename :: string() | undefined, diff --git a/src/leveled_inker.erl b/src/leveled_inker.erl index b103a88..98af268 100644 --- a/src/leveled_inker.erl +++ b/src/leveled_inker.erl @@ -136,8 +136,8 @@ clerk :: pid() | undefined, compaction_pending = false :: boolean(), is_snapshot = false :: boolean(), - compression_method :: lz4|native, - compress_on_receipt :: boolean(), + compression_method = native :: lz4|native, + compress_on_receipt = false :: boolean(), source_inker :: pid() | undefined}). diff --git a/src/leveled_pclerk.erl b/src/leveled_pclerk.erl index ec10982..41fb474 100644 --- a/src/leveled_pclerk.erl +++ b/src/leveled_pclerk.erl @@ -50,7 +50,7 @@ -record(state, {owner :: pid() | undefined, root_path :: string() | undefined, pending_deletions = dict:new(), % OTP 16 does not like type - compression_method :: lz4|native + compression_method = native :: lz4|native }). %%%============================================================================ diff --git a/src/leveled_penciller.erl b/src/leveled_penciller.erl index 1355b9c..495ad1e 100644 --- a/src/leveled_penciller.erl +++ b/src/leveled_penciller.erl @@ -246,7 +246,7 @@ head_timing :: tuple() | undefined, - compression_method :: lz4|native}). + compression_method = native :: lz4|native}). -type penciller_options() :: #penciller_options{}. -type bookies_memory() :: {tuple()|empty_cache, diff --git a/src/leveled_sst.erl b/src/leveled_sst.erl index 3a14d12..e1cfc80 100644 --- a/src/leveled_sst.erl +++ b/src/leveled_sst.erl @@ -140,7 +140,7 @@ filename, yield_blockquery = false :: boolean(), blockindex_cache, - compression_method :: press_methods()}). + compression_method = native :: press_methods()}). -type sst_state() :: #state{}. From a4186424ea88653314a75d1cd7f012c4b99750fc Mon Sep 17 00:00:00 2001 From: Martin Sumner Date: Mon, 13 Nov 2017 14:42:23 +0000 Subject: [PATCH 2/3] Support for OTP 17 causes issues Like it seems to think other versions are also 17?? --- rebar.config | 1 - 1 file changed, 1 deletion(-) diff --git a/rebar.config b/rebar.config index ea69915..d40871f 100644 --- a/rebar.config +++ b/rebar.config @@ -1,6 +1,5 @@ {erl_opts, [warnings_as_errors, {platform_define, "18", old_rand}, - {platform_define, "17", old_rand}, {platform_define, "^R", old_rand}, {platform_define, "^R", no_sync}]}. From 3f6cb283657ca4bb5af243aa5f407a590eaa52ef Mon Sep 17 00:00:00 2001 From: Martin Sumner Date: Mon, 13 Nov 2017 18:58:50 +0000 Subject: [PATCH 3/3] Strange issue with High Sierra Since High Sierra upgrade having a seperate line for platform_define 17 caused issues. OTP 19 seemingly matched against it. OTP 18 had a redefine issue as it appeared to match against it as well. Using this regex instead seems to work. Why? Why was htis not an issue before High Sierra? --- rebar.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rebar.config b/rebar.config index d40871f..a28ea33 100644 --- a/rebar.config +++ b/rebar.config @@ -1,5 +1,5 @@ {erl_opts, [warnings_as_errors, - {platform_define, "18", old_rand}, + {platform_define, "^1[7-8]{1}", old_rand}, {platform_define, "^R", old_rand}, {platform_define, "^R", no_sync}]}.