Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Get FSM not handling reader crash #828

Open
engelsanchez opened this issue Apr 1, 2014 · 3 comments
Open

Get FSM not handling reader crash #828

engelsanchez opened this issue Apr 1, 2014 · 3 comments

Comments

@engelsanchez
Copy link

The get FSM may be linked to a manifest FSM and a reader process (potential for many, but currently only one). An abnormal exit from the manifest FSM is handled, but the same is not true for the block reader process. A large amount of crashes were seen at a customer where both the manifest FSM and reader were exiting, and the reader EXIT message arrived first, crashing the FSM. This is the place where it could be handled:

handle_info({'EXIT', ManiPid, _Reason}, _StateName, StateData=#state{mani_fsm_pid=ManiPid}) ->

In this particular case, the process crashed because it tried to use the riak client, but it had stopped already. That is probably another bug that needs to be filed, but more details need to be dug up regarding how that can happen.

@engelsanchez
Copy link
Author

I forgot to add a sample entry from the crash log. Here it is https://gist.github.com/engelsanchez/1fa788ec68cfec4f3e98

@reiddraper reiddraper added this to the 1.6.0 milestone Apr 1, 2014
@Vagabond
Copy link
Contributor

Vagabond commented Apr 1, 2014

Also, please consider renaming riak_cs_block_server:start_block_servers to riak_cs_block_server:start_link_block_servers or something that indicates that it is start_linking a process. Just grepping for 'link' in the get_fsm only uncovered the manifest_fsm pid.

@reiddraper
Copy link
Contributor

Good idea @Vagabond.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants