basho/riak_cs — pull request #670 by slfritchie (2013-09-11 09:40:39+00:00)
Title: Quick fix for manifest props=undefined, needed for upgrades from very old versions of Riak CS

Witnessed after upgrading from an ancient version of Riak CS to 1.4.1.

2013-09-11 09:05:05.871 UTC [error] <0.25995.4> CRASH REPORT Process <0.25995.4> with 0 neighbours exited with reason: no function clause matching proplists:is_defined(deleted, undefined) line 184 in gen_fsm:terminate/7 line 611
2013-09-11 09:05:05.872 UTC [error] <0.25994.4> gen_fsm <0.25994.4> in state prepare terminated with reason: {{function_clause,[{proplists,is_defined,[deleted,undefined],[{file,"proplists.erl"},{line,184}]},{riak_cs_manifest_utils,delete_time,1,[{file,"src/riak_cs_manifest_utils.erl"},{line,342}]},{riak_cs_manifest_utils,'-latest_delete_time/1-fun-0-',2,[{file,"src/riak_cs_manifest_utils.erl"},{line,368}]},{lists,foldl,3,[{file,"lists.erl"},{line,1197}]},{riak_cs_manifest_utils,deleted_while_writing,1,[{file,"src/riak_cs_manifest_utils.erl"},{line,355}]},{riak_cs_utils,gc_deleted_while_writing_manifests,...},...]},...}
2013-09-11 09:05:05.873 UTC [error] <0.25994.4> CRASH REPORT Process <0.25994.4> with 0 neighbours exited with reason: {{function_clause,[{proplists,is_defined,[deleted,undefined],[{file,"proplists.erl"},{line,184}]},{riak_cs_manifest_utils,delete_time,1,[{file,"src/riak_cs_manifest_utils.erl"},{line,342}]},{riak_cs_manifest_utils,'-latest_delete_time/1-fun-0-',2,[{file,"src/riak_cs_manifest_utils.erl"},{line,368}]},{lists,foldl,3,[{file,"lists.erl"},{line,1197}]},{riak_cs_manifest_utils,deleted_while_writing,1,[{file,"src/riak_cs_manifest_utils.erl"},{line,355}]},{riak_cs_utils,gc_deleted_while_writing_manifests,...},...]},...} in gen_fsm:terminate/7 line 611

This patch is a quick, end-of-work-day-want-to-get-out-of-the-office fix. It is extremely lightly tested by the compiler only.