mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-29 11:10:40 +00:00
sstables: print informative message earlier
Just saw this today during a crash when creating Materialized Views. It is still unclear why this happened. But the message says: Mar 28 15:55:58 ip-172-31-24-9 scylla[14055]: scylla: sstables/sstables.cc:2973: sstables::sstable::remove_sstable_with_temp_toc(seastar::sstring, seastar::sstring, seastar::sstring, int64_t, sstables::sstable::version_types, sstables::sstable::format_types)::<lambda()>: Assertion `tmptoc == true' failed. Mar 28 15:55:58 ip-172-31-24-9 scylla[14055]: Aborting on shard 0. Mar 28 15:55:58 ip-172-31-24-9 scylla[14055]: Backtrace: Mar 28 15:55:58 ip-172-31-24-9 scylla[14055]: 0x00000000005b4b4c Mar 28 15:55:58 ip-172-31-24-9 scylla[14055]: 0x00000000005b4df5 Mar 28 15:55:58 ip-172-31-24-9 scylla[14055]: 0x00000000005b4ea3 Mar 28 15:55:58 ip-172-31-24-9 scylla[14055]: /lib64/libpthread.so.0+0x000000000000f0ff Mar 28 15:55:58 ip-172-31-24-9 scylla[14055]: /lib64/libc.so.6+0x00000000000355f6 Mar 28 15:55:58 ip-172-31-24-9 scylla[14055]: /lib64/libc.so.6+0x0000000000036ce7 Mar 28 15:55:58 ip-172-31-24-9 scylla[14055]: /lib64/libc.so.6+0x000000000002e565 Mar 28 15:55:58 ip-172-31-24-9 scylla[14055]: /lib64/libc.so.6+0x000000000002e611 Mar 28 15:55:58 ip-172-31-24-9 scylla[14055]: 0x00000000015969d0 Mar 28 15:55:58 ip-172-31-24-9 scylla[14055]: 0x0000000001596f7a Mar 28 15:55:58 ip-172-31-24-9 scylla[14055]: 0x000000000051ca8d I can't even guess which table caused the problem, let alone which SSTable. That's because those asserts are the very first thing we do. We can discuss whether or not assert is the right behaviour (usually we can't guarantee the state is sane if that is missing, so I don't see a problem) But it would be nice to see which SSTable we are processing before we assert. Signed-off-by: Glauber Costa <glauber@scylladb.com> Message-Id: <20180328160856.10717-1-glauber@scylladb.com>
This commit is contained in:
committed by
Avi Kivity
parent
4419e60207
commit
b092234f2b
@@ -2965,6 +2965,9 @@ sstable::remove_sstable_with_temp_toc(sstring ks, sstring cf, sstring dir, int64
|
||||
return seastar::async([ks, cf, dir, generation, v, f] {
|
||||
const io_error_handler& error_handler = sstable_write_error_handler;
|
||||
auto toc = sstable_io_check(error_handler, file_exists, filename(dir, ks, cf, v, generation, f, component_type::TOC)).get0();
|
||||
|
||||
sstlog.warn("Deleting components of sstable from {}.{} of generation {} that has a temporary TOC", ks, cf, generation);
|
||||
|
||||
// assert that toc doesn't exist for sstable with temporary toc.
|
||||
assert(toc == false);
|
||||
|
||||
@@ -2972,8 +2975,6 @@ sstable::remove_sstable_with_temp_toc(sstring ks, sstring cf, sstring dir, int64
|
||||
// assert that temporary toc exists for this sstable.
|
||||
assert(tmptoc == true);
|
||||
|
||||
sstlog.warn("Deleting components of sstable from {}.{} of generation {} that has a temporary TOC", ks, cf, generation);
|
||||
|
||||
for (auto& entry : sstable::_component_map) {
|
||||
// Skipping TemporaryTOC because it must be the last component to
|
||||
// be deleted, and unordered map doesn't guarantee ordering.
|
||||
|
||||
Reference in New Issue
Block a user