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

Handle segment writer crash #484

Merged
merged 1 commit into from
Dec 5, 2024
Merged

Handle segment writer crash #484

merged 1 commit into from
Dec 5, 2024

Conversation

kjnilsson
Copy link
Contributor

@kjnilsson kjnilsson commented Dec 5, 2024

Which could occur when a ra server deletes its own directory whilst the segment writer is flushing a mem table to disk.

Nearly impossible to create a test for this particular case but here is a stack trace from a real test deployment:

pid: <0.242.0>
registered_name: ra_log_segment_writer
exception error: no match of right hand side value {error,enoent}
  in function  ra_log_segment_writer:handle_cast/2 (src/ra_log_segment_writer.erl, line 201)
  in call from gen_server:try_handle_cast/3 (gen_server.erl, line 2371)
  in call from gen_server:handle_msg/6 (gen_server.erl, line 2433)
ancestors: [ra_log_sup,<0.231.0>,ra_systems_sup,ra_sup,<0.197.0>]
message_queue_len: 3```

@kjnilsson kjnilsson force-pushed the concurrent-directory-delete branch from 7c9b582 to 270b2cb Compare December 5, 2024 11:45
@kjnilsson kjnilsson added this to the 2.16.0 milestone Dec 5, 2024
@kjnilsson kjnilsson changed the title Handle segment write crash Handle segment writer crash Dec 5, 2024
Which could occur when a ra server deletes its own directory
whilst the segment writer is flushing a mem table to disk.
@kjnilsson kjnilsson force-pushed the concurrent-directory-delete branch from 270b2cb to 9ec6b5a Compare December 5, 2024 11:46
@kjnilsson kjnilsson merged commit c8dbe23 into main Dec 5, 2024
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant